・ROMロード時、ヘッダ情報が書き換えられないための保険追加

・MachineSettingのIDが違っていたので修正(暫定処置)
・ランチャー再起動の時はデバッガがつながっていてもフリーランするように変更

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@939 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
yoshida_teruhisa 2008-03-25 08:16:41 +00:00
parent b06a9529fd
commit 61ee307295
3 changed files with 11 additions and 2 deletions

View File

@ -246,7 +246,8 @@ static TitleProperty *SYSMi_CheckShortcutBoot( void )
// 量産工程用ショートカットキー or
// 検査カード起動
//-----------------------------------------------------
if( SYSM_IsExistCard() ) {
if( SYSM_IsExistCard() && !SYSM_GetLauncherParamBody()->v1.flags.isLogoSkip ) {
// 「カード存在」且つ「ランチャー再起動指定(=ロゴスキップ且つタイトル直接起動指定無し)でない」
if( ( SYSMi_GetWork()->flags.hotsw.isOnDebugger && // ISデバッガが有効かつJTAGがまだ有効でない時
!( *(u8 *)( HW_SYS_CONF_BUF + HWi_WSYS09_OFFSET ) & HWi_WSYS09_JTAG_CPUJE_MASK ) ) ||
SYSM_IsInspectCard() ||

View File

@ -70,6 +70,8 @@ static AuthResult s_authResult = AUTH_RESULT_PROCESSING; // ROM
static MbAuthCode s_authcode;
static BOOL s_loadstart = FALSE;
// const data------------------------------------------------------------------
static const OSBootType s_launcherToOSBootType[ LAUNCHER_BOOTTYPE_MAX ] = {
OS_BOOTTYPE_ILLEGAL, // ILLEGAL
@ -144,6 +146,11 @@ BOOL SYSM_GetCardTitleList( TitleProperty *pTitleList_Card )
{
BOOL retval = FALSE;
if(s_loadstart)
{
// ロード開始していたら、もうヘッダやタイトル情報は変更しない
return retval;
}
// [TODO:] ROMヘッダの platform_code がNTR,TWL-HYB,TWL-LTD以外のもの
// region_codeが本体情報と違うもの
// の場合は、正常に認識できないタイトルであることを示す。
@ -513,6 +520,7 @@ void SYSM_StartLoadTitle( TitleProperty *pBootTitle )
static u64 stack[ STACK_SIZE / sizeof(u64) ];
SYSMi_EnableHotSW( FALSE );
s_loadstart = TRUE;
// このあとCardRomヘッダバッファにROMヘッダを上書きで読み込むので
// この時点でHotSWが止まっていないと、さらにカードのROMヘッダ
// を上書きしてしまう可能性がある

View File

@ -39,7 +39,7 @@ extern "C" {
#define CARD_SLOT_NUM 1 // カードスロット数
#define LAUNCHER_TITLE_LIST_NUM 40 // ランチャーのタイトルリスト数
#define TITLE_ID_MACHINE_SETTINGS ( 0x000300054d534554LLU ) // 本体設定のタイトルID
#define TITLE_ID_MACHINE_SETTINGS ( 0x000300154d534554LLU ) // 本体設定のタイトルID
#define SYSM_PAD_PRODUCTION_SHORTCUT_CARD_BOOT ( PAD_BUTTON_A | PAD_BUTTON_B \
| PAD_BUTTON_X | PAD_BUTTON_Y | PAD_BUTTON_R )