Commit 7fadcc07 authored by Alexander Egorenkov's avatar Alexander Egorenkov Committed by Heiko Carstens

s390/boot: move all linker symbol declarations from c to h files

To prevent multiple incompatible declarations of symbols and to catch
such mistakes at compile time.
Signed-off-by: default avatarAlexander Egorenkov <egorenar@linux.ibm.com>
Acked-by: default avatarHeiko Carstens <hca@linux.ibm.com>
Acked-by: default avatarVasily Gorbik <gor@linux.ibm.com>
Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
parent ff117646
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
#ifndef __ASSEMBLY__ #ifndef __ASSEMBLY__
#include <linux/compiler.h> #include <asm/extable.h>
void startup_kernel(void); void startup_kernel(void);
unsigned long detect_memory(void); unsigned long detect_memory(void);
...@@ -22,11 +22,19 @@ void print_pgm_check_info(void); ...@@ -22,11 +22,19 @@ void print_pgm_check_info(void);
unsigned long get_random_base(unsigned long safe_addr); unsigned long get_random_base(unsigned long safe_addr);
void __printf(1, 2) decompressor_printk(const char *fmt, ...); void __printf(1, 2) decompressor_printk(const char *fmt, ...);
/* Symbols defined by linker scripts */
extern const char kernel_version[]; extern const char kernel_version[];
extern unsigned long memory_limit; extern unsigned long memory_limit;
extern unsigned long vmalloc_size; extern unsigned long vmalloc_size;
extern int vmalloc_size_set; extern int vmalloc_size_set;
extern int kaslr_enabled; extern int kaslr_enabled;
extern char __boot_data_start[], __boot_data_end[];
extern char __boot_data_preserved_start[], __boot_data_preserved_end[];
extern char _sdma[], _edma[];
extern char _stext_dma[], _etext_dma[];
extern struct exception_table_entry _start_dma_ex_table[];
extern struct exception_table_entry _stop_dma_ex_table[];
extern char _decompressor_syms_start[], _decompressor_syms_end[];
unsigned long read_ipl_report(unsigned long safe_offset); unsigned long read_ipl_report(unsigned long safe_offset);
......
...@@ -23,11 +23,6 @@ ...@@ -23,11 +23,6 @@
#define memmove memmove #define memmove memmove
#define memzero(s, n) memset((s), 0, (n)) #define memzero(s, n) memset((s), 0, (n))
/* Symbols defined by linker scripts */
extern char _end[];
extern unsigned char _compressed_start[];
extern unsigned char _compressed_end[];
#ifdef CONFIG_KERNEL_BZIP2 #ifdef CONFIG_KERNEL_BZIP2
#define BOOT_HEAP_SIZE 0x400000 #define BOOT_HEAP_SIZE 0x400000
#elif CONFIG_KERNEL_ZSTD #elif CONFIG_KERNEL_ZSTD
......
...@@ -26,7 +26,12 @@ struct vmlinux_info { ...@@ -26,7 +26,12 @@ struct vmlinux_info {
unsigned long rela_dyn_end; unsigned long rela_dyn_end;
}; };
/* Symbols defined by linker scripts */
extern char _end[];
extern unsigned char _compressed_start[];
extern unsigned char _compressed_end[];
extern char _vmlinux_info[]; extern char _vmlinux_info[];
#define vmlinux (*(struct vmlinux_info *)_vmlinux_info) #define vmlinux (*(struct vmlinux_info *)_vmlinux_info)
#endif /* BOOT_COMPRESSED_DECOMPRESSOR_H */ #endif /* BOOT_COMPRESSED_DECOMPRESSOR_H */
...@@ -29,7 +29,6 @@ static char *symstart(char *p) ...@@ -29,7 +29,6 @@ static char *symstart(char *p)
return p + 1; return p + 1;
} }
extern char _decompressor_syms_start[], _decompressor_syms_end[];
static noinline char *findsym(unsigned long ip, unsigned short *off, unsigned short *len) static noinline char *findsym(unsigned long ip, unsigned short *off, unsigned short *len)
{ {
/* symbol entries are in a form "10000 c4 startup\0" */ /* symbol entries are in a form "10000 c4 startup\0" */
......
...@@ -13,8 +13,6 @@ ...@@ -13,8 +13,6 @@
#include "compressed/decompressor.h" #include "compressed/decompressor.h"
#include "boot.h" #include "boot.h"
extern char __boot_data_start[], __boot_data_end[];
extern char __boot_data_preserved_start[], __boot_data_preserved_end[];
unsigned long __bootdata_preserved(__kaslr_offset); unsigned long __bootdata_preserved(__kaslr_offset);
unsigned long __bootdata_preserved(VMALLOC_START); unsigned long __bootdata_preserved(VMALLOC_START);
unsigned long __bootdata_preserved(VMALLOC_END); unsigned long __bootdata_preserved(VMALLOC_END);
...@@ -35,10 +33,6 @@ u64 __bootdata_preserved(alt_stfle_fac_list[16]); ...@@ -35,10 +33,6 @@ u64 __bootdata_preserved(alt_stfle_fac_list[16]);
* over to the decompressed / relocated kernel via the .boot.preserved.data * over to the decompressed / relocated kernel via the .boot.preserved.data
* section. * section.
*/ */
extern char _sdma[], _edma[];
extern char _stext_dma[], _etext_dma[];
extern struct exception_table_entry _start_dma_ex_table[];
extern struct exception_table_entry _stop_dma_ex_table[];
unsigned long __bootdata_preserved(__sdma) = __pa(&_sdma); unsigned long __bootdata_preserved(__sdma) = __pa(&_sdma);
unsigned long __bootdata_preserved(__edma) = __pa(&_edma); unsigned long __bootdata_preserved(__edma) = __pa(&_edma);
unsigned long __bootdata_preserved(__stext_dma) = __pa(&_stext_dma); unsigned long __bootdata_preserved(__stext_dma) = __pa(&_stext_dma);
......
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