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