diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2011-02-27 01:25:22 +0100 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2011-02-27 01:25:22 +0100 |
commit | 0744feb692857f4262f321305a19651f7abe5e7a (patch) | |
tree | c6e5b7e399b93604fb585aa61a25b602bb735173 | |
parent | dd687a62dfb81ec125f41a257229f58d80b7044d (diff) |
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.
-rw-r--r-- | i386/intel/pmap.c | 3 |
1 files changed, 3 insertions, 0 deletions
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 */ ) { /* |