mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
セキュア領域を再配置する際、romの再配置情報を考慮するように変更
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@392 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
094ea77c0a
commit
696d3641e2
@ -693,18 +693,30 @@ void SYSM_StartLoadTitle( TitleProperty *pBootTitle )
|
||||
static void SYSMi_Relocate( void )
|
||||
{
|
||||
u32 size;
|
||||
u32 *dest = SYSM_GetCardRomHeader()->main_ram_address;
|
||||
// NTRセキュア領域の再配置
|
||||
DC_InvalidateRange( (void *)SYSM_CARD_NTR_SECURE_BUF, SECURE_AREA_SIZE ); // キャッシュケア
|
||||
size = ( SYSM_GetCardRomHeader()->main_size < SECURE_AREA_SIZE ) ?
|
||||
SYSM_GetCardRomHeader()->main_size : SECURE_AREA_SIZE;
|
||||
MI_CpuCopyFast( (void *)SYSM_CARD_NTR_SECURE_BUF, SYSM_GetCardRomHeader()->main_ram_address, size );
|
||||
// romの再配置情報を参照して、セキュア領域の再配置先を変更する必要が無いか調べる
|
||||
if( SYSMi_GetWork()->romRelocateInfo[ARM9_STATIC].src != NULL )
|
||||
{
|
||||
dest = (u32 *)SYSMi_GetWork()->romRelocateInfo[ARM9_STATIC].src;
|
||||
}
|
||||
MI_CpuCopyFast( (void *)SYSM_CARD_NTR_SECURE_BUF, dest, size );
|
||||
|
||||
if( SYSM_GetCardRomHeader()->platform_code & PLATFORM_CODE_FLAG_TWL ) {
|
||||
// TWLセキュア領域の再配置
|
||||
dest = SYSM_GetCardRomHeader()->main_ltd_ram_address;
|
||||
DC_InvalidateRange( (void *)SYSM_CARD_TWL_SECURE_BUF, SECURE_AREA_SIZE ); // キャッシュケア
|
||||
size = ( SYSM_GetCardRomHeader()->main_ltd_size < SECURE_AREA_SIZE ) ?
|
||||
SYSM_GetCardRomHeader()->main_ltd_size : SECURE_AREA_SIZE;
|
||||
MI_CpuCopyFast( (void *)SYSM_CARD_TWL_SECURE_BUF, SYSM_GetCardRomHeader()->main_ltd_ram_address, size );
|
||||
// romの再配置情報を参照して、セキュア領域の再配置先を変更する必要が無いか調べる
|
||||
if( SYSMi_GetWork()->romRelocateInfo[ARM9_LTD_STATIC].src != NULL )
|
||||
{
|
||||
dest = (u32 *)SYSMi_GetWork()->romRelocateInfo[ARM9_LTD_STATIC].src;
|
||||
}
|
||||
MI_CpuCopyFast( (void *)SYSM_CARD_TWL_SECURE_BUF, dest, size );
|
||||
// TWL-ROMヘッダ情報の再配置
|
||||
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 );
|
||||
|
||||
Loading…
Reference in New Issue
Block a user