ランチャーのメモリマップ変更。ARM9への割り当てを増やす。

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1427 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
yosiokat 2008-05-20 11:58:30 +00:00
parent 9a82c1cc2b
commit 251872aadc
7 changed files with 46 additions and 40 deletions

View File

@ -47,7 +47,6 @@ CCFLAGS_OPT = -O4 -inline off
#----------------------------------------------------------------------------
include $(TWL_IPL_RED_ROOT)/build/buildtools/commondefs
include $(TWLSDK_ROOT)/build/libraries/reboot/commondefs.reboot
GLIBRARIES := $(filter-out $(CRT0_O),$(GLIBRARIES))
@ -91,13 +90,19 @@ INSTALL_DIR = $(TWL_INSTALL_COMPONENTSDIR)/$(TARGET_NAME)/$(TWL_BUILDTYPE)
LINCLUDES = $(ROOT)/build/libraries/spi/ARM7/include \
$(ROOT)/build/libraries/spi/ARM7/pm/include \
$(ROOT)/build/libraries/init/common/include \
$(ROOT)/build/libraries/reboot/common/include \
$(SYSMENU_ROOT)/build/libraries_sysmenu/sysmenu/common/include
LLIBRARY_DIRS += ./
LLIBRARIES += libwl_sp.TWL.LTD.a \
libaes_sp.firm.LTD.a \
libsea_sp.TWL.LTD.a
LLIBRARIES += libwl_sp.TWL.LTD.a \
libaes_sp.firm.LTD.a \
libsea_sp.TWL.LTD.a \
libreboot_sp$(TWL_LIBSUFFIX).a
LDEPENDS_NEF = $(TWL_LIBS) $(LLIBRARIES)
do-build: $(TARGETS)
#----------------------------------------------------------------------------

View File

@ -111,9 +111,12 @@ BOOL BOOT_WaitStart( void )
// 起動アプリNTR-ROMヘッダへのパッチ処理のためコピー
MI_CpuCopyFast( th, dh, HW_CARD_ROM_HEADER_SIZE );
// カードNTR-ROMヘッダをNANDアプリやマルチブートのためコピー
// カードNTR-ROMヘッダをNANDアプリやDSダウンロードプレイのためコピー
MI_CpuCopyFast( (void*)SYSM_CARD_ROM_HEADER_BAK, (void*)HW_CARD_ROM_HEADER, HW_CARD_ROM_HEADER_SIZE );
// この処理は、DSダウンロードプレイ側で行う。
// MI_CpuCopyFast ( (void *)HW_CARD_ROM_HEADER, (void *)MB_CARD_ROM_HEADER_ADDRESS, 0x160);
// ブラックリストをチェックし、起動制限をかける
BOOTi_CheckTitleBlackList( (void*)th );

View File

