アプリ間パラメータクリアのタイミング修正、DATAONLYなアプリをロードしないよう修正

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1311 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
yoshida_teruhisa 2008-05-12 08:24:19 +00:00
parent 0b9e7a66db
commit 226a7aa4bb
3 changed files with 15 additions and 4 deletions

View File

@ -252,6 +252,13 @@ TitleProperty *SYSM_ReadParameters( void )
}
}
}
// アプリジャンプでないときには、アプリ間パラメタをクリア
// [TODO:]あらかじめNTRカードのセキュア領域を退避せずに直接0x2000000からロードしている場合も容赦なく消すので注意
if( !pBootTitle )
{
MI_CpuClearFast((void *)HW_PARAM_DELIVER_ARG, HW_PARAM_DELIVER_ARG_SIZE);
}
//-----------------------------------------------------
// ISデバッガバナーViewモード起動

View File

@ -579,7 +579,7 @@ OS_TPrintf("RebootSystem failed: cant seek file(%d)\n", source[i]);
#ifdef LOAD_APP_VIA_WRAM
OS_TPrintf("RebootSystem : Load VIA WRAM %d.\n", i);
// [TODO:]ここで同時にAES処理もやってしまう予定
// ここでロード処理と同時にハッシュ計算とAES処理もやってしまう
// 別スレッドで同じWRAM使おうとすると多分コケるので注意
// コールバック関数に与える引数を初期化してRead
@ -655,6 +655,13 @@ void SYSM_StartLoadTitle( TitleProperty *pBootTitle )
while( HOTSW_isEnableHotSW() != FALSE ) {
OS_Sleep( 2 );
}
// DataOnlyなアプリはロードも起動もしない
if( pBootTitle->titleID & TITLE_ID_DATA_ONLY_FLAG_MASK )
{
OS_TPrintf("SYSM_StartLoadTitle failed: This App has Data_Only flag.\n");
return;
}
s_loadstart = TRUE;
// このあとCardRomヘッダバッファにROMヘッダを上書きで読み込むので

View File

@ -150,9 +150,6 @@ void TwlMain( void )
// 「ダイレクトブートでない」なら
if( !pBootTitle ) {
// アプリ間パラメタをクリア
// TODO:あらかじめNTRカードのセキュア領域を退避せずに直接0x2000000からロードしている場合も容赦なく消すので注意
MI_CpuClearFast((void *)HW_PARAM_DELIVER_ARG, HW_PARAM_DELIVER_ARG_SIZE);
// NAND & カードアプリリスト取得
(void)SYSM_GetNandTitleList( s_titleList, LAUNCHER_TITLE_LIST_NUM ); // NANDアプリリストの取得内蔵アプリはs_titleList[1]から格納される)