再配置情報関連の修正版。ある程度動作確認がとれたのでコミット。

・ROMロード位置から再配置情報の自動設定を実装
・post clearのリスト生成は未実装(考案中)

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@305 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
yoshida_teruhisa 2007-12-04 02:35:45 +00:00
parent 17573105db
commit 83ece203e0
2 changed files with 4 additions and 4 deletions

View File

@ -73,7 +73,7 @@ BOOL BOOT_WaitStart( void )
int list_count = PRE_CLEAR_NUM_MAX + 1;
int l;
// メモリリストの設定
static u32 mem_list[PRE_CLEAR_NUM_MAX + 1 + COPY_NUM_MAX + 2 + POST_CLEAR_NUM_MAX] =
static u32 mem_list[PRE_CLEAR_NUM_MAX + 1 + COPY_NUM_MAX + 2 + POST_CLEAR_NUM_MAX + 1] =
{
// pre clear
SYSM_OWN_ARM7_MMEM_ADDR, SYSM_OWN_ARM7_MMEM_ADDR_END - SYSM_OWN_ARM7_MMEM_ADDR,

View File

@ -560,7 +560,7 @@ static BOOL SYSMi_CheckLoadRegionAndSetRelocateInfoEx
}
// ここまで来ていれば再配置可能
if( default_region.start <= *dest && default_region.end <= *dest + length )
if( default_region.start <= *dest && *dest < default_region.end )
{
// デフォルト配置領域の後部に、再配置先の先頭部が被っているので、後方コピーフラグON
info->rev = TRUE;
@ -588,7 +588,7 @@ static BOOL SYSMi_CheckLoadRegionAndSetRelocateInfo( RomSegmentName seg, u32 *de
static void SYSMi_LoadTitleThreadFunc( TitleProperty *pBootTitle )
{ enum
{
region_header,
region_header = 0,
region_arm9_ntr,
region_arm7_ntr,
region_arm9_twl,
@ -683,7 +683,7 @@ OS_TPrintf("RebootSystem failed: logo CRC error\n");
// 領域読み込み先のチェック及び再配置情報データの作成
for( i=0; i<RELOCATE_INFO_NUM; i++ )
{
if ( !SYSMi_CheckLoadRegionAndSetRelocateInfo( (RomSegmentName)i, &(destaddr[i+1]), length[i+1], &(SYSMi_GetWork()->romRelocateInfo[i]) ) )
if ( !SYSMi_CheckLoadRegionAndSetRelocateInfo( (RomSegmentName)i, &(destaddr[i+region_arm9_ntr]), length[i+region_arm9_ntr], &(SYSMi_GetWork()->romRelocateInfo[i]) ) )
{
OS_TPrintf("RebootSystem failed: ROM Load Region error\n");
FS_CloseFile(file);