mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
228 lines
10 KiB
Plaintext
228 lines
10 KiB
Plaintext
#----------------------------------------------------------------------------
|
||
# 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配置の上限はその値になることに注意。
|