我正在阅读有关 A20 线的信息http://wiki.osdev.org/A20_Line,这似乎表明 A20 线默认情况下处于禁用状态。在Pentium上,如果硬复位后立即输出的地址为0xFFFFFFF0,是否意味着A20线默认启用?
根据我的理解,OP 中链接的文章有点误导,应该说对于传统 BIOS MBR 引导扇区, A20 线默认被禁用。这将允许它在默认情况下启用,并且如果引导传统的 IBM-PC 兼容引导扇区,则固件会在引导期间禁用它。(而不是现代 UEFI 启动,它会在相当早地切换到 CPU 后将 CPU 保持在长模式下。)
该文章的外部链接支持这一点。(强调已添加)
展示
为什么我们要担心这些废话呢?因为默认情况下,A20 地址线在启动时被禁用,因此操作系统必须找出如何启用它,这可能很重要,因为详细信息取决于所使用的芯片组。
由于本文的其他部分使用术语“重置”,我的解释是,这特指它是作为引导过程的一部分完成的。
在文章的后面,它特别提到了在重置期间禁用 A20 的效果。
A20 并重置
如果(在保护模式下)A20 被禁用,则奇数兆字节将无法访问。复位后,从内存顶部开始执行:286 上为 0xfffff0,386 及更高版本上为 0xfffffff0。禁用 A20 后,这将变为 0xeffff0 或 0xffeffff0,机器可能会崩溃,因为没有内存映射到那里。
| 归档时间: |
|
| 查看次数: |
412 次 |
| 最近记录: |