Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #ifndef BOOT_COMPRESSED_DECOMPRESSOR_H
0003 #define BOOT_COMPRESSED_DECOMPRESSOR_H
0004 
0005 #include <linux/stddef.h>
0006 
0007 #ifdef CONFIG_KERNEL_UNCOMPRESSED
0008 static inline void *decompress_kernel(void) { return NULL; }
0009 #else
0010 void *decompress_kernel(void);
0011 #endif
0012 unsigned long mem_safe_offset(void);
0013 void error(char *m);
0014 
0015 struct vmlinux_info {
0016     unsigned long default_lma;
0017     void (*entry)(void);
0018     unsigned long image_size;   /* does not include .bss */
0019     unsigned long bss_size;     /* uncompressed image .bss size */
0020     unsigned long bootdata_off;
0021     unsigned long bootdata_size;
0022     unsigned long bootdata_preserved_off;
0023     unsigned long bootdata_preserved_size;
0024     unsigned long dynsym_start;
0025     unsigned long rela_dyn_start;
0026     unsigned long rela_dyn_end;
0027     unsigned long amode31_size;
0028 };
0029 
0030 /* Symbols defined by linker scripts */
0031 extern char _end[];
0032 extern unsigned char _compressed_start[];
0033 extern unsigned char _compressed_end[];
0034 extern char _vmlinux_info[];
0035 
0036 #define vmlinux (*(struct vmlinux_info *)_vmlinux_info)
0037 
0038 #endif /* BOOT_COMPRESSED_DECOMPRESSOR_H */