diff --git a/build/libraries/fs/ARM9/src/fs_loader.c b/build/libraries/fs/ARM9/src/fs_loader.c index 5e4d0229..335e8311 100644 --- a/build/libraries/fs/ARM9/src/fs_loader.c +++ b/build/libraries/fs/ARM9/src/fs_loader.c @@ -194,13 +194,11 @@ BOOL FS_LoadBuffer( u8* dest, u32 size, SVCSHA1Context *ctx ) u32 u = unit - done < HASH_UNIT ? unit - done : HASH_UNIT; SVC_SHA1Update( ctx, s, u ); MI_CpuCopyFast( s, d, u ); - MI_CpuClearFast( s, u ); // OS_Bootでのクリアと比較する } } else { MI_CpuCopyFast( src, dest, unit ); - MI_CpuClearFast( src, unit ); // OS_Bootでのクリアと比較する } DC_FlushRange( src, unit ); size -= unit; diff --git a/build/libraries/os/common/os_boot.c b/build/libraries/os/common/os_boot.c index 61d6ed81..c5dbc494 100644 --- a/build/libraries/os/common/os_boot.c +++ b/build/libraries/os/common/os_boot.c @@ -65,6 +65,9 @@ void OS_BootWithRomHeaderFromFIRM( ROM_Header* rom_header ) mem_list[i++] = (u32)OSi_GetFromFirmAddr()->rsa_pubkey[4]; mem_list[i++] = ACS_PUBKEY_LEN; #else // SDK_ARM7 + /* FS_Loader用バッファのクリア */ + mem_list[i++] = HW_FIRM_LOAD_BUFFER_BASE; + mem_list[i++] = HW_FIRM_LOAD_BUFFER_UNIT_SIZE * HW_FIRM_LOAD_BUFFER_UNIT_NUMS; { /* REBOOT_ExecuteのCODEとSTACKの隙間をクリア */ u32 stack_bottom = (u32)stack_top - OS_BOOT_STACK_SIZE_MIN - sizeof(mem_list); u32 code_buf_end = OS_BOOT_CODE_BUF + OS_BOOT_CODE_SIZE;