From 0744feb692857f4262f321305a19651f7abe5e7a Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 27 Feb 2011 01:25:22 +0100 Subject: Fix for kdb watch command * i386/intel/pmap.c (pmap_remove_range): Do not update pvlist for kernel_map. [MACH_KBD] (pmap_enter): Allow physical memory remapping. --- i386/intel/pmap.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/i386/intel/pmap.c b/i386/intel/pmap.c index f5df8a4..a12d2ae 100644 --- a/i386/intel/pmap.c +++ b/i386/intel/pmap.c @@ -1362,6 +1362,7 @@ void pmap_remove_range(pmap, va, spte, epte) * Remove the mapping from the pvlist for * this physical page. */ + if (pmap != kernel_pmap) { register pv_entry_t pv_h, prev, cur; @@ -1752,8 +1753,10 @@ if (pmap_debug) printf("pmap(%x, %x)\n", v, pa); if (pmap == PMAP_NULL) return; +#if !MACH_KDB if (pmap == kernel_pmap && (v < kernel_virtual_start || v >= kernel_virtual_end)) panic("pmap_enter(%p, %p) falls in physical memory area!\n", v, pa); +#endif if (pmap == kernel_pmap && (prot & VM_PROT_WRITE) == 0 && !wired /* hack for io_wire */ ) { /* -- cgit v1.2.3