Re: [BUG] asm-ppc/pgtable.h breakage from 2.6.7-rc1-bk4

From: Mikael Pettersson
Date: Sat Jun 05 2004 - 20:40:48 EST


On Sat, 05 Jun 2004 17:29:23 -0500, Benjamin Herrenschmidt wrote:
>On Sat, 2004-06-05 at 14:56, Mikael Pettersson wrote:
>> The current 2.6.7-rc2 kernel hangs after starting INIT
>> on my PowerMac 4400. I traced the problem to the
>> ptep_set_access_flags() patch in 2.6.7-rc1-bk4, which
>> replaces ptep_establish()'s set_pte();flush_tlb_page()
>> sequence with a single pte_update() in two places in
>> mm/memory.c.
>>
>> The patch below disables this change on ppc32, and
>> allows my 603ev-based PM4400 to finally boot 2.6.7-rc2.
>
>Can you try just adding the flush_tlb_page() to
>ptep_set_access_flags() and let me know if that helps ?

That (see below) also works and allows 2.6.7-rc2 to
boot on my PM4400.

/Mikael

--- linux-2.6.7-rc2/include/asm-ppc/pgtable.h.~1~ 2004-06-06 03:17:36.000000000 +0200
+++ linux-2.6.7-rc2/include/asm-ppc/pgtable.h 2004-06-06 03:19:59.000000000 +0200
@@ -556,7 +556,10 @@
pte_update(ptep, 0, bits);
}
#define ptep_set_access_flags(__vma, __address, __ptep, __entry, __dirty) \
- __ptep_set_access_flags(__ptep, __entry, __dirty)
+do { \
+ __ptep_set_access_flags(__ptep, __entry, __dirty); \
+ flush_tlb_page(__vma, __address); \
+} while(0)

/*
* Macro to mark a page protection value as "uncacheable".
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/