diff --git a/arch/arm/cpu/Makefile b/arch/arm/cpu/Makefile index c3635a1..aba201b 100644 --- a/arch/arm/cpu/Makefile +++ b/arch/arm/cpu/Makefile @@ -10,7 +10,7 @@ obj-$(CONFIG_CMD_ARM_MMUINFO) += mmuinfo.o obj-$(CONFIG_OFDEVICE) += dtb.o obj-$(CONFIG_MMU) += mmu.o cache.o mmu-early.o -pbl-$(CONFIG_MMU) += cache.o mmu-early.o +pbl-$(CONFIG_MMU) += mmu-early.o obj-$(CONFIG_CPU_32v4T) += cache-armv4.o pbl-$(CONFIG_CPU_32v4T) += cache-armv4.o obj-$(CONFIG_CPU_32v5) += cache-armv5.o @@ -25,7 +25,7 @@ pbl-$(CONFIG_PBL_SINGLE_IMAGE) += start-pbl.o pbl-$(CONFIG_PBL_MULTI_IMAGES) += start-images.o uncompress.o -obj-y += common.o -pbl-y += common.o +obj-y += common.o cache.o +pbl-y += common.o cache.o lwl-y += lowlevel.o diff --git a/arch/arm/cpu/start.c b/arch/arm/cpu/start.c index 1f397ec..f8d343f 100644 --- a/arch/arm/cpu/start.c +++ b/arch/arm/cpu/start.c @@ -70,8 +70,10 @@ endmem &= ~0x3fff; endmem -= SZ_16K; /* ttb */ - if (!IS_ENABLED(CONFIG_PBL_IMAGE)) + if (!IS_ENABLED(CONFIG_PBL_IMAGE)) { + arm_early_mmu_cache_invalidate(); mmu_early_enable(membase, memsize, endmem); + } } /* diff --git a/arch/arm/cpu/uncompress.c b/arch/arm/cpu/uncompress.c index b401f8e..b0819c7 100644 --- a/arch/arm/cpu/uncompress.c +++ b/arch/arm/cpu/uncompress.c @@ -54,6 +54,8 @@ uint32_t *ptr; void *pg_start; + arm_early_mmu_cache_invalidate(); + endmem -= STACK_SIZE; /* stack */ if (IS_ENABLED(CONFIG_PBL_RELOCATABLE)) diff --git a/arch/arm/include/asm/cache.h b/arch/arm/include/asm/cache.h index f5f8bf3..2f6eab0 100644 --- a/arch/arm/include/asm/cache.h +++ b/arch/arm/include/asm/cache.h @@ -8,17 +8,7 @@ int arm_set_cache_functions(void); -#ifdef CONFIG_MMU void arm_early_mmu_cache_flush(void); void arm_early_mmu_cache_invalidate(void); -#else -static inline void arm_early_mmu_cache_flush(void) -{ -} - -static inline void arm_early_mmu_cache_invalidate(void) -{ -} -#endif #endif