【发布时间】:2015-12-01 15:23:32
【问题描述】:
我正在阅读有关 A20 行 http://wiki.osdev.org/A20_Line 的信息,这似乎表明默认情况下禁用 A20 行。在Pentium上,如果0xFFFFFFF0是硬复位后立即放出的地址,是否意味着A20线默认开启?
【问题讨论】:
我正在阅读有关 A20 行 http://wiki.osdev.org/A20_Line 的信息,这似乎表明默认情况下禁用 A20 行。在Pentium上,如果0xFFFFFFF0是硬复位后立即放出的地址,是否意味着A20线默认开启?
【问题讨论】:
据我了解,OP 中链接的文章有点误导,应该说 A20 线默认情况下是禁用的从操作系统/引导加载程序的角度来看。这将允许它默认启用,并让固件在启动期间禁用它。
该文章中的external link 支持这一点。 (强调)
现在
我们为什么要担心这些废话?因为默认情况下 A20 地址线在启动时禁用,所以操作系统必须找出如何启用它,这可能很重要,因为详细信息取决于所使用的芯片组。
由于本文的其他部分使用“重置”一词,我的解释是,这特指它是作为引导过程的一部分完成的。
在文章的后面,它特别提到了在重置期间禁用 A20 的影响。
A20 和重置
如果(在保护模式下)A20 被禁用,奇数兆字节将无法访问。重置后,从内存顶部开始执行:286 上的 0xffffff0 和 386 及更高版本上的 0xfffffff0。禁用 A20 后,这将变为 0xeffff0 或 0xffeffff0,并且机器可能会崩溃,那里没有映射内存。
【讨论】: