如果默认禁用A20线路,如何在0xFFFFFFF0访问BIOS ROM?

时间:2015-09-05 16:48:00

标签: bios pc rom x86

我正在阅读有关A20行http://wiki.osdev.org/A20_Line的内容,这似乎表明A20行默认情况下处于禁用状态。在Pentium上,如果0xFFFFFFF0是硬复位后立即输出的地址,是否意味着A20线路默认启用?

1 个答案:

答案 0 :(得分:4)

根据我的理解,OP中链接的文章有点误导,应该说从操作系统/引导程序的角度来看,默认情况下禁用A20行。这将允许默认启用它,并让固件在启动时禁用它。

该文章的external link支持此功能。 (重点补充)

  

     

为什么我们要担心这个废话?因为默认情况下A20地址线在启动时被禁用,所以操作系统必须找到如何启用它,这可能是非常重要的,因为细节取决于所使用的芯片组。

由于本文的其他部分使用术语" reset",我的解释是,这特别指的是它是作为启动过程的一部分完成的。

在文章的下面,它特别提到了在重置过程中禁用A20的效果。

  

A20并重置

     

如果(在保护模式下)A20被禁用,则无法访问奇数兆字节。复位后,执行从内存顶部开始:286上的0xfffff0和386及更高版本上的0xfffffff0。禁用A20后,这将变为0xeffff0或0xffeffff0,机器可能会崩溃,没有映射到那里。