I believe there is one more change needed: there is a __flush_tlb_all() in the early code which gets executed before the above code runs; the easiest fix is to just add a __flush_tlb() immediately after it. This should have been pushed upstream, and not stayed in the BSP kernel.
Peter. You're talking about void __init setup_arch() right ? The code looks like this load_cr3(swapper_pg_dir); __flush_tlb_all();Note that on Quark the method to invalidate the TLB is by reloading CR3 - which is immediately prior to __flush_tlb_all();
So __flush_tlb_all(); will do nothing but that's OK since load_cr3() already flushed the TLB - including any PTE with PGE set
Best, Bryan -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html