tile: normalize global variables exported by vmlinux.lds
Normalize global variables exported by vmlinux.lds to conform usage guidelines from include/asm-generic/sections.h. 1) Use _text to mark the start of the kernel image including the head text, and _stext to mark the start of the .text section. 2) Export mandatory global variables __init_begin and __init_end. Signed-off-by: Jiang Liu <jiang.liu@huawei.com> Acked-by: Chris Metcalf <cmetcalf@tilera.com> Cc: Rusty Russell <rusty@rustcorp.com.au> Cc: Bjorn Helgaas <bhelgaas@google.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: Wen Congyang <wency@cn.fujitsu.com> Cc: David Howells <dhowells@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
ae49b83dca
Коммит
40a3b8df7b
|
@ -34,7 +34,7 @@ extern char __sys_cmpxchg_grab_lock[];
|
|||
extern char __start_atomic_asm_code[], __end_atomic_asm_code[];
|
||||
#endif
|
||||
|
||||
/* Handle the discontiguity between _sdata and _stext. */
|
||||
/* Handle the discontiguity between _sdata and _text. */
|
||||
static inline int arch_is_kernel_data(unsigned long addr)
|
||||
{
|
||||
return addr >= (unsigned long)_sdata &&
|
||||
|
|
|
@ -307,8 +307,8 @@ static void __cpuinit store_permanent_mappings(void)
|
|||
hv_store_mapping(addr, pages << PAGE_SHIFT, pa);
|
||||
}
|
||||
|
||||
hv_store_mapping((HV_VirtAddr)_stext,
|
||||
(uint32_t)(_einittext - _stext), 0);
|
||||
hv_store_mapping((HV_VirtAddr)_text,
|
||||
(uint32_t)(_einittext - _text), 0);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -27,7 +27,6 @@ SECTIONS
|
|||
.intrpt1 (LOAD_OFFSET) : AT ( 0 ) /* put at the start of physical memory */
|
||||
{
|
||||
_text = .;
|
||||
_stext = .;
|
||||
*(.intrpt1)
|
||||
} :intrpt1 =0
|
||||
|
||||
|
@ -36,6 +35,7 @@ SECTIONS
|
|||
|
||||
/* Now the real code */
|
||||
. = ALIGN(0x20000);
|
||||
_stext = .;
|
||||
.text : AT (ADDR(.text) - LOAD_OFFSET) {
|
||||
HEAD_TEXT
|
||||
SCHED_TEXT
|
||||
|
@ -58,11 +58,13 @@ SECTIONS
|
|||
#define LOAD_OFFSET PAGE_OFFSET
|
||||
|
||||
. = ALIGN(PAGE_SIZE);
|
||||
__init_begin = .;
|
||||
VMLINUX_SYMBOL(_sinitdata) = .;
|
||||
INIT_DATA_SECTION(16) :data =0
|
||||
PERCPU_SECTION(L2_CACHE_BYTES)
|
||||
. = ALIGN(PAGE_SIZE);
|
||||
VMLINUX_SYMBOL(_einitdata) = .;
|
||||
__init_end = .;
|
||||
|
||||
_sdata = .; /* Start of data section */
|
||||
|
||||
|
|
|
@ -562,7 +562,7 @@ static void __init kernel_physical_mapping_init(pgd_t *pgd_base)
|
|||
prot = ktext_set_nocache(prot);
|
||||
}
|
||||
|
||||
BUG_ON(address != (unsigned long)_stext);
|
||||
BUG_ON(address != (unsigned long)_text);
|
||||
pte = NULL;
|
||||
for (; address < (unsigned long)_einittext;
|
||||
pfn++, address += PAGE_SIZE) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче