18f75582aSVasily Gorbik /* SPDX-License-Identifier: GPL-2.0 */ 28f75582aSVasily Gorbik #ifndef BOOT_BOOT_H 38f75582aSVasily Gorbik #define BOOT_BOOT_H 48f75582aSVasily Gorbik 573045a08SVasily Gorbik #include <linux/types.h> 673045a08SVasily Gorbik 78977ab65SVasily Gorbik #define BOOT_STACK_OFFSET 0x8000 88977ab65SVasily Gorbik 98977ab65SVasily Gorbik #ifndef __ASSEMBLY__ 108977ab65SVasily Gorbik 11*7fadcc07SAlexander Egorenkov #include <asm/extable.h> 129a78c70aSVasily Gorbik 138f75582aSVasily Gorbik void startup_kernel(void); 1473045a08SVasily Gorbik unsigned long detect_memory(void); 1573045a08SVasily Gorbik bool is_ipl_block_dump(void); 1649698745SVasily Gorbik void store_ipl_parmblock(void); 1749698745SVasily Gorbik void setup_boot_command_line(void); 18b5e80459SVasily Gorbik void parse_boot_command_line(void); 19868202ceSVasily Gorbik void verify_facilities(void); 206d85dac2SVasily Gorbik void print_missing_facilities(void); 21724dc336SVasily Gorbik void print_pgm_check_info(void); 22b2d24b97SGerald Schaefer unsigned long get_random_base(unsigned long safe_addr); 239a78c70aSVasily Gorbik void __printf(1, 2) decompressor_printk(const char *fmt, ...); 24b2d24b97SGerald Schaefer 25*7fadcc07SAlexander Egorenkov /* Symbols defined by linker scripts */ 266abe2819SVasily Gorbik extern const char kernel_version[]; 2773045a08SVasily Gorbik extern unsigned long memory_limit; 280c4f2623SVasily Gorbik extern unsigned long vmalloc_size; 2973045a08SVasily Gorbik extern int vmalloc_size_set; 3073045a08SVasily Gorbik extern int kaslr_enabled; 31*7fadcc07SAlexander Egorenkov extern char __boot_data_start[], __boot_data_end[]; 32*7fadcc07SAlexander Egorenkov extern char __boot_data_preserved_start[], __boot_data_preserved_end[]; 33*7fadcc07SAlexander Egorenkov extern char _sdma[], _edma[]; 34*7fadcc07SAlexander Egorenkov extern char _stext_dma[], _etext_dma[]; 35*7fadcc07SAlexander Egorenkov extern struct exception_table_entry _start_dma_ex_table[]; 36*7fadcc07SAlexander Egorenkov extern struct exception_table_entry _stop_dma_ex_table[]; 37*7fadcc07SAlexander Egorenkov extern char _decompressor_syms_start[], _decompressor_syms_end[]; 388f75582aSVasily Gorbik 399641b8ccSMartin Schwidefsky unsigned long read_ipl_report(unsigned long safe_offset); 409641b8ccSMartin Schwidefsky 418977ab65SVasily Gorbik #endif /* __ASSEMBLY__ */ 428f75582aSVasily Gorbik #endif /* BOOT_BOOT_H */ 43