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