From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Hevern Date: Tue, 24 Apr 2007 14:49:34 +1000 Subject: [U-Boot-Users] MPC8347/9 stack in cache (CFG_INIT_RAM_ADDR) Message-ID: <462D8C5E.3070001@nec.com.au> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi all, I am trying to get U-Boot running on a custom MPC8347 board, and am having difficulty with the start-up code. I'm running essentially with U-boot 1.1.6, which has had the ppc83xx code updated to U-Boot 1.2. I'm running out of SDRAM, with CFG_RAMBOOT I have set CFG_INIT_RAM_ADDR to 0xFB000000, a location un-mapped by any of the windows or chip select settings, but mapped into a BAT by the board config: #define CFG_IBAT6L (0xFB000000 | BATL_PP_10 | BATL_MEMCOHERENCE) #define CFG_IBAT6U (0xFB000000 | BATU_BL_64M | BATU_VS | BATU_VP) #define CFG_HID2 HID2_HBE // to enable high bats #define CFG_INIT_RAM_LOCK 1 in cpu/mpc83xx/start.S when it gets to the point of using the stack-in-cache ----start.S /* set up the stack pointer in our newly created * cache-ram (r1) */ lis r1, (CFG_INIT_RAM_ADDR + CFG_GBL_DATA_OFFSET)@h ori r1, r1, (CFG_INIT_RAM_ADDR + CFG_GBL_DATA_OFFSET)@l li r0, 0 /* Make room for stack frame header and */ stwu r0, -4(r1) /* clear final stack frame so that */ stwu r0, -4(r1) /* stack backtraces terminate cleanly */ ----END start.S It crashes badly at the first stwu instruction. I get strange behaviour, all register settings in debugger (green hills probe) showing 0x43 - and a grinding halt. My understanding is that to get some ram for the initial stack on these processors, it's necessary to use the RAM-in Cache, you should map an unused area of address space into a BAT, but am not certain of other requirments such as BAT properties, or settings? Is anyone more familar with this or suggestions? thanks, Matt