MFC r1.101

Fix boot-time hang/panic on G3 systems when modifying IBAT0 in
  pmap_bootstrap by using the sync;isync big hammer to make sure
  all prior operations have completed.

  Reported by:    Nathan Whitehorn <nathan at uchicago edu>

Approved by:	re (Ken Smith)
This commit is contained in:
grehan 2005-09-13 05:11:37 +00:00
parent 6778832488
commit 504bb97e61

View File

@ -569,7 +569,8 @@ pmap_bootstrap(vm_offset_t kernelstart, vm_offset_t kernelend)
*/
batu = BATU(0x00000000, BAT_BL_256M, BAT_Vs);
batl = BATL(0x00000000, BAT_M, BAT_PP_RW);
__asm ("mtibatu 0,%0; mtibatl 0,%1; isync; \n"
__asm ("sync; isync; \n"
"mtibatu 0,%0; mtibatl 0,%1; isync; \n"
"mtdbatu 0,%0; mtdbatl 0,%1; isync"
:: "r"(batu), "r"(batl));