Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v4.19 117 lines 2.9 kB view raw
1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef BOOT_COMPRESSED_MISC_H 3#define BOOT_COMPRESSED_MISC_H 4 5/* 6 * Special hack: we have to be careful, because no indirections are allowed here, 7 * and paravirt_ops is a kind of one. As it will only run in baremetal anyway, 8 * we just keep it from happening. (This list needs to be extended when new 9 * paravirt and debugging variants are added.) 10 */ 11#undef CONFIG_PARAVIRT 12#undef CONFIG_PARAVIRT_SPINLOCKS 13#undef CONFIG_KASAN 14 15/* cpu_feature_enabled() cannot be used this early */ 16#define USE_EARLY_PGTABLE_L5 17 18#include <linux/linkage.h> 19#include <linux/screen_info.h> 20#include <linux/elf.h> 21#include <linux/io.h> 22#include <asm/page.h> 23#include <asm/boot.h> 24#include <asm/bootparam.h> 25#include <asm/bootparam_utils.h> 26 27#define BOOT_BOOT_H 28#include "../ctype.h" 29 30#ifdef CONFIG_X86_64 31#define memptr long 32#else 33#define memptr unsigned 34#endif 35 36/* misc.c */ 37extern memptr free_mem_ptr; 38extern memptr free_mem_end_ptr; 39extern struct boot_params *boot_params; 40void __putstr(const char *s); 41void __puthex(unsigned long value); 42#define error_putstr(__x) __putstr(__x) 43#define error_puthex(__x) __puthex(__x) 44 45#ifdef CONFIG_X86_VERBOSE_BOOTUP 46 47#define debug_putstr(__x) __putstr(__x) 48#define debug_puthex(__x) __puthex(__x) 49#define debug_putaddr(__x) { \ 50 debug_putstr(#__x ": 0x"); \ 51 debug_puthex((unsigned long)(__x)); \ 52 debug_putstr("\n"); \ 53 } 54 55#else 56 57static inline void debug_putstr(const char *s) 58{ } 59static inline void debug_puthex(const char *s) 60{ } 61#define debug_putaddr(x) /* */ 62 63#endif 64 65#if CONFIG_EARLY_PRINTK || CONFIG_RANDOMIZE_BASE 66/* cmdline.c */ 67int cmdline_find_option(const char *option, char *buffer, int bufsize); 68int cmdline_find_option_bool(const char *option); 69#endif 70 71 72#if CONFIG_RANDOMIZE_BASE 73/* kaslr.c */ 74void choose_random_location(unsigned long input, 75 unsigned long input_size, 76 unsigned long *output, 77 unsigned long output_size, 78 unsigned long *virt_addr); 79/* cpuflags.c */ 80bool has_cpuflag(int flag); 81#else 82static inline void choose_random_location(unsigned long input, 83 unsigned long input_size, 84 unsigned long *output, 85 unsigned long output_size, 86 unsigned long *virt_addr) 87{ 88} 89#endif 90 91#ifdef CONFIG_X86_64 92void initialize_identity_maps(void); 93void add_identity_map(unsigned long start, unsigned long size); 94void finalize_identity_maps(void); 95extern unsigned char _pgtable[]; 96#else 97static inline void initialize_identity_maps(void) 98{ } 99static inline void add_identity_map(unsigned long start, unsigned long size) 100{ } 101static inline void finalize_identity_maps(void) 102{ } 103#endif 104 105#ifdef CONFIG_EARLY_PRINTK 106/* early_serial_console.c */ 107extern int early_serial_base; 108void console_init(void); 109#else 110static const int early_serial_base; 111static inline void console_init(void) 112{ } 113#endif 114 115void set_sev_encryption_mask(void); 116 117#endif