From 1433d68f052c47cc0dab769496e330b4bf3a3a70 Mon Sep 17 00:00:00 2001 From: N1277 Date: Thu, 8 Jul 2010 06:58:26 +0000 Subject: [PATCH] =?UTF-8?q?TWL=E3=83=95=E3=82=A1=E3=83=BC=E3=83=A0?= =?UTF-8?q?=E3=81=A7TWL=E3=83=A9=E3=83=B3=E3=83=81=E3=83=A3=E3=83=BC?= =?UTF-8?q?=E3=82=92=E4=B8=80=E5=88=87=E3=83=AA=E3=83=BC=E3=83=89=E3=81=97?= =?UTF-8?q?=E3=81=AA=E3=81=84=E3=82=88=E3=81=86=E3=81=AB=E5=A4=89=E6=9B=B4?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/branches/20100611_RedLauncher_Remodel@2929 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- build/buildtools/commondefs.firm | 8 +++++++- build/libraries/init/ARM7/crt0_firm.c | 4 ++++ build/nandfirm/menu-launcher/ARM7/main.c | 6 ++++-- build/nandfirm/menu-launcher/ARM9/main.c | 12 ++++++++---- 4 files changed, 23 insertions(+), 7 deletions(-) diff --git a/build/buildtools/commondefs.firm b/build/buildtools/commondefs.firm index 6de8f38c..62ddcc21 100644 --- a/build/buildtools/commondefs.firm +++ b/build/buildtools/commondefs.firm @@ -18,6 +18,12 @@ ifndef TWLFIRM_COMMONDEFS_ TWLFIRM_COMMONDEFS_ = TRUE +FIRM_FOR_CTR = TRUE + +ifdef FIRM_FOR_CTR +MACRO_FLAGS += -DFIRM_FOR_CTR +endif + EMPTY ?= SPACE ?= $(EMPTY) $(EMPTY) @@ -28,7 +34,7 @@ TARGET_BIN ?= $(TARGET_FIRM_BIN) # override TARGET_PLATFORM := TWL override TWL_ARCHGEN := LIMITED -override TWL_CODEGEN := ARM +override TWL_CODEGEN := THUMB override TWL_MEMSIZE := 16M #---------------------------------------------------------------------------- diff --git a/build/libraries/init/ARM7/crt0_firm.c b/build/libraries/init/ARM7/crt0_firm.c index 9e881ca9..0712db4c 100644 --- a/build/libraries/init/ARM7/crt0_firm.c +++ b/build/libraries/init/ARM7/crt0_firm.c @@ -145,12 +145,16 @@ SDK_WEAK_SYMBOL asm void _start( void ) mov r0, #FIRM_PXI_ID_INIT_MMEM bl PXIi_WaitIDByIntf +#ifndef FIRM_FOR_CTR + //---- clear HW_TWL_MAIN_MEM_SHARED mov r0, #0 ldr r1, =HW_TWL_MAIN_MEM_SHARED mov r2, #HW_TWL_MAIN_MEM_SHARED_SIZE bl INITi_CpuClearFast +#endif // FIRM_FOR_CTR + //---- notify to clear HW_MAIN_MEM_SHARED mov r0, #FIRM_PXI_ID_INIT_MMEM bl PXIi_SendIDByIntf diff --git a/build/nandfirm/menu-launcher/ARM7/main.c b/build/nandfirm/menu-launcher/ARM7/main.c index 93249c37..2081e694 100644 --- a/build/nandfirm/menu-launcher/ARM7/main.c +++ b/build/nandfirm/menu-launcher/ARM7/main.c @@ -17,8 +17,6 @@ #include #include -#define FIRM_FOR_CTR - /* PROFILE_ENABLE を定義するとある程度のパフォーマンスチェックができます。 利用するためには、main.cかどこかに、u32 profile[256]; u32 pf_cnt = 0; を @@ -231,6 +229,8 @@ void TwlSpMain( void ) // PM_BackLightOn( FALSE ); +#ifndef FIRM_FOR_CTR + if ( !FS_LoadHeader( fd ) ) { OS_TPrintf("Failed to call FS_LoadHeader().\n"); @@ -253,6 +253,8 @@ void TwlSpMain( void ) // PM_BackLightOn( FALSE ); +#endif // FIRM_FOR_CTR + AESi_InitKeysFIRM(); AESi_InitSeed(); // 13: after AESi_InitSeed diff --git a/build/nandfirm/menu-launcher/ARM9/main.c b/build/nandfirm/menu-launcher/ARM9/main.c index fedc1c66..fcac527d 100644 --- a/build/nandfirm/menu-launcher/ARM9/main.c +++ b/build/nandfirm/menu-launcher/ARM9/main.c @@ -18,8 +18,6 @@ #include #include "print.h" -#define FIRM_FOR_CTR - #ifdef FIRM_USE_PRODUCT_KEYS #define RSA_KEY_ADDR OSi_GetFromFirmAddr()->rsa_pubkey[0] // 鍵管理.xls参照 #else @@ -333,6 +331,8 @@ void TwlMain( void ) // 6: after PXI PUSH_PROFILE(); +#ifndef FIRM_FOR_CTR + /* ES (CRYPTO) ライブラリはここまで */ /* SVN_RSA はここから*/ // RSA用ヒープ設定 @@ -351,8 +351,6 @@ void TwlMain( void ) // 8: after PXI PUSH_PROFILE(); -#ifndef FIRM_FOR_CTR - if ( !FS_LoadStatic( NULL ) ) { OS_TPrintf("Failed to call FS_LoadStatic().\n"); @@ -362,6 +360,12 @@ void TwlMain( void ) // 9: after FS_LoadStatic PUSH_PROFILE(); +#else // FIRM_FOR_CTR + + MI_CpuCopyFast( (void*)HW_TWL_MAIN_MEM_SHARED, (void*)HW_ROM_HEADER_BUF, HW_ROM_HEADER_BUF_END - HW_ROM_HEADER_BUF ); + MI_CpuCopyFast( (void*)HW_TWL_MAIN_MEM_SHARED, (void*)HW_TWL_ROM_HEADER_BUF, HW_TWL_ROM_HEADER_BUF_SIZE ); + MI_CpuClearFast( (void*)HW_TWL_MAIN_MEM_SHARED, HW_TWL_ROM_HEADER_BUF_SIZE ); + #endif // FIRM_FOR_CTR PXI_NotifyID( FIRM_PXI_ID_DONE_STATIC );