Add some isync()s related to the 64-bit MMU scratch page to avoid race

conditions on its invalidation.
This commit is contained in:
Nathan Whitehorn 2010-12-11 20:29:52 +00:00
parent 0f30ed5bc6
commit 41f15bbbd9
2 changed files with 4 additions and 0 deletions

View File

@ -1114,6 +1114,7 @@ void moea64_set_scratchpage_pa(mmu_t mmup, int which, vm_offset_t pa) {
MOEA64_PTE_CHANGE(mmup, moea64_scratchpage_pte[which],
&moea64_scratchpage_pvo[which]->pvo_pte.lpte,
moea64_scratchpage_pvo[which]->pvo_vpn);
isync();
}
void

View File

@ -292,6 +292,9 @@ moea64_pte_unset_native(mmu_t mmu, uintptr_t pt_cookie, struct lpte *pvo_pt,
pvo_pt->pte_hi &= ~LPTE_VALID;
/* Finish all pending operations */
isync();
/*
* Force the reg & chg bits back into the PTEs.
*/