[PATCH 05/10] powerpc: mpc8xx: Reorganise init RAM
Joakim Tjernlund
Joakim.Tjernlund at infinera.com
Thu May 4 12:07:36 CEST 2023
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.leroy at 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 at h
> + ori r1, r1, CFG_SYS_INIT_SP at 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
More information about the U-Boot
mailing list