[patch 29/35] Work around errata 4910
From: Olof Johansson <hidden>
Date: 2007-07-05 17:03:51
From: Olof Johansson <hidden>
Date: 2007-07-05 17:03:51
Don't allow unguarded mappings in PCI-express space. This is resolves problems with frame buffers having garbage on them due to failing write merges. Index: 2.6.21/arch/powerpc/mm/hash_native_64.c ===================================================================
--- 2.6.21.orig/arch/powerpc/mm/hash_native_64.c
+++ 2.6.21/arch/powerpc/mm/hash_native_64.c@@ -152,6 +152,10 @@ static long native_hpte_insert(unsigned if (i == HPTES_PER_GROUP) return -1; + /* Workaround for bug 4910: No non-guarded access over IOB */ + if (pa >= 0x80000000 && pa < 0x100000000) + rflags |= _PAGE_GUARDED; + hpte_v = hpte_encode_v(va, psize) | vflags | HPTE_V_VALID; hpte_r = hpte_encode_r(pa, psize) | rflags; --