⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vmlinux.lds.s

📁 linux-2.6.15.6
💻 S
字号:
/* * arch/v850/vmlinux.lds.S -- kernel linker script for v850 platforms * *  Copyright (C) 2002,03,04,05  NEC Electronics Corporation *  Copyright (C) 2002,03,04,05  Miles Bader <miles@gnu.org> * * This file is subject to the terms and conditions of the GNU General * Public License.  See the file COPYING in the main directory of this * archive for more details. * * Written by Miles Bader <miles@gnu.org> */#include <linux/config.h>#define VMLINUX_SYMBOL(_sym_) _##_sym_#include <asm-generic/vmlinux.lds.h>/* For most platforms, this will define useful things like RAM addr/size.  */#include <asm/machdep.h>/* The following macros contain the usual definitions for various data areas.   The prefix `RAMK_' is used to indicate macros suitable for kernels loaded   into RAM, and similarly `ROMK_' for ROM-resident kernels.  Note that all   symbols are prefixed with an extra `_' for compatibility with the v850   toolchain.  */	/* Interrupt vectors.  */#define INTV_CONTENTS							      \		. = ALIGN (0x10) ;					      \		__intv_start = . ;					      \			*(.intv.reset)	/* Reset vector */		      \		. = __intv_start + 0x10 ;				      \			*(.intv.common)	/* Vectors common to all v850e proc */\		. = __intv_start + 0x80 ;				      \			*(.intv.mach)	/* Machine-specific int. vectors.  */ \		__intv_end = . ;#define RODATA_CONTENTS							      \		. = ALIGN (16) ;					      \			*(.rodata) *(.rodata.*)				      \			*(__vermagic)		/* Kernel version magic */    \			*(.rodata1)					      \		/* PCI quirks */					      \		___start_pci_fixups_early = . ;				      \			*(.pci_fixup_early)				      \		___end_pci_fixups_early = . ;				      \		___start_pci_fixups_header = . ;			      \			*(.pci_fixup_header)				      \		___end_pci_fixups_header = . ;				      \		___start_pci_fixups_final = . ;				      \			*(.pci_fixup_final)				      \		___end_pci_fixups_final = . ;				      \		___start_pci_fixups_enable = . ;			      \			*(.pci_fixup_enable)				      \		___end_pci_fixups_enable = . ;				      \		/* Kernel symbol table: Normal symbols */		      \		___start___ksymtab = .;					      \			*(__ksymtab)					      \		___stop___ksymtab = .;					      \		/* Kernel symbol table: GPL-only symbols */		      \		___start___ksymtab_gpl = .;				      \			*(__ksymtab_gpl)				      \		___stop___ksymtab_gpl = .;				      \		/* Kernel symbol table: strings */			      \			*(__ksymtab_strings)				      \		/* Kernel symbol table: Normal symbols */		      \		___start___kcrctab = .;					      \			*(__kcrctab)					      \		___stop___kcrctab = .;					      \		/* Kernel symbol table: GPL-only symbols */		      \		___start___kcrctab_gpl = .;				      \			*(__kcrctab_gpl)				      \		___stop___kcrctab_gpl = .;				      \		/* Built-in module parameters */			      \		. = ALIGN (4) ;						      \		___start___param = .;					      \		*(__param)						      \		___stop___param = .;/* Kernel text segment, and some constant data areas.  */#define TEXT_CONTENTS							      \		__stext = . ;						      \        	*(.text)						      \		SCHED_TEXT						      \			*(.exit.text)	/* 2.5 convention */		      \			*(.text.exit)	/* 2.4 convention */		      \			*(.text.lock)					      \			*(.exitcall.exit)				      \		__real_etext = . ;	/* There may be data after here.  */  \		RODATA_CONTENTS						      \		. = ALIGN (4) ;						      \		    	*(.call_table_data)				      \			*(.call_table_text)				      \		. = ALIGN (16) ;	/* Exception table.  */		      \		___start___ex_table = . ;				      \			*(__ex_table)					      \		___stop___ex_table = . ;				      \		. = ALIGN (4) ;						      \		__etext = . ;/* Kernel data segment.  */#define DATA_CONTENTS							      \		__sdata = . ;						      \        	*(.data)						      \			*(.exit.data)	/* 2.5 convention */		      \			*(.data.exit)	/* 2.4 convention */		      \		. = ALIGN (16) ;					      \		*(.data.cacheline_aligned)				      \		. = ALIGN (0x2000) ;					      \        	*(.data.init_task)					      \		. = ALIGN (0x2000) ;					      \		__edata = . ;/* Kernel BSS segment.  */#define BSS_CONTENTS							      \		__sbss = . ;						      \			*(.bss)						      \			*(COMMON)					      \		. = ALIGN (4) ;						      \		__init_stack_end = . ;					      \		__ebss = . ;/* `initcall' tables.  */#define INITCALL_CONTENTS						      \		. = ALIGN (16) ;					      \		___setup_start = . ;					      \			*(.init.setup)	/* 2.5 convention */		      \			*(.setup.init)	/* 2.4 convention */		      \		___setup_end = . ;					      \		___initcall_start = . ;					      \			*(.initcall.init)				      \			*(.initcall1.init)				      \			*(.initcall2.init)				      \			*(.initcall3.init)				      \			*(.initcall4.init)				      \			*(.initcall5.init)				      \			*(.initcall6.init)				      \			*(.initcall7.init)				      \		. = ALIGN (4) ;						      \		___initcall_end = . ;					      \		___con_initcall_start = .;				      \			*(.con_initcall.init)				      \		___con_initcall_end = .;/* Contents of `init' section for a kernel that's loaded into RAM.  */#define RAMK_INIT_CONTENTS						      \		RAMK_INIT_CONTENTS_NO_END				      \		__init_end = . ;/* Same as RAMK_INIT_CONTENTS, but doesn't define the `__init_end' symbol.  */#define RAMK_INIT_CONTENTS_NO_END					      \		. = ALIGN (4096) ;					      \		__init_start = . ;					      \			__sinittext = .;				      \			*(.init.text)	/* 2.5 convention */		      \			__einittext = .;				      \			*(.init.data)					      \			*(.text.init)	/* 2.4 convention */		      \			*(.data.init)					      \		INITCALL_CONTENTS					      \		INITRAMFS_CONTENTS/* The contents of `init' section for a ROM-resident kernel which   should go into RAM.  */	#define ROMK_INIT_RAM_CONTENTS						      \		. = ALIGN (4096) ;					      \		__init_start = . ;					      \			*(.init.data)	/* 2.5 convention */		      \			*(.data.init)	/* 2.4 convention */		      \		__init_end = . ;					      \		. = ALIGN (4096) ;/* The contents of `init' section for a ROM-resident kernel which   should go into ROM.  */	#define ROMK_INIT_ROM_CONTENTS						      \			_sinittext = .;					      \			*(.init.text)	/* 2.5 convention */		      \			_einittext = .;					      \			*(.text.init)	/* 2.4 convention */		      \		INITCALL_CONTENTS					      \		INITRAMFS_CONTENTS/* A root filesystem image, for kernels with an embedded root filesystem.  */#define ROOT_FS_CONTENTS						      \		__root_fs_image_start = . ;				      \		*(.root)						      \		__root_fs_image_end = . ;/* The initramfs archive.  */#define INITRAMFS_CONTENTS						      \		. = ALIGN (4) ;						      \		___initramfs_start = . ;				      \			*(.init.ramfs)					      \		___initramfs_end = . ;/* Where the initial bootmap (bitmap for the boot-time memory allocator)    should be place.  */#define BOOTMAP_CONTENTS						      \		. = ALIGN (4096) ;					      \		__bootmap = . ;						      \		. = . + 4096 ;		/* enough for 128MB.   *//* The contents of a `typical' kram area for a kernel in RAM.  */#define RAMK_KRAM_CONTENTS						      \		__kram_start = . ;					      \		TEXT_CONTENTS						      \		DATA_CONTENTS						      \		BSS_CONTENTS						      \		RAMK_INIT_CONTENTS					      \		__kram_end = . ;					      \		BOOTMAP_CONTENTS/* Define output sections normally used for a ROM-resident kernel.     ROM and RAM should be appropriate memory areas to use for kernel   ROM and RAM data.  This assumes that ROM starts at 0 (and thus can   hold the interrupt vectors).  */#define ROMK_SECTIONS(ROM, RAM)						      \	.rom : {							      \		INTV_CONTENTS						      \		TEXT_CONTENTS						      \		ROMK_INIT_ROM_CONTENTS					      \		ROOT_FS_CONTENTS					      \	} > ROM								      \									      \	__rom_copy_src_start = . ;					      \									      \	.data : {							      \		__kram_start = . ;					      \		__rom_copy_dst_start = . ;				      \		DATA_CONTENTS						      \		ROMK_INIT_RAM_CONTENTS					      \		__rom_copy_dst_end = . ;				      \	} > RAM  AT> ROM						      \									      \	.bss ALIGN (4) : {						      \		BSS_CONTENTS						      \		__kram_end = . ;					      \		BOOTMAP_CONTENTS					      \	} > RAM/* The 32-bit variable `jiffies' is just the lower 32-bits of `jiffies_64'.  */_jiffies = _jiffies_64 ;/* Include an appropriate platform-dependent linker-script (which   usually should use the above macros to do most of the work).  */#ifdef CONFIG_V850E_SIM# include "sim.ld"#endif#ifdef CONFIG_V850E2_SIM85E2# include "sim85e2.ld"#endif#ifdef CONFIG_V850E2_FPGA85E2C# include "fpga85e2c.ld"#endif#ifdef CONFIG_V850E2_ANNA# ifdef CONFIG_ROM_KERNEL#  include "anna-rom.ld"# else#  include "anna.ld"# endif#endif#ifdef CONFIG_V850E_AS85EP1# ifdef CONFIG_ROM_KERNEL#  include "as85ep1-rom.ld"# else#  include "as85ep1.ld"# endif#endif#ifdef CONFIG_RTE_CB_MA1# ifdef CONFIG_ROM_KERNEL#  include "rte_ma1_cb-rom.ld"# else#  include "rte_ma1_cb.ld"# endif#endif#ifdef CONFIG_RTE_CB_NB85E# ifdef CONFIG_ROM_KERNEL#  include "rte_nb85e_cb-rom.ld"# elif defined(CONFIG_RTE_CB_MULTI)#  include "rte_nb85e_cb-multi.ld"# else#  include "rte_nb85e_cb.ld"# endif#endif#ifdef CONFIG_RTE_CB_ME2#  include "rte_me2_cb.ld"#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -