【发布时间】:2014-04-02 13:39:10
【问题描述】:
对不起,愚蠢的问题,但我不明白如何在保护模式(或长模式)下将 IRQ 映射到中断向量。我发现的所有信息都是实模式(http://wiki.osdev.org/Interrupts)。在保护模式下,向量 0x8-0xf 用于异常,而不用于 IRQ。那么,IRQ 在哪里呢?
编辑:我知道 IDT(和 GDT ...)和本地 APIC(本地 x2APIC)
编辑:很好,我找到了一些线索。 IRQ 可以通过 I/O APIC 映射。但是,关于 I/O APIC 的数据表是 1996 年的!!我找不到更新的。
【问题讨论】:
-
You suck at searching。真的。它链接在 APIC 的 Wikipedia 页面上。另外,您认为 IOAPIC 与原始版本相比有多大变化?为什么还要进一步发展?这些天都是 MSI,IOAPIC 只需要管理遗留中断(这些中断很缓慢,但肯定会从人类记忆中消失)。 OSDev Wiki 上也有 IOAPIC 寄存器的准确描述。你还需要什么?
-
请记住,OSDev 中没有没有勺子喂食。 spoonfeeding 不仅是指以代码的形式为您提供解决方案 - 它还指通过数据表的链接提供解决方案。当然,当您需要一些晦涩的东西并且几乎没有人使用时,您会在寻找数据表时获得帮助,但在寻找维基百科上链接的数据表时(并且很容易通过谷歌搜索 - 真的,我给的链接您是“IOAPIC 数据表”的第一个点击者),或者在教程和 wiki 文章中进行了全面描述。
-
另外:你能告诉我们你花了多长时间看吗?编辑的数量和特征清楚地表明您在询问之前没有被卡住。
-
感谢您的回复。现在,我知道我想要什么了。
-
而且我不想知道在哪里可以找到代码,我想知道方法。