From e6d87036412b952cb083eff2dc716aee97a771f2 Mon Sep 17 00:00:00 2001 From: Roman Yeryomin Date: Fri, 17 May 2013 20:40:24 +0300 Subject: Move to rsdk 3.2.4. Compiles cleanly. Signed-off-by: Roman Yeryomin --- .../files/arch/rlx/bsp_rtl8196eu/vmlinux.lds.S | 592 +++++++++++++++++++++ 1 file changed, 592 insertions(+) create mode 100755 target/linux/realtek/files/arch/rlx/bsp_rtl8196eu/vmlinux.lds.S (limited to 'target/linux/realtek/files/arch/rlx/bsp_rtl8196eu/vmlinux.lds.S') diff --git a/target/linux/realtek/files/arch/rlx/bsp_rtl8196eu/vmlinux.lds.S b/target/linux/realtek/files/arch/rlx/bsp_rtl8196eu/vmlinux.lds.S new file mode 100755 index 000000000..d300ec6b4 --- /dev/null +++ b/target/linux/realtek/files/arch/rlx/bsp_rtl8196eu/vmlinux.lds.S @@ -0,0 +1,592 @@ +#include +#include + +#undef mips +#define mips mips +OUTPUT_ARCH(mips) +ENTRY(kernel_entry) +PHDRS { + text PT_LOAD FLAGS(7); /* RWX */ + note PT_NOTE FLAGS(4); /* R__ */ +} +jiffies = JIFFIES; + +SECTIONS +{ + . = LOADADDR; + /* read-only */ + _text = .; /* Text and read-only data */ + .text : { + TEXT_TEXT +#ifdef CONFIG_RTK_VOIP + . = ALIGN(8); + *(.AllPoleFilter_fixed16s) + *(.AllZeroFilter_fixed16s) + *(.getCBvec_fixed16s) + + . = ALIGN(ZZ_IRAMSIZE_ZZ); + __ILBCENC_IMEM_start = .; + *(.iLBC_Lsp_Azs) + *(.iLBC_Get_lsp_pols) + *(.iLBC_crossconvs) + *(.iLBC_Autocorrs) + *(.iLBC_Levinsons) + *(.iCBSearch_hbsrchlps) + *(.iCBSearch_mainlps) + *(.iCBSearch_hbsrchstg0s) + *(.iCBSearch_Loop4s) + *(.ilbcenc_oper_32bs) + *(.iLBC_Chebps_1xs) + *(.searchAugmentedCB_fixeds) + *(.createAugmentedVec_fixed16s) + *(.iCBSearch_scal_bufs) + *(.filteredCBvecs_fixed16s) + __ILBCENC_IMEM_end = .; + + . = ALIGN(ZZ_IRAMSIZE_ZZ); + __ILBCDEC_IMEM_start = .; + *(.doThePLC_fixed16s) + *(.enhancerInterface_fixed16s) + *(.smath_fixed16s) + *(.ilbcdec_oper_32bs) + *(.compCorr_fixed16s) + *(.hpOutput_fixed16s) + *(.xCorrCoef_fixed16s) + *(.iLBC_Iirs) + *(.iLBC_Syn_filts) + *(.mycorr1_fixed16s) + *(.mycorr2_fixed16s) + *(.refiner_fixed16) + *(.enh_upsample_fixed16) + *(.iLBC_decode) + __ILBCDEC_IMEM_end = .; + +#if 0 + /* g729 codec */ + *(.Pre_Process2s) + *(.Cor_hs) + *(.D4i40_17_fasts) + *(.Corr_xy2s) + *(.imem8K) + *(.imem16K) + *(.imem32K) + *(.utility) + *(.memset) + *(.preemphasiss) + *(.g729_utils) + *(.dspfuncs) +#endif +#endif + SCHED_TEXT + LOCK_TEXT + KPROBES_TEXT + *(.text.*) + *(.fixup) + *(.gnu.warning) +/*#ifdef CONFIG_RTL8192SE*/ +#if 1 + /* start of wlan f/w definition */ + __fw_start = . ; + *(.rtl8192sfw.bin) + __fw_end = . ; + + __AGC_TAB_start = . ; + *(.AGC_TAB.txt) + __AGC_TAB_end = . ; + + __phy_reg_start = . ; + *(.phy_reg.txt) + __phy_reg_end = . ; + + __phy_reg_MP_start = . ; + *(.phy_reg_MP.txt) + __phy_reg_MP_end = . ; + + __MACPHY_REG_start = . ; + *(.MACPHY_REG.txt) + __MACPHY_REG_end = . ; + + __radio_a_start = . ; + *(.radio_a.txt) + __radio_a_end = . ; + + __radio_b_start = . ; + *(.radio_b.txt) + __radio_b_end = . ; + + __PHY_REG_PG_start = .; + *(.PHY_REG_PG.txt) + __PHY_REG_PG_end = .; + + __PHY_to1T2R_start = .; + *(.PHY_to1T2R.txt) + __PHY_to1T2R_end = .; + + __PHY_to1T2R_b_start = .; + *(.PHY_to1T2R_b.txt) + __PHY_to1T2R_b_end = .; + + __PHY_to1T1R_start = .; + *(.PHY_to1T1R.txt) + __PHY_to1T1R_end = .; + + __PHY_to1T1R_b_start = .; + *(.PHY_to1T1R_b.txt) + __PHY_to1T1R_b_end = .; + + __radio_a_hp_start = . ; + *(.radio_a_hp.txt) + __radio_a_hp_end = . ; + + /* end of wlan f/w definition */ +#endif + + } :text = 0 + _etext = .; /* End of text section */ + + /* Exception table */ + . = ALIGN(16); + __ex_table : { + __start___ex_table = .; + *(__ex_table) + __stop___ex_table = .; + } + + /* Exception table for data bus errors */ + __dbe_table : { + __start___dbe_table = .; + *(__dbe_table) + __stop___dbe_table = .; + } + /* jasonwang0413*/ + . = ALIGN(8192*2); + __iram = . ; + .iram : + { +#ifdef CONFIG_RTK_VOIP + __imem_G729_START = .; + *(.Cor_h_Xs) /* G.729enc only start*/ + *(.g729_crossconvs) + *(.Chebps_1xs) /* G.729enc only end*/ + + *(.agcs) /* G.729dec only start*/ + *(.preemphasiss) /* G.729dec only end*/ + + *(.g729_crosscorrs) /* G.729 comm start*/ + *(.Pred_lt_3s) + *(.filters) /* G.729 comm end*/ + +#if 1 + /* g729 codec */ + *(.Pre_Process2s) + *(.Cor_hs) + *(.D4i40_17_fasts) + *(.Corr_xy2s) + *(.imem8K) + *(.imem16K) + *(.imem32K) + *(.utility) + *(.memset) + *(.preemphasiss) + *(.g729_utils) + *(.dspfuncs) +#endif +#if 1 + *(.Decod_ACELPs) + *(.Decod_ld8a_sub1s) + *(.Decod_ld8a_sub2s) + *(.bit2parm) + *(.Post_Processs) + *(.Post_Filters) + *(.Int_qlpcs) +#endif + __imem_G729_END = .; + + __imem_common_start = .; + *(.basic_ops) + *(.oper_32bs) + __imem_common_end = .; + +#if 0 + __imem_LEC_START = .; + *(.lec_fir_asm) + *(.lec_lec_adapt_asm) + *(.lec_lec_process) + __imem_LEC_END = .; +#endif + +#if 0 + __imem_ISR_START = .; + *(.bus_pcm_isr) + *(.bus_iis_isr) + __imem_ISR_END = .; +#endif + +#if 0 + *(.dtmf_dec) + *(.dtmf_dec1) + *(.fsk_dec) + *(.fsk_dec1) +#endif + + __imem_G7231_START = .; + *(.crossconv2s) /* G.723enc only start */ + *(.crossconvs) + *(.convols) + *(.EvalPolys) /* G.723enc only end */ + + *(.Comp_Ens) /* G.723dec only */ + + *(.Get_Rezs) + *(.Sqrt_lbcs) + *(.Vec_Norms) + *(.crosscorrs) + __imem_G7231_END = .; + +#endif + *(.iram-gen) /* general usage (essential) */ + *(.iram-fwd) /* general packet forwarding used */ + *(.iram-rtkwlan) /* realtek wlan driver */ + *(.iram-l2-fwd) /* L2 packet forwarding */ + *(.iram-l34-fwd) /* L34 packet forwarding */ + *(.iram-tx) /* protocol stack TX */ + *(.iram-extdev) /* ROMEDRV extension device fwd */ + *(.iram-crypto) /* authetication / crypto-engine */ + *(.iram-rtkusb) /* usb */ + *(.iram-voip) /* voip */ + *(.iram) /* other usage */ + *(.iram.1) + __iram_end = .; /* help programmer know the iram size */ + } + + + + . = ALIGN(8192); + __dram = . ; + __dram_start = . ; +#ifdef CONFIG_RTK_VOIP + __dram0_start = . ; + . = . + 4k; /* this 4k is placed on DMEM0 for voip use */ + __dram0_end = . ; + __dram1_start = . ; + __dram_voip_data_start = .; + .dram_voip_data : /* we will copy external memory data to dram in this section */ + { +#if 0 + *(.con_desc_data) + *(.snd_desc_data) + *(.bus_desc_data) + *(.dsp_desc_data) + *(.gpio_dmem_data) + *(.v21_tab_data) + *(.rtk_debug_data) +#endif + } + __dram_voip_data_end = .; + __dram_voip_bss_start = .; + .dram_voip_bss : /* we will clean this section */ + { +#if 0 + *(.con_desc_bss) + *(.snd_desc_bss) + *(.bus_desc_bss) + *(.dsp_desc_bss) + *(.spi_dmem_data) + *(.fsk_det_bss) + *(.agc_bss) +#endif + } + __dram_voip_bss_end = .; +#endif + .dram : + { + *(.dram-wapi) /*wapi encryption/decryption used*/ + *(.dram-gen) /* general usage (essential) */ + *(.dram-fwd) /* general packet forwarding used */ + *(.dram-l2-fwd) /* L2 packet forwarding */ + *(.dram-l34-fwd) /* L34 packet forwarding */ + *(.dram-extdev) /* ROMEDRV extension device fwd */ + *(.dram-rtkwlan) /* realtek wlan driver */ + *(.dram-crypto) /* authetication / crypto-engine */ + *(.dram-voip) /* voip */ + *(.dram-tx) /* protocol stack TX */ + *(.dram) /* other usage */ + *(.dram.1) + } + . = ALIGN(8192); +#ifdef CONFIG_RTK_VOIP + __dram1_end = . ; +#endif + __dram_end = . ; + + NOTES :text :note + .dummy : { *(.dummy) } :text + + RODATA + + /* writeable */ + .data : { /* Data */ + . = . + DATAOFFSET; /* for CONFIG_MAPPED_KERNEL */ + /* + * This ALIGN is needed as a workaround for a bug a + * gcc bug upto 4.1 which limits the maximum alignment + * to at most 32kB and results in the following + * warning: + * + * CC arch/mips/kernel/init_task.o + * arch/mips/kernel/init_task.c:30: warning: alignment + * of ?˜init_thread_union??is greater than maximum + * object file alignment. Using 32768 + */ + . = ALIGN(_PAGE_SIZE); + *(.data.init_task) + + DATA_DATA + CONSTRUCTORS +#ifdef CONFIG_RTK_VOIP + . = ALIGN(8); + *(.g7231_dmem_bss.1) +#endif + } + _gp = . + 0x8000; + .lit8 : { + *(.lit8) + } + .lit4 : { + *(.lit4) + } + /* We want the small data sections together, so single-instruction offsets + can access them all, and initialized data all before uninitialized, so + we can shorten the on-disk segment size. */ + .sdata : { + *(.sdata) + } + + . = ALIGN(_PAGE_SIZE); + .data_nosave : { + __nosave_begin = .; + *(.data.nosave) + } + . = ALIGN(_PAGE_SIZE); + __nosave_end = .; + + . = ALIGN(1 << 5); + .data.cacheline_aligned : { + *(.data.cacheline_aligned) + } + _edata = .; /* End of data section */ + + /* will be freed after init */ + . = ALIGN(_PAGE_SIZE); /* Init code and data */ + __init_begin = .; + .init.text : { + _sinittext = .; + INIT_TEXT + _einittext = .; + } + .init.data : { + INIT_DATA + } + . = ALIGN(16); + .init.setup : { + __setup_start = .; + *(.init.setup) + __setup_end = .; + } + + .initcall.init : { + __initcall_start = .; + INITCALLS +#ifdef CONFIG_RTK_VOIP + *(.initcall98.init) + *(.initcall98a.init) *(.initcall98b.init) *(.initcall98c.init) *(.initcall98d.init) *(.initcall98e.init) + *(.initcall98f.init) *(.initcall98g.init) *(.initcall98h.init) *(.initcall98i.init) *(.initcall98j.init) + *(.initcall99.init) + *(.initcall99a.init) *(.initcall99b.init) *(.initcall99c.init) *(.initcall99d.init) *(.initcall99e.init) + *(.initcall99f.init) *(.initcall99g.init) + *(.initcall99s.init) +#endif + __initcall_end = .; + } + + .con_initcall.init : { + __con_initcall_start = .; + *(.con_initcall.init) + __con_initcall_end = .; + } + SECURITY_INIT + + /* .exit.text is discarded at runtime, not link time, to deal with + * references from .rodata + */ + .exit.text : { + EXIT_TEXT + } + .exit.data : { + EXIT_DATA + } +#if defined(CONFIG_BLK_DEV_INITRD) + . = ALIGN(_PAGE_SIZE); + .init.ramfs : { + __initramfs_start = .; + *(.init.ramfs) + __initramfs_end = .; + } +#endif + PERCPU(_PAGE_SIZE) + . = ALIGN(_PAGE_SIZE); + __init_end = .; + /* freed after init ends here */ + +#ifdef CONFIG_RTK_VOIP + /* VoIP DMEM start */ + . = . + 2k; /* reserve 2k avoid voip stack grow to here. */ + /*. = ALIGN( MAX(8k, ZZ_DRAMSIZE_ZZ) );*/ + __dmem_start = .; + /*__gsmfr_dmem_start = .;*/ + /* rtk_voip start*/ + /*.DMEM_GSMFR : + { + */ /* *(.gsmfr_dummy_topstack) */ + /* . = . + 4k; + . = ALIGN(4k); + *(.gsmfr_dmem_stack1K) + . = ALIGN(8); + *(.gsmfr_dmem_bss) + __gsmfr_dmem_end = .; + } + */ + . = ALIGN( MAX(8k, ZZ_DRAMSIZE_ZZ) ); + __g729_dmem_start = .; + .DMEM_G729 : + { + /* *(.g729_dummy_topstack) */ + . = . + 4k; + . = ALIGN(4k); + *(.g729_dmem_stack1K) + . = ALIGN(8); + *(.g729_dmem_bss.0) + *(.g729_dmem_bss.1) + __g729_dmem_end = .; + } + + /*. = ALIGN( MAX(8k, ZZ_DRAMSIZE_ZZ) ); + __g726_dmem_start = .; + .DMEM_G726 : + { + */ /* *(.g726_dummy_topstack) */ + /* . = . + 4k; + . = ALIGN(4k); + *(.g726_dmem_stack1K) + *(.dmem_g726) + __g726_dmem_end = .; + } + */ + + . = ALIGN( MAX(8k, ZZ_DRAMSIZE_ZZ) ); + __lec_dmem_start = .; + .DMEM_LEC : + { + . = . + 4k; + . = ALIGN(4k); + /* *(.lec_dummy_topstack) */ + *(.lec_dmem_stack1K) + . = ALIGN(8); + *(.dmem_lec) + __lec_dmem_end = .; + } + . = ALIGN( MAX(8k, ZZ_DRAMSIZE_ZZ) ); + __sys_dmem_start = .; + .DMEM_SYS : + { + . = . + 4k; + . = ALIGN(4k); + /* *(.sys_dummy_topstack) */ + *(.sys_dmem_stack) + __sys_dmem_end = .; + } + /* . = ALIGN(ZZ_DRAMSIZE_ZZ);*/ + . = ALIGN( MAX(8k, ZZ_DRAMSIZE_ZZ) ); + __codec_dmem_start = .; + .DMEM_CODEC : + { + . = . + 4k; + . = ALIGN( MIN(4k, ZZ_DRAMSIZE_ZZ)); + __codec_dmem_4k_start = .; + + *(.codec_dmem_area) + __codec_dmem_end = .; + } + + . = ALIGN( 4k ); + __g7231_dmem_start = .; + .DMEM_G7231 __codec_dmem_4k_start : AT (__g7231_dmem_start) + { + *(.g7231_dmem_stack1K) + . = ALIGN(8); + *(.g7231_dmem_bss.0) + __g7231_dmem_end = .; + } + . = ADDR(.DMEM_CODEC) + MAX(8k, ZZ_DRAMSIZE_ZZ) + 4k; /* skip overlays address*/ + + . = . + 6k; /* reserve 6k avoid ilbc iLBCTmpVct grow here. */ + + __voip_dmem_end = .; + /* VoIP DMEM end */ +#endif + + __bss_start = .; /* BSS */ + .sbss : { + *(.sbss) + *(.scommon) + } + .bss : { + *(.bss) + *(COMMON) +#ifdef CONFIG_RTK_VOIP + . = ALIGN(8); + + *(.g7231_dmem_bss.1) +#endif + } + __bss_stop = .; + + _end = . ; + + /* Sections to be discarded */ + /DISCARD/ : { + *(.exitcall.exit) + + /* ABI crap starts here */ + *(.MIPS.options) + *(.options) + *(.pdr) + *(.reginfo) + } + + /* These mark the ABI of the kernel for debuggers. */ + .mdebug.abi32 : { + KEEP(*(.mdebug.abi32)) + } + .mdebug.abi64 : { + KEEP(*(.mdebug.abi64)) + } + + /* This is the MIPS specific mdebug section. */ + .mdebug : { + *(.mdebug) + } + + STABS_DEBUG + DWARF_DEBUG + + /* These must appear regardless of . */ + .gptab.sdata : { + *(.gptab.data) + *(.gptab.sdata) + } + .gptab.sbss : { + *(.gptab.bss) + *(.gptab.sbss) + } +} -- cgit v1.2.3