TwlSDKのdefineを利用するように修正

PROFILEでbootromの処理時間も取得するように修正
メインメモリにPrintfするアドレスの変更

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@504 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
yutaka 2008-01-23 07:04:42 +00:00
parent a1473a1b02
commit 72fe247474
5 changed files with 67 additions and 52 deletions

View File

@ -33,7 +33,7 @@
PRINT_MEMORY_ADDR SPrintfを行います() PRINT_MEMORY_ADDR SPrintfを行います()
FINALROM版でもコードが残るので注意してください FINALROM版でもコードが残るので注意してください
*/ */
#define PRINT_MEMORY_ADDR 0x02000600 #define PRINT_MEMORY_ADDR 0x02FFC800
/* /*
@ -110,8 +110,7 @@ static void PreInit(void)
/* /*
(1)(4) (1)(4)
*/ */
#define FIRM_AVAILABLE_BIT 0x80000000UL *(u32*)HW_RESET_PARAMETER_BUF = (u32)(MCU_GetFreeRegister( OS_MCU_RESET_VALUE_OFS ) | OS_MCU_RESET_VALUE_BUF_ENABLE_MASK);
*(u32*)HW_RESET_PARAMETER_BUF = (u32)MCUi_ReadRegister( MCU_REG_TEMP_ADDR ) | FIRM_AVAILABLE_BIT;
/* /*
*/ */
@ -163,12 +162,17 @@ void TwlSpMain( void )
{ {
int fd; // menu file descriptor int fd; // menu file descriptor
#ifdef PROFILE_ENABLE
// 0: bootrom
profile[pf_cnt++] = OS_TicksToMicroSecondsBROM32(OS_GetTick());
#endif
InitDebugLED(); InitDebugLED();
SetDebugLED(++step); // 0x81 SetDebugLED(++step); // 0x81
PreInit(); PreInit();
// 0: before PXI // 1: before PXI
PUSH_PROFILE(); PUSH_PROFILE();
SetDebugLED(++step); // 0x82 SetDebugLED(++step); // 0x82
@ -176,13 +180,13 @@ void TwlSpMain( void )
OS_EnableIrq(); OS_EnableIrq();
OS_EnableInterrupts(); OS_EnableInterrupts();
// 1: after PXI // 2: after PXI
PUSH_PROFILE(); PUSH_PROFILE();
SetDebugLED(++step); // 0x83 SetDebugLED(++step); // 0x83
PostInit(); PostInit();
// 2: after PM_InitFIRM // 3: after PM_InitFIRM
PUSH_PROFILE(); PUSH_PROFILE();
SetDebugLED(++step); // 0x84 SetDebugLED(++step); // 0x84
@ -195,7 +199,7 @@ void TwlSpMain( void )
goto end; goto end;
} }
// 3: after FS_Init // 4: after FS_Init
PUSH_PROFILE(); PUSH_PROFILE();
SetDebugLED(++step); // 0x85 SetDebugLED(++step); // 0x85
@ -207,7 +211,7 @@ void TwlSpMain( void )
goto end; goto end;
} }
// 4: after PXI // 5: after PXI
PUSH_PROFILE(); PUSH_PROFILE();
SetDebugLED(++step); // 0x86 SetDebugLED(++step); // 0x86
@ -219,7 +223,7 @@ void TwlSpMain( void )
goto end; goto end;
} }
// 5: after FS_OpenSrl // 6: after FS_OpenSrl
PUSH_PROFILE(); PUSH_PROFILE();
SetDebugLED(++step); // 0x87 SetDebugLED(++step); // 0x87
@ -231,7 +235,7 @@ void TwlSpMain( void )
goto end; goto end;
} }
// 6: after FS_LoadHeader // 7: after FS_LoadHeader
PUSH_PROFILE(); PUSH_PROFILE();
SetDebugLED(++step); // 0x88 SetDebugLED(++step); // 0x88
@ -243,7 +247,7 @@ void TwlSpMain( void )
goto end; goto end;
} }
// 7: after PXI // 8: after PXI
PUSH_PROFILE(); PUSH_PROFILE();
SetDebugLED(++step); // 0x89 SetDebugLED(++step); // 0x89
@ -252,7 +256,7 @@ void TwlSpMain( void )
AESi_InitKeysFIRM(); AESi_InitKeysFIRM();
AESi_RecvSeed( rh->s.developer_encrypt ); AESi_RecvSeed( rh->s.developer_encrypt );
// 8: after AESi_RecvSeed // 9: after AESi_RecvSeed
PUSH_PROFILE(); PUSH_PROFILE();
SetDebugLED(++step); // 0x8a SetDebugLED(++step); // 0x8a
@ -264,7 +268,7 @@ void TwlSpMain( void )
goto end; goto end;
} }
// 9: after FS_LoadStatic // 10: after FS_LoadStatic
PUSH_PROFILE(); PUSH_PROFILE();
SetDebugLED(++step); // 0x8b SetDebugLED(++step); // 0x8b
@ -276,7 +280,7 @@ void TwlSpMain( void )
goto end; goto end;
} }
// 10: after PXI // 11: after PXI
PUSH_PROFILE(); PUSH_PROFILE();
#ifdef PROFILE_ENABLE #ifdef PROFILE_ENABLE
{ {

View File

@ -52,7 +52,7 @@ static SVCSignHeapContext acPool;
PRINT_MEMORY_ADDR SPrintfを行います() PRINT_MEMORY_ADDR SPrintfを行います()
FINALROM版でもコードが残るので注意してください FINALROM版でもコードが残るので注意してください
*/ */
#define PRINT_MEMORY_ADDR 0x02000200 #define PRINT_MEMORY_ADDR 0x02FFC000
//#ifdef SDK_FINALROM // FINALROMで無効化 //#ifdef SDK_FINALROM // FINALROMで無効化
//#undef PROFILE_ENABLE //#undef PROFILE_ENABLE
@ -204,9 +204,13 @@ static void EraseAll(void)
void TwlMain( void ) void TwlMain( void )
{ {
#ifdef PROFILE_ENABLE
// 0: bootrom
profile[pf_cnt++] = OS_TicksToMicroSecondsBROM32(OS_GetTick());
#endif
PreInit(); PreInit();
// 0: before PXI // 1: before PXI
PUSH_PROFILE(); PUSH_PROFILE();
OS_InitFIRM(); OS_InitFIRM();
@ -216,12 +220,12 @@ void TwlMain( void )
#ifdef PROFILE_ENABLE #ifdef PROFILE_ENABLE
OS_InitTick(); OS_InitTick();
#endif #endif
// 1: after PXI // 2: after PXI
PUSH_PROFILE(); PUSH_PROFILE();
PostInit(); PostInit();
// 2: after PostInit // 3: after PostInit
PUSH_PROFILE(); PUSH_PROFILE();
if ( !FS_ResolveSrl( MENU_TITLE_ID ) ) if ( !FS_ResolveSrl( MENU_TITLE_ID ) )
@ -230,12 +234,12 @@ void TwlMain( void )
goto end; goto end;
} }
// 3: after FS_ResolveSrl // 4: after FS_ResolveSrl
PUSH_PROFILE(); PUSH_PROFILE();
PXI_NotifyID( FIRM_PXI_ID_SET_PATH ); PXI_NotifyID( FIRM_PXI_ID_SET_PATH );
// 4: after PXI // 5: after PXI
PUSH_PROFILE(); PUSH_PROFILE();
if ( !FS_LoadHeader(&acPool, RSA_KEY_ADDR ) || !CheckHeader() ) if ( !FS_LoadHeader(&acPool, RSA_KEY_ADDR ) || !CheckHeader() )
@ -244,18 +248,18 @@ void TwlMain( void )
goto end; goto end;
} }
// 5: after FS_LoadHeader // 6: after FS_LoadHeader
PUSH_PROFILE(); PUSH_PROFILE();
PXI_NotifyID( FIRM_PXI_ID_DONE_HEADER ); PXI_NotifyID( FIRM_PXI_ID_DONE_HEADER );
// 6: after PXI // 7: after PXI
PUSH_PROFILE(); PUSH_PROFILE();
AESi_SendSeed( FS_GetAesKeySeed() ); AESi_SendSeed( FS_GetAesKeySeed() );
FS_DeleteAesKeySeed(); FS_DeleteAesKeySeed();
// 7: after AESi_SendSeed // 8: after AESi_SendSeed
PUSH_PROFILE(); PUSH_PROFILE();
if ( !FS_LoadStatic() ) if ( !FS_LoadStatic() )
@ -264,12 +268,12 @@ void TwlMain( void )
goto end; goto end;
} }
// 8: after FS_LoadStatic // 9: after FS_LoadStatic
PUSH_PROFILE(); PUSH_PROFILE();
PXI_NotifyID( FIRM_PXI_ID_DONE_STATIC ); PXI_NotifyID( FIRM_PXI_ID_DONE_STATIC );
// 9: after PXI // 10: after PXI
PUSH_PROFILE(); PUSH_PROFILE();
#ifdef PROFILE_ENABLE #ifdef PROFILE_ENABLE
{ {

View File

@ -34,7 +34,7 @@
PRINT_MEMORY_ADDR SPrintfを行います() PRINT_MEMORY_ADDR SPrintfを行います()
FINALROM版でもコードが残るので注意してください FINALROM版でもコードが残るので注意してください
*/ */
#define PRINT_MEMORY_ADDR 0x02000600 #define PRINT_MEMORY_ADDR 0x02FFC800
/* /*
@ -110,8 +110,7 @@ static void PreInit(void)
/* /*
(1)(4) (1)(4)
*/ */
#define FIRM_AVAILABLE_BIT 0x80000000UL *(u32*)HW_RESET_PARAMETER_BUF = (u32)(MCU_GetFreeRegister( OS_MCU_RESET_VALUE_OFS ) | OS_MCU_RESET_VALUE_BUF_ENABLE_MASK);
*(u32*)HW_RESET_PARAMETER_BUF = (u32)MCUi_ReadRegister( MCU_REG_TEMP_ADDR ) | FIRM_AVAILABLE_BIT;
/* /*
*/ */
@ -161,12 +160,17 @@ static void EraseAll(void)
void TwlSpMain( void ) void TwlSpMain( void )
{ {
#ifdef PROFILE_ENABLE
// 0: bootrom
profile[pf_cnt++] = OS_TicksToMicroSecondsBROM32(OS_GetTick());
#endif
InitDebugLED(); InitDebugLED();
SetDebugLED(++step); // 0x81 SetDebugLED(++step); // 0x81
PreInit(); PreInit();
// 0: before PXI // 1: before PXI
PUSH_PROFILE(); PUSH_PROFILE();
SetDebugLED(++step); // 0x82 SetDebugLED(++step); // 0x82
@ -174,13 +178,13 @@ void TwlSpMain( void )
OS_EnableIrq(); OS_EnableIrq();
OS_EnableInterrupts(); OS_EnableInterrupts();
// 1: after PXI // 2: after PXI
PUSH_PROFILE(); PUSH_PROFILE();
SetDebugLED(++step); // 0x83 SetDebugLED(++step); // 0x83
PostInit(); PostInit();
// 2: after PM_InitFIRM // 3: after PM_InitFIRM
PUSH_PROFILE(); PUSH_PROFILE();
SetDebugLED(++step); // 0x84 SetDebugLED(++step); // 0x84
@ -193,25 +197,25 @@ void TwlSpMain( void )
goto end; goto end;
} }
// 3: after FS_Init // 4: after FS_Init
PUSH_PROFILE(); PUSH_PROFILE();
SetDebugLED(++step); // 0x85 SetDebugLED(++step); // 0x85
PM_BackLightOn( FALSE ); PM_BackLightOn( FALSE );
// 4: // 5:
PUSH_PROFILE(); PUSH_PROFILE();
SetDebugLED(++step); // 0x86 SetDebugLED(++step); // 0x86
//PM_BackLightOn( FALSE ); //PM_BackLightOn( FALSE );
// 5: // 6:
PUSH_PROFILE(); PUSH_PROFILE();
SetDebugLED(++step); // 0x87 SetDebugLED(++step); // 0x87
//PM_BackLightOn( FALSE ); //PM_BackLightOn( FALSE );
// 6: // 7:
PUSH_PROFILE(); PUSH_PROFILE();
SetDebugLED(++step); // 0x88 SetDebugLED(++step); // 0x88
@ -223,7 +227,7 @@ void TwlSpMain( void )
goto end; goto end;
} }
// 7: after PXI // 8: after PXI
PUSH_PROFILE(); PUSH_PROFILE();
SetDebugLED(++step); // 0x89 SetDebugLED(++step); // 0x89
@ -232,13 +236,13 @@ void TwlSpMain( void )
AESi_InitKeysFIRM(); AESi_InitKeysFIRM();
AESi_RecvSeed( rh->s.developer_encrypt ); AESi_RecvSeed( rh->s.developer_encrypt );
// 8: after AESi_RecvSeed // 9: after AESi_RecvSeed
PUSH_PROFILE(); PUSH_PROFILE();
SetDebugLED(++step); // 0x8a SetDebugLED(++step); // 0x8a
PM_BackLightOn( FALSE ); PM_BackLightOn( FALSE );
// 9: // 10:
PUSH_PROFILE(); PUSH_PROFILE();
SetDebugLED(++step); // 0x8b SetDebugLED(++step); // 0x8b
@ -250,7 +254,7 @@ void TwlSpMain( void )
goto end; goto end;
} }
// 10: after PXI // 11: after PXI
PUSH_PROFILE(); PUSH_PROFILE();
#ifdef PROFILE_ENABLE #ifdef PROFILE_ENABLE
{ {

View File

@ -53,7 +53,7 @@ static SVCSignHeapContext acPool;
PRINT_MEMORY_ADDR SPrintfを行います() PRINT_MEMORY_ADDR SPrintfを行います()
FINALROM版でもコードが残るので注意してください FINALROM版でもコードが残るので注意してください
*/ */
#define PRINT_MEMORY_ADDR 0x02000200 #define PRINT_MEMORY_ADDR 0x02FFC000
//#ifdef SDK_FINALROM // FINALROMで無効化 //#ifdef SDK_FINALROM // FINALROMで無効化
//#undef PROFILE_ENABLE //#undef PROFILE_ENABLE
@ -207,9 +207,13 @@ void TwlMain( void )
{ {
FSFile file; FSFile file;
#ifdef PROFILE_ENABLE
// 0: bootrom
profile[pf_cnt++] = OS_TicksToMicroSecondsBROM32(OS_GetTick());
#endif
PreInit(); PreInit();
// 0: before PXI // 1: before PXI
PUSH_PROFILE(); PUSH_PROFILE();
OS_InitFIRM(); OS_InitFIRM();
@ -219,12 +223,12 @@ void TwlMain( void )
#ifdef PROFILE_ENABLE #ifdef PROFILE_ENABLE
OS_InitTick(); OS_InitTick();
#endif #endif
// 1: after PXI // 2: after PXI
PUSH_PROFILE(); PUSH_PROFILE();
PostInit(); PostInit();
// 2: after PostInit // 3: after PostInit
PUSH_PROFILE(); PUSH_PROFILE();
if ( !FS_ResolveSrl( MENU_TITLE_ID ) ) if ( !FS_ResolveSrl( MENU_TITLE_ID ) )
@ -233,7 +237,7 @@ void TwlMain( void )
goto end; goto end;
} }
// 3: after FS_ResolveSrl // 4: after FS_ResolveSrl
PUSH_PROFILE(); PUSH_PROFILE();
if ( !FS_OpenSrl( &file ) ) if ( !FS_OpenSrl( &file ) )
@ -242,7 +246,7 @@ void TwlMain( void )
goto end; goto end;
} }
// 4: after FS_OpenSrl // 5: after FS_OpenSrl
PUSH_PROFILE(); PUSH_PROFILE();
if ( !FS_LoadSrlHeader( &file, &acPool, RSA_KEY_ADDR ) || !CheckHeader() ) if ( !FS_LoadSrlHeader( &file, &acPool, RSA_KEY_ADDR ) || !CheckHeader() )
@ -251,17 +255,17 @@ void TwlMain( void )
goto end; goto end;
} }
// 5: after FS_LoadSrlHeader // 6: after FS_LoadSrlHeader
PUSH_PROFILE(); PUSH_PROFILE();
PXI_NotifyID( FIRM_PXI_ID_DONE_HEADER ); PXI_NotifyID( FIRM_PXI_ID_DONE_HEADER );
// 6: after PXI // 7: after PXI
PUSH_PROFILE(); PUSH_PROFILE();
AESi_SendSeed( FS_GetAesKeySeed() ); AESi_SendSeed( FS_GetAesKeySeed() );
// 7: after AESi_SendSeed // 8: after AESi_SendSeed
PUSH_PROFILE(); PUSH_PROFILE();
if ( !FS_LoadSrlStatic( &file ) ) if ( !FS_LoadSrlStatic( &file ) )
@ -270,12 +274,12 @@ void TwlMain( void )
goto end; goto end;
} }
// 8: after FS_LoadSrlStatic // 9: after FS_LoadSrlStatic
PUSH_PROFILE(); PUSH_PROFILE();
PXI_NotifyID( FIRM_PXI_ID_DONE_STATIC ); PXI_NotifyID( FIRM_PXI_ID_DONE_STATIC );
// 9: after PXI // 10: after PXI
PUSH_PROFILE(); PUSH_PROFILE();
#ifdef PROFILE_ENABLE #ifdef PROFILE_ENABLE
{ {

View File

@ -110,8 +110,7 @@ static void PreInit(void)
/* /*
(1)(4) (1)(4)
*/ */
#define FIRM_AVAILABLE_BIT 0x80000000UL *(u32*)HW_RESET_PARAMETER_BUF = (u32)(MCU_GetFreeRegister( OS_MCU_RESET_VALUE_OFS ) | OS_MCU_RESET_VALUE_BUF_ENABLE_MASK);
*(u32*)HW_RESET_PARAMETER_BUF = (u32)MCUi_ReadRegister( MCU_REG_TEMP_ADDR ) | FIRM_AVAILABLE_BIT;
/* /*
*/ */