我正在尝试在VirtualBox 4.3.6上启动Apple的XNU内核(sources available here)的分支。一旦XNU从引导程序获得控制权,VirtualBox就会中止VM的执行,因为VM中存在致命的硬件异常。
对VirtualBox日志(available here)的调查揭示了崩溃的原因是PDPTE的损坏。我已经将崩溃追踪到these source lines(请原谅可疑的语法着色)。这些行从their definitions加载PDPTE。我在加载的数据中看不到问题。有没有人有任何指示?
答案 0 :(得分:0)
据我所知,问题是VirtualBox本身崩溃了。
在这种情况下,当时在虚拟机内运行的代码可能完全正确(例如,碰巧触发VirtualBox代码中的错误的完全正确的XNU代码)。
如果虚拟机内部运行的代码崩溃,那么您最终将在虚拟机内运行异常处理程序,VirtualBox本身将继续运行。
当然,两者都可能同时发生。例如,XNU代码中的一个错误,它触发了VirtualBox代码中的错误。出于这个原因,我强烈建议在不同的模拟器中尝试XNU(以确定问题是XNU还是VirtualBox或两者)。