diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | i386/intel/pmap.c | 6 |
2 files changed, 11 insertions, 0 deletions
@@ -1,3 +1,8 @@ +2007-07-04 Samuel Thibault <samuel.thibault@ens-lyon.org> + + * i386/intel/pmap.c (pmap_enter): Use INTEL_PTE_NCACHE|INTEL_PTE_WTHRU + when cpu >= 486 and physical address is after memory end. + 2007-06-23 Samuel Thibault <samuel.thibault@ens-lyon.org> * i386/i386/trap.c (user_trap): Read faulting linear address before diff --git a/i386/intel/pmap.c b/i386/intel/pmap.c index 1043daa..7746c61 100644 --- a/i386/intel/pmap.c +++ b/i386/intel/pmap.c @@ -1506,6 +1506,9 @@ Retry: template |= INTEL_PTE_USER; if (prot & VM_PROT_WRITE) template |= INTEL_PTE_WRITE; + if (machine_slot[cpu_number()].cpu_type >= CPU_TYPE_I486 + && pa >= phys_last_addr) + template |= INTEL_PTE_NCACHE|INTEL_PTE_WTHRU; if (wired) template |= INTEL_PTE_WIRED; PMAP_UPDATE_TLBS(pmap, v, v + PAGE_SIZE); @@ -1615,6 +1618,9 @@ Retry: template |= INTEL_PTE_USER; if (prot & VM_PROT_WRITE) template |= INTEL_PTE_WRITE; + if (machine_slot[cpu_number()].cpu_type >= CPU_TYPE_I486 + && pa >= phys_last_addr) + template |= INTEL_PTE_NCACHE|INTEL_PTE_WTHRU; if (wired) template |= INTEL_PTE_WIRED; i = ptes_per_vm_page; |