TwlIPL/build/components/hyena.TWL/hyena.lsf

228 lines
10 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#----------------------------------------------------------------------------
# Project: TwlIPL
# File: hyena.lsf
#
# Copyright 2007 Nintendo. All rights reserved.
#
# These coded insructions, statements, and computer programs contain
# proprietary information of Nintendo of America Inc. and/or Nintendo
# Company Ltd., and are protected by Federal copyright law. They may
# not be disclosed to third parties or copied or duplicated in any form,
# in whole or in part, without the prior written consent of Nintendo.
#
# $Date:: $
# $Rev$
# $Author$
#----------------------------------------------------------------------------
#
# Nitro LCF SPEC FILE
#
#--------
Static $(TARGET_NAME)
{
Address $(ADDRESS_FLXMAIN)
Library $(CRT0_O)
Object $(OBJDIR)/initScfg.o
StackSize 1024 1024
}
#--------
Autoload WRAM
{
Address $(ADDRESS_LTDWRAM)
Library libsubpsyscall.a \
libsyscall_sp.twl.a \
$(CW_LIBS) \
libos_sp$(LIBSUFFIX).a \
libmi_sp$(LIBSUFFIX).a \
libpad_sp$(LIBSUFFIX).a \
libpxi_sp$(LIBSUFFIX).a \
libstd_sp$(LIBSUFFIX).a \
libexi_sp$(LIBSUFFIX).a \
libsnd_sp$(LIBSUFFIX).a \
libspi_sp$(LIBSUFFIX).a \
libpm_sp.SYSMENU$(LIBSUFFIX).a \
libmath_sp$(LIBSUFFIX).a \
libscfg_sp$(LIBSUFFIX).a \
libtp_sp$(LIBSUFFIX).a \
libmic_sp$(LIBSUFFIX).a \
libfs_sp$(LIBSUFFIX).a \
libcard_sp$(LIBSUFFIX).a \
libi2c_sp$(LIBSUFFIX).a \
libcamera_sp$(LIBSUFFIX).a \
libcdc_sp$(LIBSUFFIX).a \
libsndex_sp$(LIBSUFFIX).a \
libtpex_sp$(LIBSUFFIX).a \
libmicex_sp$(LIBSUFFIX).a \
libmcu_sp$(LIBSUFFIX).a \
Library libsdio_sp$(LIBSUFFIX).a
Library libnvram_sp$(LIBSUFFIX).a
Library librtc_sp$(LIBSUFFIX).a
Object * (.etable)
Object * (.wram)
Object * (.ltdwram)
Object $(OBJDIR)/main.o
# caches in fatfs library, that should be on WRAM.
# 2007/12/11 OBJECT() による .bss シンボルのリンクがうまくいかないので、
# 変数定義箇所に pragma で .ltdwram セクションに含まれるように暫定対策しました。
# Object OBJECT( FATFSi___mem_drives_structures , libfatfs_sp$(LIBSUFFIX).a) (.bss)
#####
# Sub-routines in WL library , that should be on WRAM.
# in TaskMan.o
Object OBJECT( MainTaskRoutine , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( AddTask , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( DeleteTask , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( LowestIdleTask , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( ExecuteMessage , libwl_sp$(LIBSUFFIX).a ) (.text)
# in BufMan.o
Object OBJECT( NewHeapBuf , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( DeleteHeapBuf , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( AllocateHeapBuf , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( ReleaseHeapBuf , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( MoveHeapBuf , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( AddHeapBuf , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( GetHeapBufNextAdrs , libwl_sp$(LIBSUFFIX).a ) (.text)
# in WlCmdIf.o
Object OBJECT( RequestCmdTask , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( SendMessageToWmDirect , libwl_sp$(LIBSUFFIX).a ) (.text)
# in WlNic.o
Object OBJECT( WStart , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( WStop , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( WSetStaState , libwl_sp$(LIBSUFFIX).a ) (.text)
# in WlIntr.o
Object OBJECT( WlIntr , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( WlIntrPreTbtt , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( WlIntrTbtt , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( WlIntrActEnd , libwl_sp$(LIBSUFFIX).a ) (.text)
# Object OBJECT( WlIntrAckCntOvf , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( WlIntrCntOvf , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( WlIntrTxErr , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( WlIntrRxCntup , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( WlIntrTxEnd , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( WlIntrRxEnd , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( WlIntrMpEnd , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( WlIntrStartTx , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( WlIntrStartRx , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( SetParentTbttTxq , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( MacBugTxMp , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( AdjustRingPointer , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( CheckKeyTxEnd , libwl_sp$(LIBSUFFIX).a ) (.text)
# in WlIntrTask.o
Object OBJECT( WlIntrTxBeaconTask , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( WlIntrTxEndTask , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( WlIntrRxEndTask , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( WlIntrMpEndTask , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( SetParentTbttTxqTask , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( TakeoutRxFrame , libwl_sp$(LIBSUFFIX).a ) (.text)
# in TxCtrl.o
Object OBJECT( InitTxCtrl , libwl_sp$(LIBSUFFIX).a ) (.text)
# in RxCtrl.o
Object OBJECT( InitRxCtrl , libwl_sp$(LIBSUFFIX).a ) (.text)
# in WaitLoop.o
Object OBJECT( WaitLoop_Rxpe , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( WaitLoop_Waitus , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( WaitLoop_ClrAid , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( WaitLoop_BbpAccess , libwl_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( WaitLoop_RfAccess , libwl_sp$(LIBSUFFIX).a ) (.text)
#####
# Sub-routines in TWL WIRELESS Driver , that should be on WRAM.
Object OBJECT( BMILZData, libathdrv_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( bmiBufferSend, libathdrv_sp$(LIBSUFFIX).a ) (.text)
Object OBJECT( BMIWriteMemory, libathdrv_sp$(LIBSUFFIX).a ) (.text)
Library libboot_sp$(LIBSUFFIX).a \
libreboot_sp$(LIBSUFFIX).a \
libhotsw_sp$(LIBSUFFIX).a \
libreloc_info_sp$(LIBSUFFIX).a \
libsysmenu_sp$(LIBSUFFIX).a \
libsysmmcu_sp$(LIBSUFFIX).a \
libds_sp$(LIBSUFFIX).a \
libaes_sp$(FIRM_LIBSUFFIX).a \
libsea_sp$(LIBSUFFIX).a \
libcrypto_sp$(LIBSUFFIX).a
# FATFS core symbols
Object OBJECT(FATFSi_lfi2text, libfatfs_sp$(LIBSUFFIX).a) (.text) # 360 BYTEs
Object OBJECT(FATFSi_pc_findin, libfatfs_sp$(LIBSUFFIX).a) (.text) # 904 BYTEs
Object OBJECT(FATFSi_pc_patcmp_vfat, libfatfs_sp$(LIBSUFFIX).a) (.text) # 436 BYTEs
Object OBJECT(FATFSi_pc_ascii_mfile, libfatfs_sp$(LIBSUFFIX).a) (.text) # 160 BYTEs
Object OBJECT(FATFSi_map_ascii_to_unicode, libfatfs_sp$(LIBSUFFIX).a) (.text) # 48 BYTEs
Object OBJECT(SDCARD_Intr_Thread, libfatfs_sp$(LIBSUFFIX).a) (.text) # 520 BYTEs
Object OBJECT(FATFSi_unicode_cmp_to_ascii_char, libfatfs_sp$(LIBSUFFIX).a) (.text) # 40 BYTEs
Object OBJECT(FATFSi_pc_read_blk, libfatfs_sp$(LIBSUFFIX).a) (.text) # 352 BYTEs
#RTFS
Object OBJECT(FATFSi_rtfs_memset, libfatfs_sp$(LIBSUFFIX).a) (.text) # 0x18 BYTEs
Object OBJECT(FATFSi_faxx_check_free_space, libfatfs_sp$(LIBSUFFIX).a) (.text) # 108 BYTEs
Object OBJECT(fat32_check_freespace, libfatfs_sp$(LIBSUFFIX).a) (.text) # 216 BYTEs
Object OBJECT(fat16_check_freespace, libfatfs_sp$(LIBSUFFIX).a) (.text) # 216 BYTEs
#Driver
Object OBJECT(SDCARDi_CpuReadFifoAes, libfatfs_sp$(LIBSUFFIX).a) (.text) # 0x70 BYTEs
Object OBJECT(SDCARDi_DmaReadFifoAes, libfatfs_sp$(LIBSUFFIX).a) (.text) # 0x64 BYTEs
Object OBJECT(SDCARDi_CpuWriteFifoAes, libfatfs_sp$(LIBSUFFIX).a) (.text) # 0x94 BYTEs
Object OBJECT(SDCARDi_DmaWriteFifoAes, libfatfs_sp$(LIBSUFFIX).a) (.text) # 0x88 BYTEs
Object OBJECT(SYSFPGA_irq, libfatfs_sp$(LIBSUFFIX).a) (.text) # 0x17C BYTEs
Object OBJECT(SDCARDi_CpuRecvFast, libfatfs_sp$(LIBSUFFIX).a) (.text) # 0x40 BYTEs
Object OBJECT(SDCARDi_CpuSendFast, libfatfs_sp$(LIBSUFFIX).a) (.text) # 0x40 BYTEs
Object OBJECT(SD_OrFPGA, libfatfs_sp$(LIBSUFFIX).a) (.text) # 0x34 BYTEs
Object OBJECT(SD_AndFPGA, libfatfs_sp$(LIBSUFFIX).a) (.text) # 0x34 BYTEs
Object OBJECT(SD_SetFPGA, libfatfs_sp$(LIBSUFFIX).a) (.text) # 0x2C BYTEs
Object OBJECT(SD_GetFPGA, libfatfs_sp$(LIBSUFFIX).a) (.text) # 0x30 BYTEs
Object OBJECT(SD_CheckFPGAReg, libfatfs_sp$(LIBSUFFIX).a) (.text) # 0x10 BYTEs
Object OBJECT(NDMA_irq_Handler, libfatfs_sp$(LIBSUFFIX).a) (.text) # 0x54 BYTEs
Object OBJECT(SDCARD_irq_Handler, libfatfs_sp$(LIBSUFFIX).a) (.text) # 0xD8 BYTEs
Object OBJECT(SDCARDi_ReadCore, libfatfs_sp$(LIBSUFFIX).a) (.text) # 0x194 BYTEs
Object OBJECT(SDCARDi_WriteCore, libfatfs_sp$(LIBSUFFIX).a) (.text) # 0x34C BYTEs
Object OBJECT(SDCARD_TimerStart, libfatfs_sp$(LIBSUFFIX).a) (.text) # 0x64 BYTEs
Object OBJECT(SDCARD_TimerStop, libfatfs_sp$(LIBSUFFIX).a) (.text) # 0x30 BYTEs
Object OBJECT(SDCARDi_Access, libfatfs_sp$(LIBSUFFIX).a) (.text) # 0x12C BYTEs
Object OBJECT(SD_Command, libfatfs_sp$(LIBSUFFIX).a) (.text) # 0xF0 BYTEs
Object OBJECT(SD_SendStatus, libfatfs_sp$(LIBSUFFIX).a) (.text) # 0x40 BYTEs
Object OBJECT(SD_MultiReadBlock, libfatfs_sp$(LIBSUFFIX).a) (.text) # 0x7C BYTEs
Object OBJECT(SD_MultiWriteBlock, libfatfs_sp$(LIBSUFFIX).a) (.text) # 0x7C BYTEs
Object OBJECT(SD_TransCommand, libfatfs_sp$(LIBSUFFIX).a) (.text) # 0xA8 BYTEs
Object OBJECT(SD_TransReadyFPGA, libfatfs_sp$(LIBSUFFIX).a) (.text) # 0x8C BYTEs
Object OBJECT(SD_TransEndFPGA, libfatfs_sp$(LIBSUFFIX).a) (.text) # 0x78 BYTEs
Object OBJECT(SD_CheckStatus, libfatfs_sp$(LIBSUFFIX).a) (.text) # 0xC0 BYTEs
Object OBJECT(SD_EnableClock, libfatfs_sp$(LIBSUFFIX).a) (.text) # 0x18 BYTEs
Object OBJECT(SD_DisableClock, libfatfs_sp$(LIBSUFFIX).a) (.text) # 0x1C BYTEs
Object OBJECT(SD_EnableSeccnt, libfatfs_sp$(LIBSUFFIX).a) (.text) # 0x34 BYTEs
Object * (.rsvwram)
}
#--------
Ltdautoload LTDMAIN
{
After $(TARGET_NAME)
Object * (.ltdmain)
Library libwm_sp$(LIBSUFFIX).a \
libnwm_sp.SYSMENU$(LIBSUFFIX).a \
libwvr_sp$(LIBSUFFIX).a \
libwl_sp$(LIBSUFFIX).a
Library libwpa_sp$(LIBSUFFIX).a
Library libathdrv_sp$(LIBSUFFIX).a
Library libfatfs_sp$(LIBSUFFIX).a \
libdht_sp$(LIBSUFFIX).a \
$(USE_CRYPTO_LIBS)
Library $(ISDBG_LIBS_TWL)
Library $(ISDBG_LIBS_NITRO)
}
# BootROMの鍵データが0x0380c400にあるので、hyenaのWRAM配置の上限はその値になることに注意。