後処理、システムメニュー確認の内部関数追加(中身はない)

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@44 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
yutaka 2007-10-10 11:05:35 +00:00
parent 21f1b03fb3
commit 9489eeb559
2 changed files with 62 additions and 13 deletions

View File

@ -54,13 +54,12 @@ u32 profile[PRFILE_MAX];
u32 pf_cnt = 0;
#endif
/*
/***************************************************************
PreInit
FromBootの対応をまとめる
FromBootの対応をまとめる
OS_Init前なので注意 (ARM9によるメインメモリ初期化で消されないように注意)
*/
***************************************************************/
static void PreInit(void)
{
@ -77,6 +76,20 @@ static void PreInit(void)
MIi_CpuClearFast( 0, (void*)OSi_GetFromBromAddr(), sizeof(OSFromBromBuf) );
}
/***************************************************************
EraseAll
DSモードにして終わるのがよいか
***************************************************************/
static void EraseAll(void)
{
#ifdef SDK_FINALROM
// TODO
#endif
}
void TwlSpMain( void )
{
// OS_InitDebugLED and OS_SetDebugLED are able to call after OS_Init
@ -211,11 +224,14 @@ void TwlSpMain( void )
}
}
// failed
PXI_NotifyID( FIRM_PXI_ID_NULL );
OS_SetDebugLED( (u8)(0xF0 | step));
OS_Terminate();
EraseAll();
// failed
while (1)
{
PXI_NotifyID( FIRM_PXI_ID_NULL );
}
}

View File

@ -51,13 +51,12 @@ u32 profile[PRFILE_MAX];
u32 pf_cnt = 0;
#endif
/*
/***************************************************************
PreInit
FromBootの対応をまとめる
OS_Init前なので注意
*/
***************************************************************/
static void PreInit(void)
{
/*
@ -80,6 +79,34 @@ static void PreInit(void)
MIi_CpuClearFast( 0, (void*)OSi_GetFromBromAddr(), sizeof(OSFromBromBuf) );
}
/***************************************************************
CheckHeader
32Bは固定値と思われ ()
***************************************************************/
static BOOL CheckHeader(void)
{
#ifdef BOOT_SECURE_SRL
// TODO
#endif
return TRUE;
}
/***************************************************************
EraseAll
DSモードにして終わるのがよいか
***************************************************************/
static void EraseAll(void)
{
#ifdef SDK_FINALROM
// TODO
#endif
}
void TwlMain( void )
{
PreInit();
@ -99,7 +126,7 @@ void TwlMain( void )
SVC_InitSignHeap( acPool, acHeap, sizeof(acHeap) );
// load menu
if ( MI_LoadHeader( acPool, RSA_KEY_ADDR ) && MI_LoadMenu() )
if ( MI_LoadHeader( acPool, RSA_KEY_ADDR ) && CheckHeader() && MI_LoadMenu() )
{
#ifndef SDK_FINALROM
// 127: before BootMenu
@ -110,6 +137,12 @@ void TwlMain( void )
MI_BootMenu();
}
OS_Terminate();
EraseAll();
// failed
while (1)
{
PXI_NotifyID( FIRM_PXI_ID_NULL );
}
}