@ -152,12 +152,12 @@ BOOL SYSMi_CheckEntryAddress( void )
{
// エントリアドレスがROM内登録エリアかAGBカートリッジエリアなら、無限ループに入る。
if( !( ( (u32)SYSM_GetCardRomHeader()->main_entry_address >= HW_MAIN_MEM ) &&
( (u32)SYSM_GetCardRomHeader()->main_entry_address < SYSM_ARM9_MMEM_ENTRY_ADDR_LIMIT )
( (u32)SYSM_GetCardRomHeader()->main_entry_address < HW_TWL_MAIN_MEM_SHARED )
) ||
!( ( ( (u32)SYSM_GetCardRomHeader()->sub_entry_address >= HW_MAIN_MEM ) &&
( (u32)SYSM_GetCardRomHeader()->sub_entry_address < SYSM_ARM7_LOAD_MMEM_LAST_ADDR ) ) ||
( ( (u32)SYSM_GetCardRomHeader()->sub_entry_address >= HW_WRAM ) &&
( (u32)SYSM_GetCardRomHeader()->sub_entry_address < SYSM_ARM7_LOAD_WRAM_LAST_ADDR ) )
( (u32)SYSM_GetCardRomHeader()->sub_entry_address < HW_TWL_MAIN_MEM_SHARED ) ) ||
( ( (u32)SYSM_GetCardRomHeader()->sub_entry_address >= HW_WRAM_BASE ) &&
( (u32)SYSM_GetCardRomHeader()->sub_entry_address < SYSM_NTR_ARM7_LOAD_WRAM_END ) )
)
) {
OS_TPrintf("entry address invalid.\n");

View File

@ -20,11 +20,16 @@
Static $(TARGET_NAME)
{
Address 0x02800200
Address 0x02681400
Object $(OBJS_STATIC)
Library $(LLIBS) $(GLIBS) $(CW_LIBS)
}
Autoload REBOOT
{
Address 0x02680200
Library $(REBOOT_LIB)
}
Autoload ITCM
{

View File

@ -19,11 +19,11 @@
# ※コンパイルスイッチの都合上、../../../libraries_sysmenu/sysmenu は有効にしておく
SUBDIRS = \
../../../libraries_sysmenu/sysmenu \
../../../libraries_sysmenu/boot \
../../../components/hyena.TWL \
../../../libraries_sysmenu/hotsw \
../../../libraries_sysmenu/sharedFont \
# ../../../libraries_sysmenu/sysmenu \
# ../../../libraries_sysmenu/boot \
# ../../../components/hyena.TWL \
# ../../../libraries_sysmenu/hotsw \
# ../../../libraries_sysmenu/sharedFont \
# ../../../libraries_sysmenu/reloc_info \
# ../../../libraries_sysmenu/mcu \
# ../../../libraries_sysmenu/ds \
@ -83,8 +83,9 @@ SRCS = main.c launcher.c sound.c bannerCounter.c loadWlanFirm.c loadSharedFo
LINCLUDES = $(MISC_DIR)/include \
$(SRCDIR)/$(LOGO_DIR) \
$(TWLSDK_ROOT)/build/libraries/wm/common.TWL/inc \
$(TWLSDK_ROOT)/build/libraries/wm/ARM9.TWL/nwm/inc
$(ROOT)/build/libraries/wm/common.TWL/inc \
$(ROOT)/build/libraries/wm/ARM9.TWL/nwm/inc \
$(ROOT)/build/libraries/reboot/common/include
LLIBRARIES += libes$(TWL_LIBSUFFIX).a \
libboc$(TWL_LIBSUFFIX).a \
@ -96,13 +97,21 @@ LLIBRARIES += libes$(TWL_LIBSUFFIX).a \
libsharedfont_launcher$(TWL_LIBSUFFIX).a \
WDS$(TWL_LIBSUFFIX).a
REBOOT_LIB = libreboot$(TWL_LIBSUFFIX).a
LDEPENDS_NEF += $(REBOOT_LIB)
ADDRESS_DTCM = 0x0e000000
DEFAULT_COMP_ARM7 = hyena
#----------------------------------------------------------------------------
# Append Flags
MAKELCF_FLAGS += -DREBOOT_LIB='$(REBOOT_LIB)'
MAKEROM_FLAGS += -F \
-DTITLEID_LO='$(TITLEID_LO)' \
-DCARD_REGION='$(CARD_REGION)' \
@ -144,7 +153,7 @@ endif
#----------------------------------------------------------------------------
include $(TWL_IPL_RED_ROOT)/build/buildtools/commondefs
include $(TWLSDK_ROOT)/build/libraries/reboot/commondefs.reboot
# ローカルでビルドしたlibsharedfont_launcherを使用するので、SDKのlibsharedfontは除外する。
GLIBRARIES := $(filter-out libsharedfont$(TWL_LIBSUFFIX).a,$(GLIBRARIES))

View File

@ -29,12 +29,8 @@ extern "C" {
// define data ------------------------------------
// SystemMenu自身のマップ情報定義
#define SYSM_OWN_ARM9_MMEM_ADDR 0x02800000
//#ifdef DEBUG_USED_CARD_SLOT_B_
#define SYSM_OWN_ARM9_MMEM_ADDR_END 0x02e73000
#if 0
#define SYSM_OWN_ARM9_MMEM_ADDR_END 0x02e76000
#endif
#define SYSM_OWN_ARM9_MMEM_ADDR SYSM_TWL_ARM9_LTD_LOAD_MMEM_END
#define SYSM_OWN_ARM9_MMEM_ADDR_END SYSM_TWL_ARM7_LTD_LOAD_MMEM
#define SYSM_OWN_ARM9_MMEM_CODE_ADDR (SYSM_OWN_ARM9_MMEM_ADDR + SYSM_DMA_BUFOVER_BARRIER_SIZE)
#define SYSM_OWN_ARM7_MMEM_ADDR 0x02280000
#define SYSM_OWN_ARM7_MMEM_ADDR_END 0x02380000
@ -47,21 +43,13 @@ extern u32 SDK_AUTOLOAD_WRAM_START[];
#endif
#define SYSM_OWN_ARM7_WRAM_ADDR_END 0x0380f000
#define SYSM_BOOTCODE_ARM9_ADDR 0x027ffc00 // ARM9最終ブートコードアドレス
#define SYSROM9_NINLOGO_ADR 0xffff0020 // ARM9システムROM内の任天堂ロゴ格納アドレス
#define SYSM_DMA_BUFOVER_BARRIER_SIZE 0x0200
// カードアプリ格納バッファROMヘッダバッファはNANDアプリでも使用
#define SYSM_APP_ROM_HEADER_SIZE 0x1000
//#ifdef DEBUG_USED_CARD_SLOT_B_
#define SYSM_CARD_BANNER_BUF ( SYSM_OWN_ARM9_MMEM_ADDR_END )
#define SYSM_CARD_BANNER_BUF_END ( SYSM_CARD_BANNER_BUF + 0x3000 )
#define SYSM_APP_ROM_HEADER_BUF ( SYSM_CARD_BANNER_BUF_END )
#if 0
#define SYSM_APP_ROM_HEADER_BUF ( SYSM_OWN_ARM9_MMEM_ADDR_END )
#endif
#define SYSM_APP_ROM_HEADER_BUF ( 0x02fe6000 )
#define SYSM_APP_ROM_HEADER_BUF_END ( SYSM_APP_ROM_HEADER_BUF + SYSM_APP_ROM_HEADER_SIZE )
#define SYSM_CARD_ROM_HEADER_BAK ( SYSM_APP_ROM_HEADER_BUF_END )
#define SYSM_CARD_ROM_HEADER_BAK_END ( SYSM_CARD_ROM_HEADER_BAK + SYSM_APP_ROM_HEADER_SIZE )
@ -69,6 +57,8 @@ extern u32 SDK_AUTOLOAD_WRAM_START[];
#define SYSM_CARD_NTR_SECURE_BUF_END ( SYSM_CARD_NTR_SECURE_BUF + SECURE_AREA_SIZE )
#define SYSM_CARD_TWL_SECURE_BUF ( SYSM_CARD_NTR_SECURE_BUF_END )
#define SYSM_CARD_TWL_SECURE_BUF_END ( SYSM_CARD_TWL_SECURE_BUF + SECURE_AREA_SIZE )
#define SYSM_CARD_BANNER_BUF ( SYSM_CARD_TWL_SECURE_BUF_END )
#define SYSM_CARD_BANNER_BUF_END ( SYSM_CARD_BANNER_BUF + 0x3000 )
#define SYSM_NTR_ROM_HEADER_BUF 0x023ffe00
#define SYSM_DBG_NTR_ROM_HEADER_BUF 0x027ffe00
@ -92,7 +82,7 @@ extern u32 SDK_AUTOLOAD_WRAM_START[];
#define SYSM_TWL_ARM7_LOAD_WRAM_END SYSM_NTR_ARM7_LOAD_WRAM_END // ロード可能なARM7 static WRAM 最終アドレス
#define SYSM_TWL_ARM9_LTD_LOAD_MMEM 0x02400000 // ロード可能なARM9 LTD static MMEM アドレス
#define SYSM_TWL_ARM9_LTD_LOAD_MMEM_END 0x02800000 // ロード可能なARM9 LTD static MMEM 最終アドレス
#define SYSM_TWL_ARM9_LTD_LOAD_MMEM_END 0x02680000 // ロード可能なARM9 LTD static MMEM 最終アドレス
#define SYSM_TWL_ARM7_LTD_LOAD_MMEM 0x02e80000 // ロード可能なARM7 LTD static MMEM アドレス
#define SYSM_TWL_ARM7_LTD_LOAD_MMEM_END 0x02f88000 // ロード可能なARM7 LTD static MMEM 最終アドレス
#define SYSM_TWL_ARM7_LTD_LOAD_WRAM 0x037c0000 // ロード可能なARM7 LTD static WRAM アドレス
@ -103,12 +93,6 @@ extern u32 SDK_AUTOLOAD_WRAM_START[];
// マウント情報一時バッファ
#define SYSM_TWL_MOUNT_INFO_TMP_BUFFER 0x02ff3400 // マウント情報の一時バッファ
// ※旧NTR-IPL2のレガシーコード 整理予定
#define SYSM_ARM9_LOAD_MMEM_LAST_ADDR 0x02280000 // ロード可能なARM9 staticメインメモリ最終アドレス
#define SYSM_ARM7_LOAD_MMEM_LAST_ADDR 0x023c0000 // ロード可能なARM7 staticメインメモリ最終アドレス
#define SYSM_ARM7_LOAD_WRAM_LAST_ADDR SYSM_OWN_ARM7_WRAM_ADDR_END // ロード可能なARM7 staticメインメモリ最終アドレス
#define SYSM_ARM9_MMEM_ENTRY_ADDR_LIMIT SYSM_ARM9_LOAD_MMEM_LAST_ADDR
#ifdef __cplusplus
}
#endif