diff --git a/build/gcdfirm/sdmc-launcher/ARM7/main.c b/build/gcdfirm/sdmc-launcher/ARM7/main.c index 96eb76c0..58f665d9 100644 --- a/build/gcdfirm/sdmc-launcher/ARM7/main.c +++ b/build/gcdfirm/sdmc-launcher/ARM7/main.c @@ -116,7 +116,10 @@ static void PreInit(void) リセットパラメータ(1バイト)を共有領域(1バイト)にコピー */ #define HOTSTART_FLAG_ENABLE 0x80 + if ( MCUi_ReadRegister( MCU_REG_VER_INFO_ADDR ) >= 0x20 ) // MCU旧バージョン対策 *(u8 *)HW_NAND_FIRM_HOTSTART_FLAG = (u8)(MCUi_ReadRegister( (u16)(MCU_REG_TEMP_ADDR + OS_MCU_RESET_VALUE_OFS) ) | HOTSTART_FLAG_ENABLE); + else + *(u8 *)HW_NAND_FIRM_HOTSTART_FLAG = (u8)(MCUi_ReadRegister( (u16)(MCU_OLD_REG_TEMP_ADDR + OS_MCU_RESET_VALUE_OFS) ) | HOTSTART_FLAG_ENABLE); } /*************************************************************** @@ -154,6 +157,7 @@ static void PostInit(void) ***************************************************************/ static void EraseAll(void) { + AESi_ResetAesKey(); MI_CpuClearFast( OSi_GetFromFirmAddr(), sizeof(OSFromFirmBuf) ); #ifdef SDK_FINALROM MI_CpuClearFast( (void*)HW_TWL_ROM_HEADER_BUF, HW_TWL_ROM_HEADER_BUF_SIZE ); @@ -291,6 +295,8 @@ void TwlSpMain( void ) #endif PM_BackLightOn( TRUE ); + AESi_ResetAesKey(); + MI_CpuClearFast( OSi_GetFromFirmAddr(), sizeof(OSFromFirmBuf) ); OS_BootFromFIRM(); end: diff --git a/build/nandfirm/menu-launcher/ARM7/main.c b/build/nandfirm/menu-launcher/ARM7/main.c index 8cdec9f0..2e317776 100644 --- a/build/nandfirm/menu-launcher/ARM7/main.c +++ b/build/nandfirm/menu-launcher/ARM7/main.c @@ -117,7 +117,10 @@ static void PreInit(void) リセットパラメータ(1バイト)を共有領域(1バイト)にコピー */ #define HOTSTART_FLAG_ENABLE 0x80 + if ( MCUi_ReadRegister( MCU_REG_VER_INFO_ADDR ) >= 0x20 ) // MCU旧バージョン対策 *(u8 *)HW_NAND_FIRM_HOTSTART_FLAG = (u8)(MCUi_ReadRegister( (u16)(MCU_REG_TEMP_ADDR + OS_MCU_RESET_VALUE_OFS) ) | HOTSTART_FLAG_ENABLE); + else + *(u8 *)HW_NAND_FIRM_HOTSTART_FLAG = (u8)(MCUi_ReadRegister( (u16)(MCU_OLD_REG_TEMP_ADDR + OS_MCU_RESET_VALUE_OFS) ) | HOTSTART_FLAG_ENABLE); } /*************************************************************** @@ -156,6 +159,7 @@ static void PostInit(void) ***************************************************************/ static void EraseAll(void) { + AESi_ResetAesKey(); MI_CpuClearFast( OSi_GetFromFirmAddr(), sizeof(OSFromFirmBuf) ); #ifdef SDK_FINALROM MI_CpuClearFast( (void*)HW_TWL_ROM_HEADER_BUF, HW_TWL_ROM_HEADER_BUF_SIZE ); diff --git a/build/nandfirm/menu-launcher2/ARM7/main.c b/build/nandfirm/menu-launcher2/ARM7/main.c index 3e1c1b85..6c06db65 100644 --- a/build/nandfirm/menu-launcher2/ARM7/main.c +++ b/build/nandfirm/menu-launcher2/ARM7/main.c @@ -118,7 +118,10 @@ static void PreInit(void) リセットパラメータ(1バイト)を共有領域(1バイト)にコピー */ #define HOTSTART_FLAG_ENABLE 0x80 + if ( MCUi_ReadRegister( MCU_REG_VER_INFO_ADDR ) >= 0x20 ) // MCU旧バージョン対策 *(u8 *)HW_NAND_FIRM_HOTSTART_FLAG = (u8)(MCUi_ReadRegister( (u16)(MCU_REG_TEMP_ADDR + OS_MCU_RESET_VALUE_OFS) ) | HOTSTART_FLAG_ENABLE); + else + *(u8 *)HW_NAND_FIRM_HOTSTART_FLAG = (u8)(MCUi_ReadRegister( (u16)(MCU_OLD_REG_TEMP_ADDR + OS_MCU_RESET_VALUE_OFS) ) | HOTSTART_FLAG_ENABLE); } /*************************************************************** @@ -157,6 +160,7 @@ static void PostInit(void) ***************************************************************/ static void EraseAll(void) { + AESi_ResetAesKey(); MI_CpuClearFast( OSi_GetFromFirmAddr(), sizeof(OSFromFirmBuf) ); #ifdef SDK_FINALROM MI_CpuClearFast( (void*)HW_TWL_ROM_HEADER_BUF, HW_TWL_ROM_HEADER_BUF_SIZE ); diff --git a/build/nandfirm/sdmc-launcher/ARM7/main.c b/build/nandfirm/sdmc-launcher/ARM7/main.c index a37ca8cd..efddd5b1 100644 --- a/build/nandfirm/sdmc-launcher/ARM7/main.c +++ b/build/nandfirm/sdmc-launcher/ARM7/main.c @@ -116,7 +116,10 @@ static void PreInit(void) リセットパラメータ(1バイト)を共有領域(1バイト)にコピー */ #define HOTSTART_FLAG_ENABLE 0x80 + if ( MCUi_ReadRegister( MCU_REG_VER_INFO_ADDR ) >= 0x20 ) // MCU旧バージョン対策 *(u8 *)HW_NAND_FIRM_HOTSTART_FLAG = (u8)(MCUi_ReadRegister( (u16)(MCU_REG_TEMP_ADDR + OS_MCU_RESET_VALUE_OFS) ) | HOTSTART_FLAG_ENABLE); + else + *(u8 *)HW_NAND_FIRM_HOTSTART_FLAG = (u8)(MCUi_ReadRegister( (u16)(MCU_OLD_REG_TEMP_ADDR + OS_MCU_RESET_VALUE_OFS) ) | HOTSTART_FLAG_ENABLE); } /*************************************************************** @@ -154,6 +157,7 @@ static void PostInit(void) ***************************************************************/ static void EraseAll(void) { + AESi_ResetAesKey(); MI_CpuClearFast( OSi_GetFromFirmAddr(), sizeof(OSFromFirmBuf) ); #ifdef SDK_FINALROM MI_CpuClearFast( (void*)HW_TWL_ROM_HEADER_BUF, HW_TWL_ROM_HEADER_BUF_SIZE ); @@ -291,6 +295,8 @@ void TwlSpMain( void ) #endif PM_BackLightOn( TRUE ); + AESi_ResetAesKey(); + MI_CpuClearFast( OSi_GetFromFirmAddr(), sizeof(OSFromFirmBuf) ); OS_BootFromFIRM(); end: