请教:这里的缺页处理代码具体是做什么的阿?
/* User mode accesses just cause a SIGSEGV */if (error_code & 4) {
tsk->thread.cr2 = address;
tsk->thread.error_code = error_code;
tsk->thread.trap_no = 14;
info.si_signo = SIGSEGV;
info.si_errno = 0;
/* info.si_code has been set above */
info.si_addr = (void *)address;
force_sig_info(SIGSEGV, &info, tsk);
return;
}
关键是这几个赋值,为什么是这样呢?
页:
[1]