我正在Intel Atom处理器上编写一个LinuxV3.2内核模块(x86_64,2核)。我想禁用一个特定的IRQ号,但是在Linux上这样做有困难。
我是双引导MS-DOS,通过直接与8259 PIC芯片通信,我可以很容易地禁用英特尔语法x86程序集中的中断:
CLI ; disable all interrupts
MOV DX, 0x21 ; set 8259 ioport address
IN AL, DX ; store current interrupt mask in AL
AND AL, 0xDF ; m
我想了解当处理器产生内核代码的机会并执行维护和调节工作时的中断机制。我所知道的是,计时器中断为操作系统提供了这个功能。
1)我想知道什么是相关的中断号,以及在Linux情况下调用的第一个OS例程是什么。如果我知道这个.的文件和函数名,那就太好了。
对于Linux,scheduler_tick是用来调度新任务的内核函数,但是未知的是谁调用了scheduler_tick及其父函数?
2)在Linux中还有其他的中断调用scheduler_tick吗?如果有的话,他们是哪一个?
/*
This function gets called by the timer code, with HZ f