s390: unify linker symbols usage
authorVasily Gorbik <gor@linux.vnet.ibm.com>
Tue, 20 Feb 2018 12:28:33 +0000 (13:28 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Tue, 27 Feb 2018 07:05:23 +0000 (08:05 +0100)
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: Vasily Gorbik <gor@linux.vnet.ibm.com>
Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/boot/compressed/misc.c
arch/s390/kernel/early.c
arch/s390/kernel/setup.c
arch/s390/kernel/suspend.c
arch/s390/mm/dump_pagetables.c

index cecf38b..63838a1 100644 (file)
@@ -27,8 +27,8 @@
 /* Symbols defined by linker scripts */
 extern char input_data[];
 extern int input_len;
-extern char _text, _end;
-extern char _bss, _ebss;
+extern char _end[];
+extern char _bss[], _ebss[];
 
 static void error(char *m);
 
@@ -144,7 +144,7 @@ unsigned long decompress_kernel(void)
 {
        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;
        check_ipl_parmblock((void *) 0, (unsigned long) kernel_end);
 
@@ -166,8 +166,8 @@ unsigned long decompress_kernel(void)
         * Clear bss section. free_mem_ptr and free_mem_end_ptr need to be
         * initialized afterwards since they reside in bss.
         */
-       memset(&_bss, 0, &_ebss - &_bss);
-       free_mem_ptr = (unsigned long) &_end;
+       memset(_bss, 0, _ebss - _bss);
+       free_mem_ptr = (unsigned long) _end;
        free_mem_end_ptr = free_mem_ptr + HEAP_SIZE;
 
        __decompress(input_data, input_len, NULL, NULL, output, 0, NULL, error);
index ac707a9..53d089f 100644 (file)
@@ -67,7 +67,7 @@ static noinline __init void init_kernel_storage_key(void)
 #if PAGE_DEFAULT_KEY
        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++)
                page_set_storage_key(init_pfn << PAGE_SHIFT,
index a6a91f0..70ed7c7 100644 (file)
@@ -413,12 +413,12 @@ static void __init setup_resources(void)
        struct memblock_region *reg;
        int j;
 
-       code_resource.start = (unsigned long) &_text;
-       code_resource.end = (unsigned long) &_etext - 1;
-       data_resource.start = (unsigned long) &_etext;
-       data_resource.end = (unsigned long) &_edata - 1;
-       bss_resource.start = (unsigned long) &__bss_start;
-       bss_resource.end = (unsigned long) &__bss_stop - 1;
+       code_resource.start = (unsigned long) _text;
+       code_resource.end = (unsigned long) _etext - 1;
+       data_resource.start = (unsigned long) _etext;
+       data_resource.end = (unsigned long) _edata - 1;
+       bss_resource.start = (unsigned long) __bss_start;
+       bss_resource.end = (unsigned long) __bss_stop - 1;
 
        for_each_memblock(memory, reg) {
                res = memblock_virt_alloc(sizeof(*res), 8);
@@ -667,7 +667,7 @@ static void __init check_initrd(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
        /*
@@ -888,9 +888,9 @@ void __init setup_arch(char **cmdline_p)
 
        /* Is init_mm really needed? */
        init_mm.start_code = PAGE_OFFSET;
-       init_mm.end_code = (unsigned long) &_etext;
-       init_mm.end_data = (unsigned long) &_edata;
-       init_mm.brk = (unsigned long) &_end;
+       init_mm.end_code = (unsigned long) _etext;
+       init_mm.end_data = (unsigned long) _edata;
+       init_mm.brk = (unsigned long) _end;
 
        parse_early_param();
 #ifdef CONFIG_CRASH_DUMP
index ce329c8..75b7b30 100644 (file)
@@ -153,8 +153,8 @@ int pfn_is_nosave(unsigned long pfn)
 {
        unsigned long nosave_begin_pfn = PFN_DOWN(__pa(&__nosave_begin));
        unsigned long nosave_end_pfn = PFN_DOWN(__pa(&__nosave_end));
-       unsigned long end_rodata_pfn = PFN_DOWN(__pa(&__end_rodata)) - 1;
-       unsigned long stext_pfn = PFN_DOWN(__pa(&_stext));
+       unsigned long end_rodata_pfn = PFN_DOWN(__pa(__end_rodata)) - 1;
+       unsigned long stext_pfn = PFN_DOWN(__pa(_stext));
 
        /* Always save lowcore pages (LC protection might be enabled). */
        if (pfn <= LC_PAGES)
index 507f23b..7cdea2e 100644 (file)
@@ -24,8 +24,8 @@ enum address_markers_idx {
 
 static struct addr_marker address_markers[] = {
        [IDENTITY_NR]     = {0, "Identity Mapping"},
-       [KERNEL_START_NR] = {(unsigned long)&_stext, "Kernel Image Start"},
-       [KERNEL_END_NR]   = {(unsigned long)&_end, "Kernel Image End"},
+       [KERNEL_START_NR] = {(unsigned long)_stext, "Kernel Image Start"},
+       [KERNEL_END_NR]   = {(unsigned long)_end, "Kernel Image End"},
        [VMEMMAP_NR]      = {0, "vmemmap Area"},
        [VMALLOC_NR]      = {0, "vmalloc Area"},
        [MODULES_NR]      = {0, "Modules Area"},