Linux中断机制内核API¶
__set_irq_handler¶
头文件¶
#include <linux/irq.h>
功能¶
此函数用于为结构体 irq_desc 的字段 handle_irq 重新赋值,handle_irq是其对应的中断处理函数,函数将参数 handle 赋值给字段 handle_irq 。如果传入的参数 handle 为 NULL,函数将用系统自定义的函数 handle_bad_irq()为字段 handle_irq赋值。其中结构体 irq_desc 对应的变量是数组 irq_desc 中下标为参数 irq 的元素。函数还可以完成对结构体 irq_desc 变量的 name 字段的赋值,赋值为参数 name 的值。
__tasklet_hi_schedule¶
头文件¶
#include <linux/interrupt.h>
功能¶
将参数 t 代表的软中断添加到中断描述符表中。
__tasklet_schedule¶
头文件¶
#include <linux/interrupt.h>
功能¶
此函数用于将一个 tasklet_struct 结构体代表的软中断添加到 tasklet_vec 队列的尾部,并等待获取CPU资源,被调度执行。tasklet_vec是一个保存软中断的链表,与链表 tasklet_hi_vec中保存的软中断相比,其保存的软中断优先级较低。
disable_irq¶
头文件¶
#include <linux/interrupt.h>
功能¶
disable_irq_nosync¶
头文件¶
#include <linux/interrupt.h>
功能¶
disable_irq_wake¶
头文件¶
#include <linux/interrupt.h>
功能¶
用于在实现过程中调用函数 set_irq_wake()
enable_irq¶
头文件¶
#include <linux/interrupt.h>
功能¶
enable_irq_wake¶
头文件¶
#include <linux/interrupt.h>
功能¶
free_irq¶
头文件¶
#include <linux/interrupt.h>
kstat_irqs_cpu¶
头文件¶
#include <linux/kernel_stat.h>
功能¶
remove_irq¶
头文件¶
#include <linux/irq.h>
功能¶
request_irq¶
头文件¶
#include <linux/interrupt.h>