From abcf2ee9999912416934fd3e008fd23334a5fca2 Mon Sep 17 00:00:00 2001 From: nakasima Date: Tue, 29 Jan 2008 03:04:59 +0000 Subject: [PATCH] =?UTF-8?q?DS=E3=83=96=E3=83=BC=E3=83=88=E6=99=82=E3=81=AB?= =?UTF-8?q?=E3=83=A9=E3=83=B3=E3=83=81=E3=83=A3=E3=83=BC=E3=81=AEROM?= =?UTF-8?q?=E3=83=98=E3=83=83=E3=83=80=E3=81=8C=E6=AE=8B=E3=81=A3=E3=81=A6?= =?UTF-8?q?=E3=81=84=E3=82=8B=E9=A0=98=E5=9F=9F=E3=82=92=E3=82=AF=E3=83=AA?= =?UTF-8?q?=E3=82=A2=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@532 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- build/libraries_sysmenu/sysmenu/ARM9/src/title.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/build/libraries_sysmenu/sysmenu/ARM9/src/title.c b/build/libraries_sysmenu/sysmenu/ARM9/src/title.c index c826870f..1bbb4724 100644 --- a/build/libraries_sysmenu/sysmenu/ARM9/src/title.c +++ b/build/libraries_sysmenu/sysmenu/ARM9/src/title.c @@ -452,11 +452,15 @@ void SYSM_StartLoadTitle( TitleProperty *pBootTitle ) MI_CpuCopy8( SYSM_GetLauncherParamBody()->v1.relocInfo, SYSMi_GetWork()->romRelocateInfo, sizeof(Relocate_Info)*RELOCATE_INFO_NUM ); // 更にヘッダを再配置 if( ((ROM_Header_Short *)(OS_TWL_HEADER_PRELOAD_MMEM))->platform_code & PLATFORM_CODE_FLAG_TWL ) { + // TWLモード // TWL-ROMヘッダ情報の再配置 MI_CpuCopyFast( (void *)(OS_TWL_HEADER_PRELOAD_MMEM), (void *)HW_TWL_ROM_HEADER_BUF, SYSM_CARD_ROM_HEADER_SIZE ); MI_CpuCopyFast( (void *)(OS_TWL_HEADER_PRELOAD_MMEM), (void *)HW_ROM_HEADER_BUF, HW_ROM_HEADER_BUF_END - HW_ROM_HEADER_BUF ); }else { + // NTRモード // TWL-ROMヘッダ情報の再配置 + // ランチャーのROMヘッダが残っている非コピー領域もクリア + MI_CpuClearFast( (void *)HW_TWL_ROM_HEADER_BUF, SYSM_CARD_ROM_HEADER_SIZE ); MI_CpuCopyFast( (void *)(OS_TWL_HEADER_PRELOAD_MMEM), (void *)HW_TWL_ROM_HEADER_BUF, HW_ROM_HEADER_BUF_END - HW_ROM_HEADER_BUF ); MI_CpuCopyFast( (void *)(OS_TWL_HEADER_PRELOAD_MMEM), (void *)HW_ROM_HEADER_BUF, HW_ROM_HEADER_BUF_END - HW_ROM_HEADER_BUF ); // NTR-ROMヘッダ情報の再配置は、rebootライブラリで行う。 @@ -482,6 +486,7 @@ static void SYSMi_Relocate( void ) MI_CpuCopyFast( (void *)SYSM_CARD_NTR_SECURE_BUF, dest, size ); if( SYSM_GetCardRomHeader()->platform_code & PLATFORM_CODE_FLAG_TWL ) { + // TWLモード // TWLセキュア領域の再配置 dest = SYSM_GetCardRomHeader()->main_ltd_ram_address; DC_InvalidateRange( (void *)SYSM_CARD_TWL_SECURE_BUF, SECURE_AREA_SIZE ); // キャッシュケア @@ -497,7 +502,10 @@ static void SYSMi_Relocate( void ) MI_CpuCopyFast( (void *)SYSM_CARD_ROM_HEADER_BUF, (void *)HW_TWL_ROM_HEADER_BUF, SYSM_CARD_ROM_HEADER_SIZE ); MI_CpuCopyFast( (void *)SYSM_CARD_ROM_HEADER_BUF, (void *)HW_ROM_HEADER_BUF, HW_ROM_HEADER_BUF_END - HW_ROM_HEADER_BUF ); }else { + // NTRモード // TWL-ROMヘッダ情報の再配置 + // ランチャーのROMヘッダが残っている非コピー領域もクリア + MI_CpuClearFast( (void *)HW_TWL_ROM_HEADER_BUF, SYSM_CARD_ROM_HEADER_SIZE ); MI_CpuCopyFast( (void *)SYSM_CARD_ROM_HEADER_BUF, (void *)HW_TWL_ROM_HEADER_BUF, HW_ROM_HEADER_BUF_END - HW_ROM_HEADER_BUF ); MI_CpuCopyFast( (void *)SYSM_CARD_ROM_HEADER_BUF, (void *)HW_ROM_HEADER_BUF, HW_ROM_HEADER_BUF_END - HW_ROM_HEADER_BUF ); }