mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-14 14:34:28 +08:00
9e1b9b8072
The next commit will require the use of MODULE_SYMBOL_PREFIX in .tmp_exports-asm.S. Currently it is mixed in with C structure definitions in "asm/module.h". Move the definition of this arch option into Kconfig, so it can be easily accessed by any code. This also lets modpost.c use the same definition. Previously modpost relied on a hardcoded list of architectures in mk_elfconfig.c. A build test for blackfin, one of the two MODULE_SYMBOL_PREFIX archs, showed the generated code was unchanged. vmlinux was identical save for build ids, and an apparently randomized suffix on a single "__key" symbol in the kallsyms data). Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk> Acked-by: Mike Frysinger <vapier@gentoo.org> (blackfin) CC: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
156 lines
2.3 KiB
ArmAsm
156 lines
2.3 KiB
ArmAsm
#include <asm-generic/vmlinux.lds.h>
|
|
#include <asm/page.h>
|
|
|
|
/* target memory map */
|
|
#ifdef CONFIG_H8300H_GENERIC
|
|
#define ROMTOP 0x000000
|
|
#define ROMSIZE 0x400000
|
|
#define RAMTOP 0x400000
|
|
#define RAMSIZE 0x400000
|
|
#endif
|
|
|
|
#ifdef CONFIG_H8300H_AKI3068NET
|
|
#define ROMTOP 0x000000
|
|
#define ROMSIZE 0x080000
|
|
#define RAMTOP 0x400000
|
|
#define RAMSIZE 0x200000
|
|
#endif
|
|
|
|
#ifdef CONFIG_H8300H_H8MAX
|
|
#define ROMTOP 0x000000
|
|
#define ROMSIZE 0x080000
|
|
#define RAMTOP 0x400000
|
|
#define RAMSIZE 0x200000
|
|
#endif
|
|
|
|
#ifdef CONFIG_H8300H_SIM
|
|
#define ROMTOP 0x000000
|
|
#define ROMSIZE 0x400000
|
|
#define RAMTOP 0x400000
|
|
#define RAMSIZE 0x400000
|
|
#endif
|
|
|
|
#ifdef CONFIG_H8S_SIM
|
|
#define ROMTOP 0x000000
|
|
#define ROMSIZE 0x400000
|
|
#define RAMTOP 0x400000
|
|
#define RAMSIZE 0x800000
|
|
#endif
|
|
|
|
#ifdef CONFIG_H8S_EDOSK2674
|
|
#define ROMTOP 0x000000
|
|
#define ROMSIZE 0x400000
|
|
#define RAMTOP 0x400000
|
|
#define RAMSIZE 0x800000
|
|
#endif
|
|
|
|
#if defined(CONFIG_H8300H_SIM) || defined(CONFIG_H8S_SIM)
|
|
INPUT(romfs.o)
|
|
#endif
|
|
|
|
_jiffies = _jiffies_64 + 4;
|
|
|
|
ENTRY(__start)
|
|
|
|
SECTIONS
|
|
{
|
|
#if defined(CONFIG_ROMKERNEL)
|
|
. = ROMTOP;
|
|
.vectors :
|
|
{
|
|
__vector = . ;
|
|
*(.vectors*)
|
|
}
|
|
#else
|
|
. = RAMTOP;
|
|
.bootvec :
|
|
{
|
|
*(.bootvec)
|
|
}
|
|
#endif
|
|
.text :
|
|
{
|
|
_text = .;
|
|
#if defined(CONFIG_ROMKERNEL)
|
|
*(.int_redirect)
|
|
#endif
|
|
__stext = . ;
|
|
TEXT_TEXT
|
|
SCHED_TEXT
|
|
LOCK_TEXT
|
|
__etext = . ;
|
|
}
|
|
EXCEPTION_TABLE(16)
|
|
|
|
RODATA
|
|
#if defined(CONFIG_ROMKERNEL)
|
|
SECURITY_INIT
|
|
#endif
|
|
ROEND = .;
|
|
#if defined(CONFIG_ROMKERNEL)
|
|
. = RAMTOP;
|
|
.data : AT(ROEND)
|
|
#else
|
|
.data :
|
|
#endif
|
|
{
|
|
__sdata = . ;
|
|
___data_start = . ;
|
|
|
|
INIT_TASK_DATA(0x2000)
|
|
. = ALIGN(0x4) ;
|
|
DATA_DATA
|
|
. = ALIGN(0x4) ;
|
|
*(.data.*)
|
|
|
|
. = ALIGN(0x4) ;
|
|
___init_begin = .;
|
|
__sinittext = .;
|
|
INIT_TEXT
|
|
__einittext = .;
|
|
INIT_DATA
|
|
. = ALIGN(0x4) ;
|
|
INIT_SETUP(0x4)
|
|
___setup_start = .;
|
|
*(.init.setup)
|
|
. = ALIGN(0x4) ;
|
|
___setup_end = .;
|
|
INIT_CALLS
|
|
CON_INITCALL
|
|
EXIT_TEXT
|
|
EXIT_DATA
|
|
INIT_RAM_FS
|
|
. = ALIGN(0x4) ;
|
|
___init_end = .;
|
|
__edata = . ;
|
|
}
|
|
#if defined(CONFIG_RAMKERNEL)
|
|
SECURITY_INIT
|
|
#endif
|
|
__begin_data = LOADADDR(.data);
|
|
.bss :
|
|
{
|
|
. = ALIGN(0x4) ;
|
|
__sbss = . ;
|
|
*(.bss*)
|
|
. = ALIGN(0x4) ;
|
|
*(COMMON)
|
|
. = ALIGN(0x4) ;
|
|
__ebss = . ;
|
|
__end = . ;
|
|
__ramstart = .;
|
|
}
|
|
.romfs :
|
|
{
|
|
*(.romfs*)
|
|
}
|
|
. = RAMTOP+RAMSIZE;
|
|
.dummy :
|
|
{
|
|
COMMAND_START = . - 0x200 ;
|
|
__ramend = . ;
|
|
}
|
|
|
|
DISCARDS
|
|
}
|