[U-Boot] [PATCH] powerpc/mpc85xx:Disable Debug TLB entry for non-minimal SPL

Scott Wood scottwood at freescale.com
Wed Jun 26 21:06:25 CEST 2013


On 06/25/2013 11:09:04 PM, Prabhakar Kushwaha wrote:
> On 06/25/2013 08:38 PM, Scott Wood wrote:
>> On 06/25/2013 12:03:56 AM, Prabhakar Kushwaha wrote:
>>> CONFIG_SPL_BUILD creates debug TLB entry, so disable it before  
>>> init_tlbs.
>>> 
>>> CONFIG_SPL_INIT_MINIMAL never creates any debug TLB entry, so no  
>>> need
>>> of disable_tlb().
>>> 
>>> Signed-off-by: Prabhakar Kushwaha <prabhakar at freescale.com>
>>> ---
>>>  arch/powerpc/cpu/mpc85xx/cpu_init_early.c |    3 ++-
>>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>> 
>>> diff --git a/arch/powerpc/cpu/mpc85xx/cpu_init_early.c  
>>> b/arch/powerpc/cpu/mpc85xx/cpu_init_early.c
>>> index 837c034..0cb2717 100644
>>> --- a/arch/powerpc/cpu/mpc85xx/cpu_init_early.c
>>> +++ b/arch/powerpc/cpu/mpc85xx/cpu_init_early.c
>>> @@ -180,7 +180,8 @@ void cpu_init_early_f(void)
>>> 
>>>      invalidate_tlb(1);
>>> 
>>> -#if defined(CONFIG_SYS_PPC_E500_DEBUG_TLB) &&  
>>> !defined(CONFIG_SPL_BUILD) && !defined(CONFIG_NAND_SPL)
>>> +#if defined(CONFIG_SYS_PPC_E500_DEBUG_TLB) && \
>>> +        !defined(CONFIG_SPL_INIT_MINIMAL) &&  
>>> !defined(CONFIG_NAND_SPL)
>>>      disable_tlb(CONFIG_SYS_PPC_E500_DEBUG_TLB);
>>>  #endif
>> 
>> This fails to clear the debug TLB in non-SPL_BUILD portion of a  
>> build that has CONFIG_SPL_INIT_MINIMAL setoh..
> oh.. lots of cases :(
> 
> then it should be like this. slightly complex.
> #if defined(CONFIG_SYS_PPC_E500_DEBUG_TLB) &&  
> !(defined(CONFIG_NAND_SPL) || \
>     (defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_INIT_MINIMAL)))
> 
> or
> #if defined(CONFIG_SYS_PPC_E500_DEBUG_TLB) && (CONFIG_SYS_RAMBOOT) ||  
> \
>     (defined(CONFIG_SPL_BUILD) && !defined(CONFIG_SPL_INIT_MINIMAL)))

The former:

http://lists.denx.de/pipermail/u-boot/2013-June/157201.html

Ignore the line wrapping.

The latter will only clear the debug TLB when CONFIG_SYS_RAMBOOT is set  
or in a non-minimal SPL (i.e. not in an ordinary NOR boot), which I  
don't think is what you meant.  Check your parentheses. :-)

If you meant to exclude CONFIG_SYS_RAMBOOT, why?

-Scott


More information about the U-Boot mailing list