Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 40a3b8df authored by Jiang Liu's avatar Jiang Liu Committed by Linus Torvalds
Browse files

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: default avatarJiang Liu <jiang.liu@huawei.com>
Acked-by: default avatarChris 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: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent ae49b83d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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 &&
+2 −2
Original line number Diff line number Diff line
@@ -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);
}

/*
+3 −1
Original line number Diff line number Diff line
@@ -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 */

+1 −1
Original line number Diff line number Diff line
@@ -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) {