diff --git a/trunk/bootrom/build/libraries/init/ARM11/crt0_secure.c b/trunk/bootrom/build/libraries/init/ARM11/crt0_secure.c index 60134b3..cf5d8ad 100644 --- a/trunk/bootrom/build/libraries/init/ARM11/crt0_secure.c +++ b/trunk/bootrom/build/libraries/init/ARM11/crt0_secure.c @@ -431,7 +431,7 @@ void stupInitMMUTable( void ) table = &t1Base[paddr/HW_MMU6_T1_SEC_SIZE]; *table = HW_MMU6_T1_COURSE_PACK( (u32)t2Base, 0 ); // T2 for Page - table = t2Base; + table = &t2Base[paddr%HW_MMU6_T1_SEC_SIZE/HW_MMU6_T2_LP_ALIAS_SIZE]; while ( paddr < MATH_ROUNDDOWN(HW_BROM_MMU_TBL, HW_MMU6_T2_LP_SIZE) ) { *table++ = HW_MMU6_T2_LP_PACK( @@ -483,21 +483,10 @@ void stupInitMMUTable( void ) // BROM Region (64KBx2 cached) paddr = HW_BROM_IMG; -#if 1 - table = &t1Base[paddr/HW_MMU6_T1_SEC_SIZE]; - *table++ = HW_MMU6_T1_SEC_PACK( - paddr, - HW_MMU6_T1_APX_S_RW_U_NA, - HW_MMU6_T2_LP_RGT_L1C_WB_WA, - HW_MMU6_T1_GLOBAL, - HW_MMU6_T2_SHARED, - FALSE, - 0); -#else table = &t1Base[paddr/HW_MMU6_T1_SEC_SIZE]; *table = HW_MMU6_T1_COURSE_PACK( (u32)t2Base, 0 ); // T2 for Page - table = t2Base; + table = &t2Base[paddr%HW_MMU6_T1_SEC_SIZE/HW_MMU6_T2_LP_ALIAS_SIZE]; while ( paddr != HW_BROM_END ) { *table++ = HW_MMU6_T2_LP_PACK( @@ -511,7 +500,6 @@ void stupInitMMUTable( void ) } // Coarse page is 1KB boundary t2Base += MATH_ROUNDUP(HW_BROM_SIZE*2/HW_MMU6_T2_LP_ALIAS_SIZE, HW_MMU6_T1_CORS_SIZE)/sizeof(t2Base[0]); -#endif }