mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-10 07:10:27 +00:00
e3ec8e0f57
The memory for amode31 section is allocated from the decompressed kernel. Instead, allocate that memory from the decompressor. This is a prerequisite to allow initialization of the virtual memory before the decompressed kernel takes over. Reviewed-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
39 lines
1.0 KiB
C
39 lines
1.0 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef BOOT_COMPRESSED_DECOMPRESSOR_H
|
|
#define BOOT_COMPRESSED_DECOMPRESSOR_H
|
|
|
|
#include <linux/stddef.h>
|
|
|
|
#ifdef CONFIG_KERNEL_UNCOMPRESSED
|
|
static inline void *decompress_kernel(void) { return NULL; }
|
|
#else
|
|
void *decompress_kernel(void);
|
|
#endif
|
|
unsigned long mem_safe_offset(void);
|
|
void error(char *m);
|
|
|
|
struct vmlinux_info {
|
|
unsigned long default_lma;
|
|
void (*entry)(void);
|
|
unsigned long image_size; /* does not include .bss */
|
|
unsigned long bss_size; /* uncompressed image .bss size */
|
|
unsigned long bootdata_off;
|
|
unsigned long bootdata_size;
|
|
unsigned long bootdata_preserved_off;
|
|
unsigned long bootdata_preserved_size;
|
|
unsigned long dynsym_start;
|
|
unsigned long rela_dyn_start;
|
|
unsigned long rela_dyn_end;
|
|
unsigned long amode31_size;
|
|
};
|
|
|
|
/* Symbols defined by linker scripts */
|
|
extern char _end[];
|
|
extern unsigned char _compressed_start[];
|
|
extern unsigned char _compressed_end[];
|
|
extern char _vmlinux_info[];
|
|
|
|
#define vmlinux (*(struct vmlinux_info *)_vmlinux_info)
|
|
|
|
#endif /* BOOT_COMPRESSED_DECOMPRESSOR_H */
|