【问题标题】:How is BIOS ROM accessible at 0xFFFFFFF0 if A20 line is disabled by default?如果默认禁用 A20 线,如何在 0xFFFFFFF0 处访问 BIOS ROM?
【发布时间】:2015-12-01 15:23:32
【问题描述】:

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

【问题讨论】:

    标签: x86 bios rom pc


    【解决方案1】:

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

    该文章中的external link 支持这一点。 (强调)

    现在

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

    由于本文的其他部分使用“重置”一词,我的解释是,这特指它是作为引导过程的一部分完成的。

    在文章的后面,它特别提到了在重置期间禁用 A20 的影响。

    A20 和重置

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

    【讨论】:

      猜你喜欢
      • 2014-05-29
      • 2017-09-02
      • 1970-01-01
      • 2012-12-03
      • 2014-09-08
      • 1970-01-01
      • 2015-10-06
      • 2012-04-07
      • 2012-12-07
      相关资源
      最近更新 更多