On Thu, 2023-05-04 at 10:56 +0200, Christophe Leroy wrote: > Using SMC relocation microcode patch or USB-SOF microcode patch > will disable DPRAM memory from 0x2000 to 0x2400 and from 0x2f00 > to 0x3000. > > At the time being, init RAM is setup to use 0x2800-0x2e00, but > the stack pointer goes beyond 0x2800 and even beyond 0x2400. > > For the time being we are not going to use any microcode patch > that uses memory about 0x3000, so reorganise setup to use: > - 0x2800 - 0x2e00 for init malloc and global data and CPM buffers > - 0x3000 - 0x3c00 for init stack > > For more details about CPM dual port ram, see > commit b1d62424cb ("powerpc: mpc8xx: redistribute data in CPM dpram") > > Signed-off-by: Christophe Leroy <christophe.le...@csgroup.eu> > --- > arch/powerpc/cpu/mpc8xx/start.S | 9 +++++---- > arch/powerpc/include/asm/cpm_8xx.h | 16 ++++++++-------- > include/configs/cmpc885.h | 1 + > include/configs/mcr3000.h | 1 + > 4 files changed, 15 insertions(+), 12 deletions(-) > > diff --git a/arch/powerpc/cpu/mpc8xx/start.S b/arch/powerpc/cpu/mpc8xx/start.S > index 0aa73fca12..41f12021c8 100644 > --- a/arch/powerpc/cpu/mpc8xx/start.S > +++ b/arch/powerpc/cpu/mpc8xx/start.S > @@ -141,14 +141,15 @@ in_flash: > mtspr DER, r2 > > /* set up the stack on top of internal DPRAM */ > + lis r1, CFG_SYS_INIT_SP@h > + ori r1, r1, CFG_SYS_INIT_SP@l > + stwu r0, -4(r1) > + stwu r0, -4(r1)
Changing stack ptr incrementally is likely to confuse gdb which may do stack accesses if you single step over this code. It is better to setup the stack in a different reg and the just assign r1 when done. Jocke