我在 xv6-rev6 源代码中找不到页面错误处理程序。是我错过了还是根本没有页面错误处理程序?我确实在 Traps.h(工作表上的第 2817 行)中找到了“#define T_PGFLT 14//page failure ”,但除了第 2817 行之外,我在任何地方都找不到它。
最佳答案
异常处理从vector14()
开始,它在vector.S中定义,由this Perl script生成。 .
vector14()
然后将控制权转移到 alltraps()
,这是所有进一步异常和系统调用处理的公共(public)入口点。
alltraps()
最终调用 C 处理程序 trap()
,它分析事件并调度适当的处理程序(系统调用、I/O、异常)。
trap()
调用 pgfault_handler()
处理页面错误。
关于c - xv6 rev6 页面错误处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12473968/