ChinaUnix.net
相关文章推荐:

linux 中断处理函数disableirq

目前有需求要实现中断处理函数的hook,基本思路如下: 1:通过对文件/proc/kallsyms的处理,找到中断处理函数的函数地址,比如键盘中断gpio_keys_isr的函数地址是0xc02c7cec。 2:修改该函数地址的前三条指令为0xe59ff000, 0xe1a08008, (int)funcHook,实现函数跳转,跳到我的自定义函数funcHook。 3:在我的自定义函数里边: asmlinkage void Hook_IRQ() { printk("debug here\r\n"); // 下边三行是恢复中断处理函数的前...

by lijojjay - 内核源码 - 2012-12-26 18:13:08 阅读(1918) 回复(6)

相关讨论

如题,小弟发现2.6.32内核里面所用的软中断类型有6种: enum { HI_SOFTIRQ=0, TIMER_SOFTIRQ, NET_TX_SOFTIRQ, NET_RX_SOFTIRQ, SCSI_SOFTIRQ, TASKLET_SOFTIRQ } 其中网络占用了两种: NET_TX_SOFTIRQ, NET_RX_SOFTIRQ,,看过linux网络代码的人应该都熟悉。我现在需要自己做一个硬件驱动程序,由于数据量大,为了提高CPU的执行效率,希望能自己注册一个软中断函数使用,但是我发现6中类型的中...

by yejin1999 - 内核源码 - 2010-09-08 15:52:46 阅读(1875) 回复(0)

.section .init.rodata,"a" ENTRY(interrupt) .text .p2align 5 .p2align CONFIG_X86_L1_CACHE_SHIFT ENTRY(irq_entries_start) RING0_INT_FRAME vector=FIRST_EXTERNAL_VECTOR .rept (NR_VECTORS-FIRST_EXTERNAL_VECTOR+6)/7 .balign 32 .rept 7 .if vector < NR_VECTORS .if vector <> FIRST_EXTERNAL_VECTOR CFI_ADJUST_CFA_OFFSET -4 .endif 1: pushl $(~vector+0x80) /* Note: always in signed byte ...

by liujunwei1234 - 内核源码 - 2012-08-26 14:40:03 阅读(2723) 回复(1)

大家好,我使用perror函数输出错误信息,但是该函数只能够输出一个字符串,我想输出接收到的数据长度,是用什么函数啊, 注:没有错误日志文件,且标准输出被屏蔽,只能输出标准错误输出,我Google没找到合适的函数,请教一下,

by tianhailong - C/C++ - 2010-12-15 09:00:23 阅读(3540) 回复(8)

alarm(设置信号传送闹钟) 相关函数 signal,sleep 表头文件 #include 定义函数 unsigned int alarm(unsigned int seconds); 函数说明 alarm()用来设置信号SIGALRM在经过参数seconds指定的秒数后传送给目前的进程。如果参数seconds 为0,则之前设置的闹钟会被取消,并将剩下的时间返回。 返回值返回之前闹钟的剩余秒数,如果之前未设闹钟则返回0。 范例 #include #include void handler() { printf("hello\n"); } main() { int i...

by wangchenxicool - Linux文档专区 - 2010-02-23 08:58:00 阅读(1209) 回复(0)

alarm(设置信号传送闹钟) 相关函数 signal,sleep 表头文件 #includeunistd.h> 定义函数 unsigned int alarm(unsigned int seconds); 函数说明 alarm()用来设置信号SIGALRM在经过参数seconds指定的秒数后传送给目前的进程。如果参数seconds 为0,则之前设置的闹钟会被取消,并将剩下的时间返回。 返回值返回之前闹钟的剩余秒数,如果之前未设闹钟则返回0。 范例 #includeunistd.h> #includesignal.h> void handler() { printf("...

by skyily - Linux文档专区 - 2009-09-07 18:31:28 阅读(651) 回复(0)

alarm(设置信号传送闹钟) 相关函数 signal,sleep 表头文件 #include 定义函数 unsigned int alarm(unsigned int seconds); 函数说明 alarm()用来设置信号SIGALRM在经过参数seconds指定的秒数后传送给目前的进程。如果参数seconds 为0,则之前设置的闹钟会被取消,并将剩下的时间返回。 返回值返回之前闹钟的剩余秒数,如果之前未设闹钟则返回0。 范例 #include #include void handler() { printf("hello\n"); } main() { int i...

by mseaspring - Linux文档专区 - 2009-08-09 16:48:04 阅读(626) 回复(0)

alarm(设置信号传送闹钟) 相关函数 signal,sleep 表头文件 #include 定义函数 unsigned int alarm(unsigned int seconds); 函数说明 alarm()用来设置信号SIGALRM在经过参数seconds指定的秒数后传送给目前的进程。如果参数seconds 为0,则之前设置的闹钟会被取消,并将剩下的时间返回。 返回值返回之前闹钟的剩余秒数,如果之前未设闹钟则返回0。 范例 #include #include void handler() { printf("hello\n"); } main() { int i...

by orine - Linux文档专区 - 2008-03-24 12:39:12 阅读(517) 回复(0)

前言:这一章我们讨论一下linux下的信号处理函数. linux下的信号处理函数: 信号的产生 信号的处理 其它信号函数 一个实例 1。信号的产生 linux下的信号可以类比于DOS下的INT或者是Windows下的事件.在有一个信号发生时候相信的信号就会发送给相应的进程.在linux下的信号有以下几个. 我们使用 kill -l 命令可以得到以下的输出结果: 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9)...

by guojkd - Linux文档专区 - 2006-11-06 19:20:32 阅读(637) 回复(0)

[code] 1。信号的产生 linux下的信号可以类比于DOS下的INT或者是Windows下的事件.在有一个信号发生时候相信的信号就会发送给相应的进程.在linux下的信号有以下几个. 我们使用 kill -l 命令可以得到以下的输出结果: 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD 18) SIGCONT 19) ...

by 蓝色键盘 - C/C++ - 2003-06-17 14:01:30 阅读(2548) 回复(1)

1.信号的产生 linux 下的信号可以类比于DOS 下的INT 或者是Windows 下的事件.在有一个信号发生 时候相信的信号就会发送给相应的进程.在linux 下的信号有以下几个. 我们使用 kill -l 命令可以得到以下的输出结果: 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD 18) SIGCONT 19) SIGSTOP...

by fengyetang - Linux文档专区 - 2008-04-16 19:45:01 阅读(669) 回复(0)