18f75582aSVasily Gorbik /* SPDX-License-Identifier: GPL-2.0 */ 28f75582aSVasily Gorbik #ifndef BOOT_BOOT_H 38f75582aSVasily Gorbik #define BOOT_BOOT_H 48f75582aSVasily Gorbik 57fadcc07SAlexander Egorenkov #include <asm/extable.h> 6256d78d0SAlexander Egorenkov #include <linux/types.h> 79a78c70aSVasily Gorbik 88f75582aSVasily Gorbik void startup_kernel(void); 973045a08SVasily Gorbik unsigned long detect_memory(void); 1073045a08SVasily Gorbik bool is_ipl_block_dump(void); 1149698745SVasily Gorbik void store_ipl_parmblock(void); 1249698745SVasily Gorbik void setup_boot_command_line(void); 13b5e80459SVasily Gorbik void parse_boot_command_line(void); 14868202ceSVasily Gorbik void verify_facilities(void); 156d85dac2SVasily Gorbik void print_missing_facilities(void); 16*f1d3c532SAlexander Egorenkov void sclp_early_setup_buffer(void); 17724dc336SVasily Gorbik void print_pgm_check_info(void); 18b2d24b97SGerald Schaefer unsigned long get_random_base(unsigned long safe_addr); 199a78c70aSVasily Gorbik void __printf(1, 2) decompressor_printk(const char *fmt, ...); 20b2d24b97SGerald Schaefer 217fadcc07SAlexander Egorenkov /* Symbols defined by linker scripts */ 226abe2819SVasily Gorbik extern const char kernel_version[]; 2373045a08SVasily Gorbik extern unsigned long memory_limit; 240c4f2623SVasily Gorbik extern unsigned long vmalloc_size; 2573045a08SVasily Gorbik extern int vmalloc_size_set; 2673045a08SVasily Gorbik extern int kaslr_enabled; 277fadcc07SAlexander Egorenkov extern char __boot_data_start[], __boot_data_end[]; 287fadcc07SAlexander Egorenkov extern char __boot_data_preserved_start[], __boot_data_preserved_end[]; 297fadcc07SAlexander Egorenkov extern char _sdma[], _edma[]; 307fadcc07SAlexander Egorenkov extern char _stext_dma[], _etext_dma[]; 317fadcc07SAlexander Egorenkov extern struct exception_table_entry _start_dma_ex_table[]; 327fadcc07SAlexander Egorenkov extern struct exception_table_entry _stop_dma_ex_table[]; 337fadcc07SAlexander Egorenkov extern char _decompressor_syms_start[], _decompressor_syms_end[]; 34256d78d0SAlexander Egorenkov extern char _stack_start[], _stack_end[]; 358f75582aSVasily Gorbik 369641b8ccSMartin Schwidefsky unsigned long read_ipl_report(unsigned long safe_offset); 379641b8ccSMartin Schwidefsky 388f75582aSVasily Gorbik #endif /* BOOT_BOOT_H */ 39