我已经看过关于记忆的this教程,我有一个问题。我注意到使用BIOS INT 0x15函数0xE820获取内存映射的代码检查列表是否是一个条目长。我想知道为什么列表应该是一个条目长。我知道有些BIOS不支持这种中断,但是还不足以检查EAX = SMAP吗?
答案 0 :(得分:0)
我把这个问题通过电子邮件发送给Benjamin David Lunt,他回答说:
过去有很多关于alt.os.development的讨论 关于这个确切的主题。
甚至已经进行了一些测试以确定该测试是否足够。
来发现,某些BIOS中有一些错误,你不能 依靠那个测试。
最近,大多数BIOS制造商都会编写适用于Windows的代码 或Linux及其变体。如果它适用于那些平台,他们 不再做测试了。例如,Windows仅检查EBX 零,然后他们甚至不打扰制作EAX = SMAP。
因此,您应该测试所有条件,以便它适用于所有条件 BIOS”。