共 98 篇文章 |
|
最近在向Linux内核提交一些驱动程序,在提交的过程中,发现自己的代码离Linux内核的coding style要求还是差很多。如果去看drivers/staging下的代码,就会发现很多驱动程序都没有严格遵守内核的coding style,而且在很多驱动程序的TODO文件里,都会把"checkpatch.pl fixes"作为自己的目标之一(checkpatch.pl是用来检查代码是否符合co... 阅74 转1 评0 公众公开 16-10-01 04:05 |
#ifdef CONFIG_FLAT_NODE_MEM_MAP.mem_map = NODE_DATA(0)->node_mem_map;mem_map -= (pgdat->node_start_pfn - ARCH_PFN_OFFSET);#endif /* CONFIG_FLAT_NODE_MEM_MAP */这段代码中有三个宏CONFIG_FLAT_NODE_MEM_MAP、CONFIG_NEED_MULTIPLE_NODES、CONFIG_ARCH_POPULATES_NODE_MAP,所以必须知道这些宏的定义情况才能很好的阅读内核代码... 阅629 转0 评0 公众公开 15-06-23 09:45 |
linux kernel coding styleLinux kernel coding styleThis is a short document describing the preferred coding style for thelinux kernel. Coding style is very personal, and I won''t _force_ myviews on anybody, but this is what goes for anything that I have to beable to maintain, and I''d prefer it for mos... 阅71 转0 评0 公众公开 15-04-19 12:26 |
malloc crash When you crash in malloc() the cause and effect are often widely separated in time. Almost without exceptiona malloc() crash is the result of a trashed heap (trashed that is by you). The top causes for this:3. Failing to check the return value from realloc() to see if the data was actually reallocate... 阅46 转0 评0 公众公开 14-05-30 21:37 |
很多同学接触Linux不多,对Linux平台的开发更是一无所知。没折腾可以说是学不好Linux的,鸟哥说过,要真正了解Linux的分区机制,对LVM使用相当熟练,没有20次以上的Linux装机经验是积累不起来的,所以一定不要怕折腾。正如你所见,Linux发行版并非Linux,Linux仅是指操作系统的内核,作为科班出生的你不要让我解释,我也没时间。这本书看完后你... 阅176 转5 评0 公众公开 14-04-28 11:05 |
嵌入式linux中文站发现很多LINUX初学者在学习linux图形方面的知识时会遇到一些概念,如:X、X11、 Xfree86、WM、KDE、GNOME、QT、QT/E、Qtopia、DirectFB、Framebuffer、显卡加速驱动等等。七、QT、QT/E、Qtopia.QT 泛指QT的所有桌面版本,如:QT/X11,QT Windows,Qt Mac等。通过上面8个方面,介绍了X、X11、Xfree86、WM、KDE、GNOME、QT、QT/... 阅268 转3 评0 公众公开 13-09-25 03:48 |
kernel memory leak detect.$ cat /sys/kernel/debug/kedr_leak_check/infoTarget module: "...", Memory allocations: 3Possible leaks: 2Unallocated frees: 0.The file possible_leaks from /sys/kernel/debug/kedr_leak_check/ provides information (address, size, call stack) about each leaked memory block.Finally, you c... 阅254 转1 评0 公众公开 13-09-20 10:41 |
Ubuntu 12.04下编译C-Kermit 9.0.302Ubuntu 12.04下编译C-Kermit 9.0.302.\ else if test -f /usr/lib64/libcurses.so || \ test -f /usr/lib/libcurses.a || \ test -f /usr/lib/libcurses.so;if test -f /usr/lib64/libncurses.so || \ test -f /usr/lib/libncurses.a || \ test -f //lib/i386-linux-gnu/libncurses... 阅171 转0 评0 公众公开 13-07-20 03:52 |
然后将原来的用户空间堆栈(SS, ESP)、EFLAGS、返回地址(CS, EIP)压入新的堆栈。此时,系统空间的堆栈和CPU在第1步处理完之后,交给 linux 内核时的情形是一样的,也就是保存着用户空间的返回地址(CS、EIP)、EFLAGS、用户空间的堆栈(SS、ESP)。与用户抢占相对应的是内核抢占,在内核2.6版本以前并不支持内核抢占,现在我们用的默认一般... 阅111 转0 评0 公众公开 13-07-15 11:24 |
线程可以操作系统内核调度的内核线程,如Win32线程;内核在主动进行进程调度时,可以自己设置将要投入运行进程的sp0为TSS段中的sp0,则该用户进程在进入内核后使用的是它自身的系统堆栈,但如果cpu运行在某一用户进程时,而为另一用户进程服务的外部中断发生了,在进入内核后使用的是当前用户进程的系统堆栈,还是中断服务的另一用户进程的系统堆栈呢... 阅1922 转6 评0 公众公开 13-07-15 09:26 |