On Wed, 22 Jul 2009 21:16:09 -0500, Alexander von Gluck <kallisti5@xxxxxxxxxxx> wrote: > On Wed, 22 Jul 2009 20:47:48 -0500, Alexander von Gluck > <kallisti5@xxxxxxxxxxx> wrote: >> I got the info on running asm sync and asm isync by looking at a similar >> bit of code in the >> XNU kernel (124.1). We need to make sure that the PPC cpu does not >> prefetch any operations >> while we populate the contexts. > > Seems there are some conflicts with that previous patch that I missed. > I've re-created the patch and made it a little simpler. man.. worst patch release ever.. here is final.. final.. final. i forgot to take out the old isync(); Index: src/system/boot/platform/openfirmware/arch/ppc/mmu.cpp =================================================================== --- src/system/boot/platform/openfirmware/arch/ppc/mmu.cpp (revision 31707) +++ src/system/boot/platform/openfirmware/arch/ppc/mmu.cpp (working copy) @@ -970,7 +970,10 @@ // set up new page table and turn on translation again for (int32 i = 0; i < 16; i++) { + asm volatile ("isync"); ppc_set_segment_register((void *)(i * 0x10000000), sSegments[i]); + asm volatile ("sync"); // one segment describes 256 MB of memory } -- Thanks! Alexander von Gluck http://unixzen.com PGP: F079C049 Google Voice: 832-592-7635