gpt4 book ai didi

linux - x86 架构的 Linux 内核中中断处理代码的位置

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:39:34 25 4
gpt4 key购买 nike

我正在进行研究,试图在 Linux 内核中找到实现中断处理的代码;特别是,我试图找到负责处理系统计时器的代码。

根据 http://www.linux-tutorial.info/modules.php?name=MContent&pageid=86

The kernel treats interrupts very similarly to the way it treats exceptions: all the general >purpose registers are pushed onto the system stack and a common interrupt handler is called. >The current interrupt priority is saved and the new priority is loaded. This prevents >interrupts at lower priority levels from interrupting the kernel while it handles this >interrupt. Then the real interrupt handler is called.

我正在寻找将所有通用寄存器压入堆栈的代码,以及通用中断处理代码。

至少将通用寄存器压入堆栈是独立于体系结构的,因此我正在寻找与 x86 体系结构关联的代码。目前我正在查看内核源代码的 3.0.4 版,但任何版本都可能没问题。我已经开始查看 kernel/irq/handle.c,但我没有看到任何看起来像保存寄存器的东西;看起来它正在调用已注册的中断处理程序。

最佳答案

32 位版本在arch/i386/kernel/entry_32.S,64 位版本在entry_64.S。搜索标记内核入口点的各种 ENTRY 宏。

关于linux - x86 架构的 Linux 内核中中断处理代码的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8995683/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com