summaryrefslogtreecommitdiffstats
path: root/sys/powerpc
diff options
context:
space:
mode:
authornwhitehorn <nwhitehorn@FreeBSD.org>2010-03-15 00:27:40 +0000
committernwhitehorn <nwhitehorn@FreeBSD.org>2010-03-15 00:27:40 +0000
commitdab875b1fd1f9e4fc9f6c7d4d66be9b337d07232 (patch)
tree605233d20071a9a2f8c09c4b4326dabb8fa8891f /sys/powerpc
parent32eab592052fb78644a2cca4e0beb10f02b3e930 (diff)
downloadFreeBSD-src-dab875b1fd1f9e4fc9f6c7d4d66be9b337d07232.zip
FreeBSD-src-dab875b1fd1f9e4fc9f6c7d4d66be9b337d07232.tar.gz
Fix two small bugs. The PowerPC 970 does not support non-coherent memory
access, and reflects this by autonomously writing LPTE_M into PTE entries. As such, we should not panic if LPTE_M changes by itself. While here, fix a harmless typo in moea64_sync_icache().
Diffstat (limited to 'sys/powerpc')
-rw-r--r--sys/powerpc/aim/mmu_oea64.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/powerpc/aim/mmu_oea64.c b/sys/powerpc/aim/mmu_oea64.c
index cf64af1..bc7e5cf 100644
--- a/sys/powerpc/aim/mmu_oea64.c
+++ b/sys/powerpc/aim/mmu_oea64.c
@@ -2268,7 +2268,7 @@ moea64_pvo_to_pte(const struct pvo_entry *pvo, int pteidx)
}
if (((pt->pte_lo ^ pvo->pvo_pte.lpte.pte_lo) &
- ~(LPTE_CHG|LPTE_REF)) != 0) {
+ ~(LPTE_M|LPTE_CHG|LPTE_REF)) != 0) {
panic("moea64_pvo_to_pte: pvo %p pte does not match "
"pte %p in moea64_pteg_table difference is %#x",
pvo, pt,
@@ -2511,7 +2511,7 @@ moea64_sync_icache(mmu_t mmu, pmap_t pm, vm_offset_t va, vm_size_t sz)
len = MIN(lim - va, sz);
pvo = moea64_pvo_find_va(pm, va & ~ADDR_POFF, NULL);
if (pvo != NULL) {
- pa = (pvo->pvo_pte.pte.pte_lo & PTE_RPGN) |
+ pa = (pvo->pvo_pte.pte.pte_lo & LPTE_RPGN) |
(va & ADDR_POFF);
moea64_syncicache(pm, va, pa, len);
}
OpenPOWER on IntegriCloud