From: wdenk Date: Wed, 31 Jul 2002 12:06:47 +0000 (+0000) Subject: Fix unlock_ram_in_cache() problem on PCIPPC2/6 boards X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=69dc72a83447c1a8c983673b302ddb353d4fc857;p=users%2Frw%2Fppcboot.git Fix unlock_ram_in_cache() problem on PCIPPC2/6 boards (always invalidate cache after unlocking it) --- diff --git a/CHANGELOG b/CHANGELOG index 404b770..451676f 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,6 +2,9 @@ Modifications for 1.2.0: ====================================================================== +* Fix unlock_ram_in_cache() problem on PCIPPC2/6 boards + (always invalidate cache after unlocking it) + * Fix ethernet address handling ion case of multiple interfaces * Patch by Denis Peter, 29 Jul 2002: diff --git a/board/cray/L1/L1.c b/board/cray/L1/L1.c index e8993fc..8e0bc0e 100644 --- a/board/cray/L1/L1.c +++ b/board/cray/L1/L1.c @@ -272,7 +272,8 @@ u8 thing; /* .. return NULL means it wasnt mine, non-null means I got it..*/ u8 *dhcp_vendorex_proc(u8 *pop) { -u8 oplen,*sub_op, sub_oplen,thing = 0, *retval; +u8 oplen,*sub_op, sub_oplen, *retval; +u8 thing = 0; retval = NULL; oplen = *(pop + 1); diff --git a/board/pcippc2/pcippc2.c b/board/pcippc2/pcippc2.c index 41e07fe..d22359b 100644 --- a/board/pcippc2/pcippc2.c +++ b/board/pcippc2/pcippc2.c @@ -86,7 +86,7 @@ int board_pre_init (void) out32 (REG (CPC0, SIOC0), 0x30000000); - out32 (REG (CPC0, ABCNTL), 0xB0000000); + out32 (REG (CPC0, ABCNTL), 0xF0000000); out32 (REG (CPC0, SESR), 0x00000000); out32 (REG (CPC0, SEAR), 0x00000000); diff --git a/cpu/74xx_7xx/start.S b/cpu/74xx_7xx/start.S index e891e25..6ce0479 100644 --- a/cpu/74xx_7xx/start.S +++ b/cpu/74xx_7xx/start.S @@ -848,10 +848,12 @@ unlock_ram_in_cache: sync /* Wait for all icbi to complete on bus */ isync - /* Unlock the data cache */ + /* Unlock the data cache and invalidate it */ mfspr r0, HID0 li r3,0x1000 andc r0,r0,r3 + li r3,0x0400 + or r0,r0,r3 sync mtspr HID0, r0 sync