mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
NandInitializerのver.0を起動制限かけるようBOOTi_CheckTitleBlackList関数を追加。
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1239 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
69dfa38c33
commit
97de191f0a
@ -29,18 +29,32 @@
|
||||
|
||||
|
||||
// define data-------------------------------------------------------
|
||||
#define SUBP_RECV_IF_ENABLE 0x4000
|
||||
#define SUBP_RECV_IF_ENABLE 0x4000
|
||||
#define TITLE_ID_NAND_INITIALIZER 0x00030011304E4941UL // 0NIA
|
||||
|
||||
// 起動制限をかけるタイトル一覧
|
||||
typedef struct TitleBlackList {
|
||||
OSTitleId titleID;
|
||||
int rom_version;
|
||||
}TitleBlackList;
|
||||
|
||||
// extern data-------------------------------------------------------
|
||||
|
||||
// function's prototype----------------------------------------------
|
||||
static void BOOTi_ClearREG_RAM( void );
|
||||
static void BOOTi_CopyLCFGData( void );
|
||||
static void BOOTi_CheckTitleBlackList( void );
|
||||
|
||||
// global variables--------------------------------------------------
|
||||
|
||||
// static variables--------------------------------------------------
|
||||
|
||||
// 起動制限をかけるタイトル一覧
|
||||
static const TitleBlackList s_blackList[] = {
|
||||
{ TITLE_ID_NAND_INITIALIZER, 0 },
|
||||
{ 0UL, -1 },
|
||||
};
|
||||
|
||||
|
||||
// const data--------------------------------------------------------
|
||||
void BOOT_Init( void )
|
||||
{
|
||||
@ -62,6 +76,9 @@ void BOOT_Ready( void )
|
||||
BOOL isNtrMode;
|
||||
int i;
|
||||
|
||||
// ブラックリストをチェックし、起動制限をかける
|
||||
BOOTi_CheckTitleBlackList();
|
||||
|
||||
// エントリアドレスの正当性をチェックし、無効な場合は無限ループに入る。
|
||||
// SYSMi_CheckEntryAddress();
|
||||
|
||||
@ -102,11 +119,6 @@ void BOOT_Ready( void )
|
||||
isNtrMode = FALSE;
|
||||
}
|
||||
|
||||
// NTRモード起動でない場合は、LCFG関連データをメモリに展開
|
||||
/* if( !isNtrMode ) {
|
||||
BOOTi_CopyLCFGData();
|
||||
}
|
||||
*/
|
||||
// WRAMの配置
|
||||
{
|
||||
MIHeader_WramRegs *pWRAMREGS = (MIHeader_WramRegs *)th->s.main_wram_config_data;
|
||||
@ -216,20 +228,21 @@ static void BOOTi_ClearREG_RAM( void )
|
||||
// レジスタクリアは基本的に OS_Boot で行う
|
||||
}
|
||||
|
||||
/*
|
||||
// LCFG関連データをメインメモリ先頭の予約領域にコピーする
|
||||
static void BOOTi_CopyLCFGData( void )
|
||||
|
||||
// 起動制限をかけるブラックリストTITLEのチェック
|
||||
static void BOOTi_CheckTitleBlackList( void )
|
||||
{
|
||||
// 本体設定データ、HWノーマル情報、HWセキュア情報をメモリに展開しておく
|
||||
MI_CpuCopyFast( LCFGi_GetTSD(), (void *)HW_PARAM_TWL_SETTINGS_DATA, sizeof(LCFGTWLSettingsData) );
|
||||
MI_CpuCopyFast( LCFGi_GetHWN(), (void *)HW_PARAM_TWL_HW_NORMAL_INFO, sizeof(LCFGTWLHWNormalInfo) );
|
||||
MI_CpuCopyFast( LCFGi_GetHWS(), (void *)HW_HW_SECURE_INFO, HW_HW_SECURE_INFO_END - HW_HW_SECURE_INFO );
|
||||
const TitleBlackList *pBlackList = &s_blackList[ 0 ];
|
||||
ROM_Header_Short *pROMH = (ROM_Header_Short *)HW_TWL_ROM_HEADER_BUF;
|
||||
|
||||
// 本体設定データの不要部分をクリアしておく
|
||||
{
|
||||
LCFGTWLSettingsData *pSettings = (LCFGTWLSettingsData *)HW_PARAM_TWL_SETTINGS_DATA;
|
||||
MI_CpuClear32( &pSettings->launcherStatus, sizeof(LCFGTWLLauncherStatus) );
|
||||
MI_CpuClearFast( &pSettings->parental, sizeof(LCFGTWLParentalControl) );
|
||||
while( pBlackList->rom_version >= 0 ) {
|
||||
if( ( pBlackList->titleID == pROMH->titleID ) &&
|
||||
( pBlackList->rom_version == pROMH->rom_version ) ) {
|
||||
OS_TPrintf( "Hit black list : %c%c%c%c ver.%d...Terminate.\n",
|
||||
pROMH->titleID_Lo[ 3 ], pROMH->titleID_Lo[ 2 ], pROMH->titleID_Lo[ 1 ], pROMH->titleID_Lo[ 0 ],
|
||||
pROMH->rom_version );
|
||||
OS_Terminate();
|
||||
}
|
||||
pBlackList++;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
Loading…
Reference in New Issue
Block a user