內(nèi)核符號(hào)列表:
cat /proc/kallsyms
cat /proc/iomem
導(dǎo)出內(nèi)核符號(hào):
EXPORT_SYMBOL(sym)
1、缺省情況下,Linux2.6內(nèi)核中默認(rèn)不導(dǎo)出所有的符號(hào),即在2.6的內(nèi)核中沒(méi)有這個(gè)宏EXPORT_NO_SYMBOLS
2、如果想要自己指定導(dǎo)出哪些變量或函數(shù),先在Makefile中使用-DEXPORT_SYMTAB,然后在源文件中使用EXPORT_SYMBOL(xxx);導(dǎo)出之
echo 8 > /proc/sys/kernel/printk
查看中斷:
cat /proc/interrupts
下半部機(jī)制
1.tasklet
#define DECLARE_TASKLET(name, func, data) \
struct tasklet_struct name = { NULL, 0, ATOMIC_INIT(0), func, data }
2. 工作隊(duì)列
struct work_struct my_work; //定義一個(gè)工作隊(duì)列
void my_work_func(unsigned long); //定義一個(gè)處理函數(shù)
在中斷處理函數(shù),tasklet和內(nèi)核定時(shí)器等非進(jìn)程上下文不能阻塞.