[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