mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
TWLアプリブート時にLCFG関連のデータをメインメモリに展開しておくよう変更。
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@929 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
87d99166b0
commit
9c68d56d3f
@ -56,7 +56,7 @@ static void BOOTi_CutAwayRegionList( u32 *regionlist, u32 start, u32 end );
|
||||
|
||||
static u32 twl_post_clear_list[POST_CLEAR_NUM_MAX + 1] =
|
||||
{
|
||||
HW_PARAM_RESERVED_END, SYSM_OWN_ARM7_MMEM_ADDR,
|
||||
HW_PARAM_WIRELESS_FIRMWARE_DATA_END, SYSM_OWN_ARM7_MMEM_ADDR,
|
||||
SYSM_OWN_ARM7_MMEM_ADDR_END, OS_BOOT_A9CODE_BUF,
|
||||
OS_BOOT_A9CODE_BUF + OS_BOOT_CODE_SIZE, SYSM_OWN_ARM9_MMEM_ADDR,
|
||||
SYSM_OWN_ARM9_MMEM_ADDR_END, HW_TWL_MAIN_MEM_SHARED,
|
||||
|
||||
@ -38,7 +38,7 @@
|
||||
|
||||
// function's prototype----------------------------------------------
|
||||
static void BOOTi_ClearREG_RAM( void );
|
||||
static void BOOTi_StartBOOT( void );
|
||||
static void BOOTi_CopyLCFGData( void );
|
||||
|
||||
// global variables--------------------------------------------------
|
||||
|
||||
@ -63,7 +63,7 @@ void BOOT_Ready( void )
|
||||
ROM_Header *dh; // DS互換ROMヘッダ
|
||||
BOOL isNtrMode;
|
||||
int i;
|
||||
|
||||
|
||||
// エントリアドレスの正当性をチェックし、無効な場合は無限ループに入る。
|
||||
// SYSMi_CheckEntryAddress();
|
||||
|
||||
@ -106,7 +106,12 @@ void BOOT_Ready( void )
|
||||
{
|
||||
isNtrMode = FALSE;
|
||||
}
|
||||
|
||||
|
||||
// NTRモード起動でない場合は、LCFG関連データをメモリに展開
|
||||
if( !isNtrMode ) {
|
||||
BOOTi_CopyLCFGData();
|
||||
}
|
||||
|
||||
// WRAMの配置
|
||||
{
|
||||
MIHeader_WramRegs *pWRAMREGS = (MIHeader_WramRegs *)th->s.main_wram_config_data;
|
||||
@ -209,3 +214,20 @@ static void BOOTi_ClearREG_RAM( void )
|
||||
// レジスタクリアは基本的に OS_Boot で行う
|
||||
}
|
||||
|
||||
|
||||
// LCFG関連データをメインメモリ先頭の予約領域にコピーする
|
||||
static void BOOTi_CopyLCFGData( 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 );
|
||||
|
||||
// 本体設定データの不要部分をクリアしておく
|
||||
{
|
||||
LCFGTWLSettingsData *pSettings = (LCFGTWLSettingsData *)HW_PARAM_TWL_SETTINGS_DATA;
|
||||
MI_CpuClear32( &pSettings->launcherStatus, sizeof(LCFGTWLLauncherStatus) );
|
||||
MI_CpuClearFast( &pSettings->parental, sizeof(LCFGTWLParentalControl) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user