Changeset View
Changeset View
Standalone View
Standalone View
head/sys/i386/i386/pmap.c
Show First 20 Lines • Show All 3,795 Lines • ▼ Show 20 Lines | else if ((origpte & PG_NX) != 0 || (newpte & PG_NX) == 0) { | ||||
* This PTE change does not require TLB invalidation. | * This PTE change does not require TLB invalidation. | ||||
*/ | */ | ||||
goto unchanged; | goto unchanged; | ||||
} | } | ||||
#endif | #endif | ||||
if ((origpte & PG_A) != 0) | if ((origpte & PG_A) != 0) | ||||
pmap_invalidate_page_int(pmap, va); | pmap_invalidate_page_int(pmap, va); | ||||
} else | } else | ||||
pte_store(pte, newpte); | pte_store_zero(pte, newpte); | ||||
unchanged: | unchanged: | ||||
#if VM_NRESERVLEVEL > 0 | #if VM_NRESERVLEVEL > 0 | ||||
/* | /* | ||||
* If both the page table page and the reservation are fully | * If both the page table page and the reservation are fully | ||||
* populated, then attempt promotion. | * populated, then attempt promotion. | ||||
*/ | */ | ||||
▲ Show 20 Lines • Show All 286 Lines • ▼ Show 20 Lines | pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, vm_page_t m, | ||||
if ((m->oflags & VPO_UNMANAGED) == 0) | if ((m->oflags & VPO_UNMANAGED) == 0) | ||||
newpte |= PG_MANAGED; | newpte |= PG_MANAGED; | ||||
#ifdef PMAP_PAE_COMP | #ifdef PMAP_PAE_COMP | ||||
if ((prot & VM_PROT_EXECUTE) == 0 && !i386_read_exec) | if ((prot & VM_PROT_EXECUTE) == 0 && !i386_read_exec) | ||||
newpte |= pg_nx; | newpte |= pg_nx; | ||||
#endif | #endif | ||||
if (pmap != kernel_pmap) | if (pmap != kernel_pmap) | ||||
newpte |= PG_U; | newpte |= PG_U; | ||||
pte_store(pte, newpte); | pte_store_zero(pte, newpte); | ||||
sched_unpin(); | sched_unpin(); | ||||
return (mpte); | return (mpte); | ||||
} | } | ||||
/* | /* | ||||
* Make a temporary mapping for a physical address. This is only intended | * Make a temporary mapping for a physical address. This is only intended | ||||
* to be used for panic dumps. | * to be used for panic dumps. | ||||
*/ | */ | ||||
▲ Show 20 Lines • Show All 2,085 Lines • Show Last 20 Lines |