【发布时间】:2014-05-27 21:50:56
【问题描述】:
我正在尝试在系统仿真模式下分析 qemu。目标是能够识别页面错误,并将它们分类为数据页面错误或代码页面错误。
在研究了 x86_64 架构(这是正在模拟的)之后,我无法区分代码页和数据页。 MMU 是否区分它们?
【问题讨论】:
我正在尝试在系统仿真模式下分析 qemu。目标是能够识别页面错误,并将它们分类为数据页面错误或代码页面错误。
在研究了 x86_64 架构(这是正在模拟的)之后,我无法区分代码页和数据页。 MMU 是否区分它们?
【问题讨论】:
当页面错误发生时,使用处理器压入堆栈的错误代码来确定错误的原因。这在图 6-9 中Software Developers Manual 的第 3A 卷中进行了描述。具体来说,I/D 位指示是否是指令取指导致了故障。
-- 编辑--
CPU 在标准异常堆栈帧之后将错误代码推送到主管堆栈。有关堆栈帧的图片,请参见程序员参考中的图 6-8。当控制权转移到您的处理程序时,ESP 会指向错误代码。
【讨论】: