
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@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