2018-07-19 19:11:28 +08:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0 */
|
|
|
|
#ifndef BOOT_COMPRESSED_DECOMPRESSOR_H
|
|
|
|
#define BOOT_COMPRESSED_DECOMPRESSOR_H
|
|
|
|
|
|
|
|
#ifdef CONFIG_KERNEL_UNCOMPRESSED
|
2018-07-19 22:51:25 +08:00
|
|
|
static inline void *decompress_kernel(void) {}
|
2018-07-19 19:11:28 +08:00
|
|
|
#else
|
2018-07-19 22:51:25 +08:00
|
|
|
void *decompress_kernel(void);
|
2018-07-19 19:11:28 +08:00
|
|
|
#endif
|
2018-04-11 17:56:55 +08:00
|
|
|
unsigned long mem_safe_offset(void);
|
2018-07-25 21:01:11 +08:00
|
|
|
void error(char *m);
|
2018-07-19 19:11:28 +08:00
|
|
|
|
2018-07-19 22:51:25 +08:00
|
|
|
struct vmlinux_info {
|
|
|
|
unsigned long default_lma;
|
|
|
|
void (*entry)(void);
|
|
|
|
unsigned long image_size; /* does not include .bss */
|
2018-04-11 17:56:55 +08:00
|
|
|
unsigned long bss_size; /* uncompressed image .bss size */
|
2018-04-10 20:14:02 +08:00
|
|
|
unsigned long bootdata_off;
|
|
|
|
unsigned long bootdata_size;
|
2018-07-19 22:51:25 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
extern char _vmlinux_info[];
|
|
|
|
#define vmlinux (*(struct vmlinux_info *)_vmlinux_info)
|
|
|
|
|
2018-07-19 19:11:28 +08:00
|
|
|
#endif /* BOOT_COMPRESSED_DECOMPRESSOR_H */
|