mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-07 11:28:32 +00:00
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: 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>
This commit is contained in:
parent
3ad6b25013
commit
320d9555cb
5 changed files with 20 additions and 20 deletions
|
@ -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)
|
||||||
{
|
{
|
||||||
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)
|
||||||
* 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)
|
||||||
#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)
|
||||||
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)
|
||||||
*/
|
*/
|
||||||
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)
|
||||||
|
|
||||||
/* 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)
|
||||||
{
|
{
|
||||||
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 {
|
||||||
|
|
||||||
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"},
|
||||||
|
|
Loading…
Reference in a new issue