@ -181,21 +181,14 @@ static inline void final_mmu_setup(void)
setup_pgtables ( ) ;
gd - > arch . tlb_addr = tlb_addr_save ;
/* flush new MMU table */
flush_dcache_range ( gd - > arch . tlb_addr ,
gd - > arch . tlb_addr + gd - > arch . tlb_size ) ;
/* Disable cache and MMU */
dcache_disable ( ) ; /* TLBs are invalidated */
invalidate_icache_all ( ) ;
/* point TTBR to the new table */
set_ttbr_tcr_mair ( el , gd - > arch . tlb_addr , get_tcr ( el , NULL , NULL ) ,
MEMORY_ATTRIBUTES ) ;
/*
* EL3 MMU is already enabled , just need to invalidate TLB to load the
* new table . The new table is compatible with the current table , if
* MMU somehow walks through the new table before invalidation TLB ,
* it still works . So we don ' t need to turn off MMU here .
* When EL2 MMU table is created by calling this function , MMU needs
* to be enabled .
*/
set_sctlr ( get_sctlr ( ) | CR_M ) ;
}