mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
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:
parent
a1473a1b02
commit
72fe247474
@ -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
|
||||
{
|
||||
|
||||
@ -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
|
||||
{
|
||||
|
||||
@ -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
|
||||
{
|
||||
|
||||
@ -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
|
||||
{
|
||||
|
||||
@ -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);
|
||||
/*
|
||||
バッテリー残量チェック
|
||||
*/
|
||||
|
||||
Loading…
Reference in New Issue
Block a user