Commit 320d9555 authored by Vasily Gorbik's avatar Vasily Gorbik Committed by Martin Schwidefsky

s390: unify linker symbols usage

Common code defines linker symbols which denote sections start/end in
a form of char []. Referencing those symbols as _symbol or &_symbol
yields the same result, but "_symbol" form is more widespread across
newly written code. Convert s390 specific code to this style.

Also removes unused _text symbol definition in boot/compressed/misc.c.
Signed-off-by: default avatarVasily Gorbik <gor@linux.vnet.ibm.com>
Acked-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 3ad6b250
...@@ -27,8 +27,8 @@ ...@@ -27,8 +27,8 @@
/* Symbols defined by linker scripts */ /* Symbols defined by linker scripts */
extern char input_data[]; extern char input_data[];
extern int input_len; extern int input_len;
extern char _text, _end; extern char _end[];
extern char _bss, _ebss; extern char _bss[], _ebss[];
static void error(char *m); static void error(char *m);
...@@ -144,7 +144,7 @@ unsigned long decompress_kernel(void) ...@@ -144,7 +144,7 @@ unsigned long decompress_kernel(void)
{ {
void *output, *kernel_end; void *output, *kernel_end;
output = (void *) ALIGN((unsigned long) &_end + HEAP_SIZE, PAGE_SIZE); output = (void *) ALIGN((unsigned long) _end + HEAP_SIZE, PAGE_SIZE);
kernel_end = output + SZ__bss_start; kernel_end = output + SZ__bss_start;
check_ipl_parmblock((void *) 0, (unsigned long) kernel_end); check_ipl_parmblock((void *) 0, (unsigned long) kernel_end);
...@@ -166,8 +166,8 @@ unsigned long decompress_kernel(void) ...@@ -166,8 +166,8 @@ unsigned long decompress_kernel(void)
* Clear bss section. free_mem_ptr and free_mem_end_ptr need to be * Clear bss section. free_mem_ptr and free_mem_end_ptr need to be
* initialized afterwards since they reside in bss. * initialized afterwards since they reside in bss.
*/ */
memset(&_bss, 0, &_ebss - &_bss); memset(_bss, 0, _ebss - _bss);
free_mem_ptr = (unsigned long) &_end; free_mem_ptr = (unsigned long) _end;
free_mem_end_ptr = free_mem_ptr + HEAP_SIZE; free_mem_end_ptr = free_mem_ptr + HEAP_SIZE;
__decompress(input_data, input_len, NULL, NULL, output, 0, NULL, error); __decompress(input_data, input_len, NULL, NULL, output, 0, NULL, error);
......
...@@ -67,7 +67,7 @@ static noinline __init void init_kernel_storage_key(void) ...@@ -67,7 +67,7 @@ static noinline __init void init_kernel_storage_key(void)
#if PAGE_DEFAULT_KEY #if PAGE_DEFAULT_KEY
unsigned long end_pfn, init_pfn; unsigned long end_pfn, init_pfn;
end_pfn = PFN_UP(__pa(&_end)); end_pfn = PFN_UP(__pa(_end));
for (init_pfn = 0 ; init_pfn < end_pfn; init_pfn++) for (init_pfn = 0 ; init_pfn < end_pfn; init_pfn++)
page_set_storage_key(init_pfn << PAGE_SHIFT, page_set_storage_key(init_pfn << PAGE_SHIFT,
......
...@@ -413,12 +413,12 @@ static void __init setup_resources(void) ...@@ -413,12 +413,12 @@ static void __init setup_resources(void)
struct memblock_region *reg; struct memblock_region *reg;
int j; int j;
code_resource.start = (unsigned long) &_text; code_resource.start = (unsigned long) _text;
code_resource.end = (unsigned long) &_etext - 1; code_resource.end = (unsigned long) _etext - 1;
data_resource.start = (unsigned long) &_etext; data_resource.start = (unsigned long) _etext;
data_resource.end = (unsigned long) &_edata - 1; data_resource.end = (unsigned long) _edata - 1;
bss_resource.start = (unsigned long) &__bss_start; bss_resource.start = (unsigned long) __bss_start;
bss_resource.end = (unsigned long) &__bss_stop - 1; bss_resource.end = (unsigned long) __bss_stop - 1;
for_each_memblock(memory, reg) { for_each_memblock(memory, reg) {
res = memblock_virt_alloc(sizeof(*res), 8); res = memblock_virt_alloc(sizeof(*res), 8);
...@@ -667,7 +667,7 @@ static void __init check_initrd(void) ...@@ -667,7 +667,7 @@ static void __init check_initrd(void)
*/ */
static void __init reserve_kernel(void) static void __init reserve_kernel(void)
{ {
unsigned long start_pfn = PFN_UP(__pa(&_end)); unsigned long start_pfn = PFN_UP(__pa(_end));
#ifdef CONFIG_DMA_API_DEBUG #ifdef CONFIG_DMA_API_DEBUG
/* /*
...@@ -888,9 +888,9 @@ void __init setup_arch(char **cmdline_p) ...@@ -888,9 +888,9 @@ void __init setup_arch(char **cmdline_p)
/* Is init_mm really needed? */ /* Is init_mm really needed? */
init_mm.start_code = PAGE_OFFSET; init_mm.start_code = PAGE_OFFSET;
init_mm.end_code = (unsigned long) &_etext; init_mm.end_code = (unsigned long) _etext;
init_mm.end_data = (unsigned long) &_edata; init_mm.end_data = (unsigned long) _edata;
init_mm.brk = (unsigned long) &_end; init_mm.brk = (unsigned long) _end;
parse_early_param(); parse_early_param();
#ifdef CONFIG_CRASH_DUMP #ifdef CONFIG_CRASH_DUMP
......
...@@ -153,8 +153,8 @@ int pfn_is_nosave(unsigned long pfn) ...@@ -153,8 +153,8 @@ int pfn_is_nosave(unsigned long pfn)
{ {
unsigned long nosave_begin_pfn = PFN_DOWN(__pa(&__nosave_begin)); unsigned long nosave_begin_pfn = PFN_DOWN(__pa(&__nosave_begin));
unsigned long nosave_end_pfn = PFN_DOWN(__pa(&__nosave_end)); unsigned long nosave_end_pfn = PFN_DOWN(__pa(&__nosave_end));
unsigned long end_rodata_pfn = PFN_DOWN(__pa(&__end_rodata)) - 1; unsigned long end_rodata_pfn = PFN_DOWN(__pa(__end_rodata)) - 1;
unsigned long stext_pfn = PFN_DOWN(__pa(&_stext)); unsigned long stext_pfn = PFN_DOWN(__pa(_stext));
/* Always save lowcore pages (LC protection might be enabled). */ /* Always save lowcore pages (LC protection might be enabled). */
if (pfn <= LC_PAGES) if (pfn <= LC_PAGES)
......
...@@ -24,8 +24,8 @@ enum address_markers_idx { ...@@ -24,8 +24,8 @@ enum address_markers_idx {
static struct addr_marker address_markers[] = { static struct addr_marker address_markers[] = {
[IDENTITY_NR] = {0, "Identity Mapping"}, [IDENTITY_NR] = {0, "Identity Mapping"},
[KERNEL_START_NR] = {(unsigned long)&_stext, "Kernel Image Start"}, [KERNEL_START_NR] = {(unsigned long)_stext, "Kernel Image Start"},
[KERNEL_END_NR] = {(unsigned long)&_end, "Kernel Image End"}, [KERNEL_END_NR] = {(unsigned long)_end, "Kernel Image End"},
[VMEMMAP_NR] = {0, "vmemmap Area"}, [VMEMMAP_NR] = {0, "vmemmap Area"},
[VMALLOC_NR] = {0, "vmalloc Area"}, [VMALLOC_NR] = {0, "vmalloc Area"},
[MODULES_NR] = {0, "Modules Area"}, [MODULES_NR] = {0, "Modules Area"},
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment