go back to the first version of the pte/pde dance now that kvtopte()
has been changed to consisently return a pointer into the recursive page table mapping.
This commit is contained in:
parent
2a95fc3517
commit
4fa4734937
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: db_disasm.c,v 1.25 2000/12/05 10:45:09 jdolecek Exp $ */
|
||||
/* $NetBSD: db_disasm.c,v 1.26 2000/12/06 03:20:35 chs Exp $ */
|
||||
|
||||
/*
|
||||
* Mach Operating System
|
||||
|
@ -1096,21 +1096,14 @@ db_disasm(loc, altfmt)
|
|||
/*
|
||||
* Don't try to disassemble the location if the mapping is invalid.
|
||||
* If we do, we'll fault, and end up debugging the debugger!
|
||||
* in a LARGEPAGES kernel, "pte" is really the pde and "pde" is
|
||||
* really the entry for the pdp itself.
|
||||
*/
|
||||
if ((vaddr_t)loc >= VM_MIN_KERNEL_ADDRESS)
|
||||
pte = kvtopte((vaddr_t)loc);
|
||||
else
|
||||
pte = vtopte((vaddr_t)loc);
|
||||
|
||||
/*
|
||||
* pte is normally in user address space, but may also be in kernel
|
||||
* address space for LARGEPAGES kernel.
|
||||
*/
|
||||
if ((vaddr_t)pte >= VM_MIN_KERNEL_ADDRESS)
|
||||
pde = kvtopte((vaddr_t)pte);
|
||||
else
|
||||
pde = vtopte((vaddr_t)pte);
|
||||
|
||||
pde = vtopte((vaddr_t)pte);
|
||||
if ((*pde & PG_V) == 0 || (*pte & PG_V) == 0) {
|
||||
db_printf("invalid address\n");
|
||||
return (loc);
|
||||
|
|
Loading…
Reference in New Issue