上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 41 下一页
摘要: linux memory barrier barrier() macro 2). 关于barrier()宏,jkl大师是这么说的: CPU越过内存屏障后,将刷新自己对存储器的缓冲状态。这条语句实际上不生成任何代码,但可使gcc在 barrier()之后刷新寄存器对变量的分配。 也就是说,barrie 阅读全文
posted @ 2021-11-27 13:10 aspirs 阅读(77) 评论(0) 推荐(0)
摘要: arm-linux-gnueabihf、aarch64-linux-gnu等ARM交叉编译GCC的区别 link: https://blog.csdn.net/Namcodream521/article/details/88379307 阅读全文
posted @ 2021-11-19 12:22 aspirs 阅读(586) 评论(0) 推荐(0)
摘要: ARM C函数调用堆栈入栈顺序 堆栈指针是在函数一开头就确认了的,比如如下的xxx_func.cfi函数,它在函数的开头就将sp自减了0x170,这个0x170是xxx_fun.cfi函数局部变量total size + 需要入栈的reg total size 然后会设置x29(fp,栈底指针),这 阅读全文
posted @ 2021-11-11 22:21 aspirs 阅读(826) 评论(0) 推荐(0)
摘要: syscall SYSCALL_DEFINE*()实现 include/linux/syscalls.h #define SYSCALL_DEFINE1(name, ...) SYSCALL_DEFINEx(1, _##name, __VA_ARGS__) #define SYSCALL_DEFIN 阅读全文
posted @ 2021-11-10 14:22 aspirs 阅读(546) 评论(0) 推荐(0)
摘要: ko kallsyms 在layout_symtab()里确认哪些symbol(symbol包括函数与变量)是属于core_layout里的,将这些属于core_layout的symbol的string长度累加起来,然后会将这个累加长度加到core_layout.size,到时也给它分配内存空间。 阅读全文
posted @ 2021-11-08 21:39 aspirs 阅读(103) 评论(0) 推荐(0)
摘要: elf文件结构解析 elf文件格式,许多文件类型都是elf格式,比如.ko、.so、.o,vmlinux也是这种格式 如下图是elf文件结构: 查看是否为elf文件,使用file cmd file slub_debug_test_module.ko slub_debug_test_module.ko 阅读全文
posted @ 2021-11-07 23:04 aspirs 阅读(1511) 评论(0) 推荐(0)
摘要: ko module加载flow insmod ko都是在user space发起的,通过系统调用finit_module或者init_module来加载ko 其中finit_module系统调用是user space只传ko file的fd,kernel里根据这个fd直接读ko,将ko读到内存上来, 阅读全文
posted @ 2021-11-07 22:35 aspirs 阅读(430) 评论(0) 推荐(0)
摘要: 链接脚本(link script)语法 语法 1. 定义一个section,如下是define一个.init.data section *(.init.rodata.* .init.bss)最前面的*是通配符,表示所有.o文件的(.init.rodata.*、.init.bss section) . 阅读全文
posted @ 2021-11-07 20:45 aspirs 阅读(1098) 评论(0) 推荐(0)
摘要: ARM kernel panic misc Code <0>[22925.503588] Code: 05b1a000 ffffffc0 00000000 00000000 (00000ee3) code表示kernel panic时PC地址指向的地址里的数据,用括号括起来是PC地址指向的地址的in 阅读全文
posted @ 2021-11-05 15:48 aspirs 阅读(59) 评论(0) 推荐(0)
摘要: linux signal framework 信号产生&处理流程 信号产生(signal generate) 信号的产生可以是user space通过kill等系统调用给某个线程(目标线程)发送某个signal,此时signal generate的流程如下: 1. 根据pid确定对应的task_st 阅读全文
posted @ 2021-11-03 16:12 aspirs 阅读(188) 评论(0) 推荐(0)
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 41 下一页