mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
s390/boot: make type of __vmlinux_relocs_64_start|end consistent
Make the type of __vmlinux_relocs_64_start|end symbols as char array, just like it is done for all other sections. Function rescue_relocs() is simplified as result. Suggested-by: Heiko Carstens <hca@linux.ibm.com> Acked-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
This commit is contained in:
parent
8495fd4dfe
commit
4394a50792
@ -88,7 +88,7 @@ extern unsigned long vmalloc_size;
|
||||
extern int vmalloc_size_set;
|
||||
extern char __boot_data_start[], __boot_data_end[];
|
||||
extern char __boot_data_preserved_start[], __boot_data_preserved_end[];
|
||||
extern int __vmlinux_relocs_64_start[], __vmlinux_relocs_64_end[];
|
||||
extern char __vmlinux_relocs_64_start[], __vmlinux_relocs_64_end[];
|
||||
extern char _decompressor_syms_start[], _decompressor_syms_end[];
|
||||
extern char _stack_start[], _stack_end[];
|
||||
extern char _end[], _decompressor_end[];
|
||||
|
@ -177,18 +177,16 @@ static void kaslr_adjust_got(unsigned long offset) {}
|
||||
static void rescue_relocs(void) {}
|
||||
static void free_relocs(void) {}
|
||||
#else
|
||||
int *vmlinux_relocs_64_start;
|
||||
int *vmlinux_relocs_64_end;
|
||||
static int *vmlinux_relocs_64_start;
|
||||
static int *vmlinux_relocs_64_end;
|
||||
|
||||
static void rescue_relocs(void)
|
||||
{
|
||||
unsigned long size, nrelocs;
|
||||
unsigned long size = __vmlinux_relocs_64_end - __vmlinux_relocs_64_start;
|
||||
|
||||
nrelocs = __vmlinux_relocs_64_end - __vmlinux_relocs_64_start;
|
||||
size = nrelocs * sizeof(uint32_t);
|
||||
vmlinux_relocs_64_start = (void *)physmem_alloc_top_down(RR_RELOC, size, 0);
|
||||
memmove(vmlinux_relocs_64_start, (void *)__vmlinux_relocs_64_start, size);
|
||||
vmlinux_relocs_64_end = vmlinux_relocs_64_start + nrelocs;
|
||||
vmlinux_relocs_64_end = (void *)vmlinux_relocs_64_start + size;
|
||||
memmove(vmlinux_relocs_64_start, __vmlinux_relocs_64_start, size);
|
||||
}
|
||||
|
||||
static void free_relocs(void)
|
||||
|
Loading…
Reference in New Issue
Block a user