forked from Minki/linux
8977ab65b8
Decompressor works on a single statically allocated stack. Stacktrace implementation with -mbackchain just takes few lines of code. Linux version 5.10.0-rc3-22793-g0f84a355b776-dirty (gor@tuxmaker) #27 SMP PREEMPT Mon Nov 9 17:30:18 CET 2020 Kernel fault: interruption code 0005 ilc:2 PSW : 0000000180000000 0000000000012f92 (parse_boot_command_line+0x27a/0x46c) R:0 T:0 IO:0 EX:0 Key:0 M:0 W:0 P:0 AS:0 CC:0 PM:0 RI:0 EA:3 GPRS: 0000000000000000 00ffffffffffffff 0000000000000000 000000000001a62c 000000000000bf60 0000000000000000 00000000000003c0 0000000000000000 0000000000000080 000000000002322d 000000007f29ef20 0000000000efd018 000000000311c000 0000000000010070 0000000000012f82 000000000000bea8 Call Trace: (sp:000000000000bea8 [<000000000002016e>] 000000000002016e) sp:000000000000bf18 [<0000000000012408>] startup_kernel+0x88/0x2fc sp:000000000000bf60 [<00000000000100c4>] startup_normal+0xb0/0xb0 Reviewed-by: Alexander Egorenkov <egorenar@linux.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
34 lines
844 B
C
34 lines
844 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef BOOT_BOOT_H
|
|
#define BOOT_BOOT_H
|
|
|
|
#include <linux/types.h>
|
|
|
|
#define BOOT_STACK_OFFSET 0x8000
|
|
|
|
#ifndef __ASSEMBLY__
|
|
|
|
#include <linux/compiler.h>
|
|
|
|
void startup_kernel(void);
|
|
unsigned long detect_memory(void);
|
|
bool is_ipl_block_dump(void);
|
|
void store_ipl_parmblock(void);
|
|
void setup_boot_command_line(void);
|
|
void parse_boot_command_line(void);
|
|
void verify_facilities(void);
|
|
void print_missing_facilities(void);
|
|
void print_pgm_check_info(void);
|
|
unsigned long get_random_base(unsigned long safe_addr);
|
|
void __printf(1, 2) decompressor_printk(const char *fmt, ...);
|
|
|
|
extern const char kernel_version[];
|
|
extern unsigned long memory_limit;
|
|
extern int vmalloc_size_set;
|
|
extern int kaslr_enabled;
|
|
|
|
unsigned long read_ipl_report(unsigned long safe_offset);
|
|
|
|
#endif /* __ASSEMBLY__ */
|
|
#endif /* BOOT_BOOT_H */
|