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

View File

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

View File

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

View File

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

View File

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