在文件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的可能情况?有没有关于它的文件?
谢谢
答案 0 :(得分:2)
保留位是具有某些特殊含义并在内部使用的位。
如果代码修改了与分页相关的数据结构中的任何保留位,则将设置示例中的错误代码的第3位。例如。在x86位21到12上的4 Mb页目录条目中保留供系统使用并覆盖它们是错误的。