[U-Boot] [PATCH 2/4] powerpc/85xx:Fix MSR[DE] bit in MSR to support debugger

Wolfgang Denk wd at denx.de
Tue Mar 6 15:40:50 CET 2012


Dear Prabhakar Kushwaha,

In message <1329296042-28506-1-git-send-email-prabhakar at freescale.com> you wrote:
> Debugger's ability to debug an application is constrained by the
> architecture's debug IP / run-control solution that may impose certain
> requirements for the application itself.
> Similarly, when referring to the e500 and e500v2 architecture, there are two
> basic rules any application has to respect in order to allow full debugging
> support:
>         1. Keep MSR[DE] bit set
>         2. Have a valid opcode that can be fetched from the debug exception
> 	vector [IVPR|IVOR15].
> Here MSR = Machine State register
> 
> This patch makes sure of point "1" and make MSR[DE] bit is set uniformaly
> across the different execution in address space.

Does it make sense to repeast the whole README here?

> diff --git a/arch/powerpc/cpu/mpc85xx/start.S b/arch/powerpc/cpu/mpc85xx/start.S
> index 7bfa2d5..09111e6 100644
> --- a/arch/powerpc/cpu/mpc85xx/start.S
> +++ b/arch/powerpc/cpu/mpc85xx/start.S
> @@ -82,6 +82,11 @@
>  	.globl _start_e500
>  
>  _start_e500:
> +#if defined(CONFIG_E500_V1_V2)
> +/* Enable debug exception */
> +	li	r1,MSR_DE
> +	mtmsr 	r1
> +#endif

Why is this #ifdef needed here?

>  #if defined(CONFIG_SECURE_BOOT) && defined(CONFIG_E500MC)
>  	/* ISBC uses L2 as stack.
> @@ -729,8 +734,8 @@ create_init_ram_area:
>  	msync
>  	tlbwe
>  
> -	lis	r6,MSR_IS|MSR_DS at h
> -	ori	r6,r6,MSR_IS|MSR_DS at l
> +	lis	r6,MSR_IS|MSR_DS|MSR_DE at h
> +	ori	r6,r6,MSR_IS|MSR_DS|MSR_DE at l

And why don;t we need such an #ifdef here?

Also, CONFIG_E500_V1_V2 is undocumented. 

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"(The  Chief  Programmer)  personally  defines  the  functional   and
performance  specifications, designs the program, codes it, tests it,
and writes its documentation... He  needs  great  talent,  ten  years
experience  and  considerable  systems  and  applications  knowledge,
whether in applied mathematics, business data handling, or whatever."
- Fred P. Brooks, _The Mythical Man Month_


More information about the U-Boot mailing list