使用BIOS中断获取内存映射0x15功能0xE820

时间:2015-03-10 22:29:37

标签: memory

我已经看过关于记忆的this教程,我有一个问题。我注意到使用BIOS INT 0x15函数0xE820获取内存映射的代码检查列表是否是一个条目长。我想知道为什么列表应该是一个条目长。我知道有些BIOS不支持这种中断,但是还不足以检查EAX = SMAP吗?

1 个答案:

答案 0 :(得分:0)

我把这个问题通过电子邮件发送给Benjamin David Lunt,他回答说:

  

过去有很多关于alt.os.development的讨论   关于这个确切的主题。

     

甚至已经进行了一些测试以确定该测试是否足够。

     

来发现,某些BIOS中有一些错误,你不能   依靠那个测试。

     

最近,大多数BIOS制造商都会编写适用于Windows的代码   或Linux及其变体。如果它适用于那些平台,他们   不再做测试了。例如,Windows仅检查EBX   零,然后他们甚至不打扰制作EAX = SMAP。

     

因此,您应该测试所有条件,以便它适用于所有条件   BIOS”。