diff options
author | Jon Loeliger <jdl@jdl.com> | 2006-05-19 13:28:39 -0500 |
---|---|---|
committer | Jon Loeliger <jdl@jdl.com> | 2006-05-19 13:54:02 -0500 |
commit | 14e37081ff3cac7ebe6e93836523429853b6b292 (patch) | |
tree | 424deaccc2e0f8aa126690ca138114100c6dd774 /cpu/mpc86xx/start.S | |
parent | 9a655876e5995be80f49054e2509500e871e4d3a (diff) | |
download | u-boot-imx-14e37081ff3cac7ebe6e93836523429853b6b292.zip u-boot-imx-14e37081ff3cac7ebe6e93836523429853b6b292.tar.gz u-boot-imx-14e37081ff3cac7ebe6e93836523429853b6b292.tar.bz2 |
Change arbitration to round-robin for SMP linux.
Diffstat (limited to 'cpu/mpc86xx/start.S')
-rw-r--r-- | cpu/mpc86xx/start.S | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/cpu/mpc86xx/start.S b/cpu/mpc86xx/start.S index b963631..07e7557 100644 --- a/cpu/mpc86xx/start.S +++ b/cpu/mpc86xx/start.S @@ -207,11 +207,7 @@ boot_warm: /* init the L2 cache */ addis r3, r0, L2_INIT@h ori r3, r3, L2_INIT@l - sync mtspr l2cr, r3 -#ifdef CONFIG_ALTIVEC - dssall -#endif /* invalidate the L2 cache */ bl l2cache_invalidate sync @@ -245,6 +241,13 @@ in_flash: bl setup_ccsrbar #endif + /* Fix for SMP linux - Changing arbitration to round-robin */ + lis r3, CFG_CCSRBAR@h + ori r3, r3, 0x1000 + xor r4, r4, r4 + li r4, 0x1000 + stw r4, 0(r3) + /* setup the law entries */ bl law_entry sync @@ -280,9 +283,9 @@ in_flash: /* make sure timer enabled in guts register too */ lis r3, CFG_CCSRBAR@h oris r3,r3, 0xE - ori r3,r3,0x0070 /*Jason from 3*/ + ori r3,r3,0x0070 lwz r4, 0(r3) - lis r5,0xFFFC /*Jason from 0xffff*/ + lis r5,0xFFFC ori r5,r5,0x5FFF and r4,r4,r5 stw r4,0(r3) |