xref: /openbmc/linux/arch/s390/boot/decompressor.h (revision edd4a866)
1*edd4a866SHeiko Carstens /* SPDX-License-Identifier: GPL-2.0 */
2*edd4a866SHeiko Carstens #ifndef BOOT_COMPRESSED_DECOMPRESSOR_H
3*edd4a866SHeiko Carstens #define BOOT_COMPRESSED_DECOMPRESSOR_H
4*edd4a866SHeiko Carstens 
5*edd4a866SHeiko Carstens #include <linux/stddef.h>
6*edd4a866SHeiko Carstens 
7*edd4a866SHeiko Carstens #ifdef CONFIG_KERNEL_UNCOMPRESSED
8*edd4a866SHeiko Carstens static inline void *decompress_kernel(void) { return NULL; }
9*edd4a866SHeiko Carstens #else
10*edd4a866SHeiko Carstens void *decompress_kernel(void);
11*edd4a866SHeiko Carstens #endif
12*edd4a866SHeiko Carstens unsigned long mem_safe_offset(void);
13*edd4a866SHeiko Carstens void error(char *m);
14*edd4a866SHeiko Carstens 
15*edd4a866SHeiko Carstens struct vmlinux_info {
16*edd4a866SHeiko Carstens 	unsigned long default_lma;
17*edd4a866SHeiko Carstens 	void (*entry)(void);
18*edd4a866SHeiko Carstens 	unsigned long image_size;	/* does not include .bss */
19*edd4a866SHeiko Carstens 	unsigned long bss_size;		/* uncompressed image .bss size */
20*edd4a866SHeiko Carstens 	unsigned long bootdata_off;
21*edd4a866SHeiko Carstens 	unsigned long bootdata_size;
22*edd4a866SHeiko Carstens 	unsigned long bootdata_preserved_off;
23*edd4a866SHeiko Carstens 	unsigned long bootdata_preserved_size;
24*edd4a866SHeiko Carstens 	unsigned long dynsym_start;
25*edd4a866SHeiko Carstens 	unsigned long rela_dyn_start;
26*edd4a866SHeiko Carstens 	unsigned long rela_dyn_end;
27*edd4a866SHeiko Carstens 	unsigned long amode31_size;
28*edd4a866SHeiko Carstens };
29*edd4a866SHeiko Carstens 
30*edd4a866SHeiko Carstens /* Symbols defined by linker scripts */
31*edd4a866SHeiko Carstens extern char _end[];
32*edd4a866SHeiko Carstens extern unsigned char _compressed_start[];
33*edd4a866SHeiko Carstens extern unsigned char _compressed_end[];
34*edd4a866SHeiko Carstens extern char _vmlinux_info[];
35*edd4a866SHeiko Carstens 
36*edd4a866SHeiko Carstens #define vmlinux (*(struct vmlinux_info *)_vmlinux_info)
37*edd4a866SHeiko Carstens 
38*edd4a866SHeiko Carstens #endif /* BOOT_COMPRESSED_DECOMPRESSOR_H */
39