*参照元 [#ab908856] #backlinks *説明 [#z962709e] -パス: [[linux-2.6.33/arch/arm/mm/fault.c]] -FIXME: これは何? --説明 **引数 [#t3574239] -struct mm_struct *mm -- --[[linux-2.6.33/mm_struct]] -unsigned long addr -- -unsigned int fsr -- -struct pt_regs *regs -- --[[linux-2.6.33/pt_regs]] **返り値 [#fa1b4895] -なし **参考 [#r7e0f279] *実装 [#s88d8ebd] /* * Oops. The kernel tried to access some page that wasn't present. */ static void __do_kernel_fault(struct mm_struct *mm, unsigned long addr, unsigned int fsr, struct pt_regs *regs) { /* * Are we prepared to handle this kernel fault? */ if (fixup_exception(regs)) return; - --[[linux-2.6.33/fixup_exception()]] /* * No handler, we'll have to terminate things with extreme prejudice. */ bust_spinlocks(1); - --[[linux-2.6.33/bust_spinlocks()]] printk(KERN_ALERT "Unable to handle kernel %s at virtual address %08lx\n", (addr < PAGE_SIZE) ? "NULL pointer dereference" : "paging request", addr); - --[[linux-2.6.33/printk()]] --[[linux-2.6.33/KERN_ALERT]] --[[linux-2.6.33/PAGE_SIZE]] show_pte(mm, addr); - --[[linux-2.6.33/show_pte()]] die("Oops", regs, fsr); - --[[linux-2.6.33/die()]] bust_spinlocks(0); do_exit(SIGKILL); - --[[linux-2.6.33/do_exit()]] --[[linux-2.6.33/SIGKILL]] } *コメント [#yf413670]