diff --git a/trunk/bootrom/build/libraries/init/ARM11/crt0_secure.c b/trunk/bootrom/build/libraries/init/ARM11/crt0_secure.c index fb8d11b..5cb9d67 100644 --- a/trunk/bootrom/build/libraries/init/ARM11/crt0_secure.c +++ b/trunk/bootrom/build/libraries/init/ARM11/crt0_secure.c @@ -307,7 +307,7 @@ void stupInitMMUTable( void ) HW_MMU6_APX_NA, HW_MMU6_T1_RGT_STRONG_ORDER, HW_MMU6_T1_GLOBAL, - FALSE, + HW_MMU6_T1_SHARED, HW_MMU6_T1_XN, 0); paddr += HW_MMU6_T1_SEC_SIZE; @@ -321,7 +321,7 @@ void stupInitMMUTable( void ) HW_MMU6_T2_APX_NA, HW_MMU6_T2_LP_RGT_STRONG_ORDER, HW_MMU6_T2_GLOBAL, - FALSE, + HW_MMU6_T2_SHARED, HW_MMU6_T2_SP_XN); } @@ -337,9 +337,9 @@ void stupInitMMUTable( void ) *table++ = HW_MMU6_T2_LP_PACK( paddr, HW_MMU6_T2_APX_S_RW_U_NA, - HW_MMU6_T2_LP_RGT_L1L2C_WB_WA, + HW_MMU6_T2_LP_RGT_L1C_WB_WA, HW_MMU6_T2_GLOBAL, - FALSE, + HW_MMU6_T2_SHARED, FALSE); paddr += HW_MMU6_T2_LP_ALIAS_SIZE; } @@ -356,8 +356,8 @@ void stupInitMMUTable( void ) HW_MMU6_T1_APX_S_RW_U_NA, HW_MMU6_T1_RGT_SHARED_DEV, HW_MMU6_T1_GLOBAL, - FALSE, - FALSE + HW_MMU6_T1_SHARED, + HW_MMU6_T1_XN ); paddr += HW_MMU6_T1_SEC_SIZE; } @@ -371,7 +371,7 @@ void stupInitMMUTable( void ) HW_MMU6_T1_RGT_NSHARED_DEV, HW_MMU6_T1_GLOBAL, FALSE, - FALSE, + HW_MMU6_T1_XN, 0); // VRAM Region (4MB cached) @@ -381,10 +381,10 @@ void stupInitMMUTable( void ) *table++ = HW_MMU6_T1_SEC_PACK( paddr, HW_MMU6_T1_APX_S_RW_U_NA, - HW_MMU6_T1_RGT_L1L2C_WB_WA, + HW_MMU6_T1_RGT_L1C_WB_WA, HW_MMU6_T1_GLOBAL, - FALSE, - FALSE, + HW_MMU6_T1_SHARED, + HW_MMU6_T1_XN, 0); paddr += HW_MMU6_T1_SEC_SIZE; } @@ -400,20 +400,33 @@ void stupInitMMUTable( void ) *table++ = HW_MMU6_T2_LP_PACK( paddr, HW_MMU6_T2_APX_S_RW_U_NA, - HW_MMU6_T2_LP_RGT_L1L2C_WB_WA, + HW_MMU6_T2_LP_RGT_L1C_WB_WA, HW_MMU6_T2_GLOBAL, - FALSE, - FALSE); + HW_MMU6_T2_SHARED, + HW_MMU6_T2_LP_XN); paddr += HW_MMU6_T2_LP_ALIAS_SIZE; } - for ( ; paddr < HW_AXI_WRAM_SHARED_END; ) + // HW_BROM_MMU_TBL + while ( paddr < HW_BROM_MMU_TBL_END ) { *table++ = HW_MMU6_T2_LP_PACK( paddr, HW_MMU6_T2_APX_S_RW_U_NA, HW_MMU6_T2_LP_RGT_SHARED_DEV, HW_MMU6_T2_GLOBAL, - FALSE, + HW_MMU6_T2_SHARED, + HW_MMU6_T2_LP_XN); + paddr += HW_MMU6_T2_LP_ALIAS_SIZE; + } + // HW_AXI_WRAM_SHARED + while ( paddr < HW_AXI_WRAM_SHARED_END ) + { + *table++ = HW_MMU6_T2_LP_PACK( + paddr, + HW_MMU6_T2_APX_S_RW_U_NA, + HW_MMU6_T2_LP_RGT_SHARED_DEV, + HW_MMU6_T2_GLOBAL, + HW_MMU6_T2_SHARED, FALSE); paddr += HW_MMU6_T2_LP_ALIAS_SIZE; } @@ -428,23 +441,23 @@ void stupInitMMUTable( void ) *table++ = HW_MMU6_T1_SUSEC_PACK( paddr, HW_MMU6_T1_APX_S_RW_U_NA, - HW_MMU6_T1_RGT_L1L2C_WB_WA, + HW_MMU6_T1_RGT_L1C_WB_WA, HW_MMU6_T1_GLOBAL, - FALSE, - FALSE + HW_MMU6_T1_SHARED, + HW_MMU6_T1_XN ); paddr += HW_MMU6_T1_SEC_SIZE; } - for ( ; paddr < HW_MAIN_MEM_EX_END; ) + while ( paddr < HW_MAIN_MEM_EX_END ) { *table++ = HW_MMU6_T1_SUSEC_PACK( paddr, HW_MMU6_T1_APX_ALL, - HW_MMU6_T1_RGT_L1L2C_WB_WA, + HW_MMU6_T1_RGT_L1C_WB_WA, HW_MMU6_T1_GLOBAL, - FALSE, - FALSE + HW_MMU6_T1_SHARED, + HW_MMU6_T1_XN ); paddr += HW_MMU6_T1_SEC_SIZE; }