在文件http://lxr.linux.no/#linux+v3.9.4/arch/x86/mm/fault.c#L29中,有一些关于页面错误代码的信息:
Page fault error code bits:
bit 0 == 0: no page found 1: protection fault
bit 1 == 0: read access 1: write access
bit 2 == 0: kernel-mode access 1: user-mode access
bit 3 == 1: use of reserved bit detected
bit 4 == 1: fault was an instruction fetch在"bit 3“"1:使用已检测到的保留位”的情况下,哪种情况可以使内核将此位设置为1?有关于它的文件吗?
谢谢
发布于 2013-06-10 08:27:08
数据结构中的保留位是指具有某种特殊意义并在内部使用的比特。
如果您的代码修改了分页相关数据结构中的任何保留位,则将在示例中设置错误代码的第3位。例如,在4 Mb页中,x86位21到12位上的目录条目被保留给系统使用,并且覆盖它们是错误的。
https://stackoverflow.com/questions/17019605
复制相似问题