摘要:
USB基本概念 USB是主机(host)用来和外围设备进行连接的总线。主机的USB控制器(controller)负责寻味USB设备是否需要发送数据;因此,USB设备在控制器询问之前,无法主动发送数据——USB很容易实现PnP。 下图是USB驱动结构图,在USB控制器之上,还有一个USB core负责 阅读全文
摘要:
1 /* 2 * Finalizes the stack vm_area_struct. The flags and permissions are updated, 3 * the stack is optionally relocated, and some extra space is added. 4 */ 5 6 /** The macro below ... 阅读全文
摘要:
后台处理流程如下: 图中灰色矩形代表的操作也被称为superpass——其内部实现也是更小的pass,对于后台的成功执行十分重要;而白色矩形中的pass则主要为了提高代码的效率。 llc是后台的主要工具,相关命令如下: 与后台相关的代码都在lib目录下以及其子目录CodeGen,MC,TableGe 阅读全文
摘要:
官方的IR是由Instruction类产生的。IR有三种存在形式: 生成bitcode文件: 生成汇编表示: 二者之间可以相互转化: 从bitcode文件中提取某个函数: IR的内存中表示 内存中表示的相关头文件在include/llvm/IR目录下,下面是几个最为重要的类: 可以用IRBuilde 阅读全文
摘要:
Clang将源码转换为LLVM IR 比特码(bitcode)的流程如下: 词法分析(Lexical analysis): 词法分析将代码分解成单词和记号,删除注释,空格,和制表符,根据include/clang/Basic/TokenKinds.def将保留字转化为编译器的内部表示。 此外,词法分 阅读全文
摘要:
OS:win10 pro X64 安装docker ce for Windows,采用Linux container,默认配置。 mv /etc/apt/sources.list /etc/apt/sources.list.bak备份原来的更新源; cat > /etc/apt/sources.li 阅读全文
摘要:
either '$(foo)' or '${foo}' is a valid reference to the variable foo. This special significance of '$' is why you must write '$$' to have the effect o 阅读全文
摘要:
The /var/log/wtmp file records all logins and logouts. The /var/log/lastlog file records when each user last logged in. The /var/log/faillog file reco 阅读全文
摘要:
1 unsigned long copy_from_user(void * to, const void __user * from, unsigned long n) 第一个参数to是内核空间的数据目标地址指针, 第二个参数from是用户空间的数据源地址指针, 第三个参数n是数据的长度。 如果数据 阅读全文