--- ./linus-latest/arch/ppc64/mm/hash_utils.c 2004-09-08 16:14:14.000000000 -0500 +++ ./linux+flushlargepte/arch/ppc64/mm/hash_utils.c 2004-09-08 16:08:39.000000000 -0500 @@ -321,10 +321,11 @@ void flush_hash_page(unsigned long conte int local) { unsigned long vsid, vpn, va, hash, secondary, slot; - - /* XXX fix for large ptes */ unsigned long large = 0; + if (cur_cpu_spec->cpu_features & CPU_FTR_16M_PAGE) + large = 1; + if ((ea >= USER_START) && (ea <= USER_END)) vsid = get_vsid(context, ea); else