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 <prabha...@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
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot