1*8d67ca89SAndroid Build Coastguard Worker /* 2*8d67ca89SAndroid Build Coastguard Worker * This file is auto-generated. Modifications will be lost. 3*8d67ca89SAndroid Build Coastguard Worker * 4*8d67ca89SAndroid Build Coastguard Worker * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5*8d67ca89SAndroid Build Coastguard Worker * for more information. 6*8d67ca89SAndroid Build Coastguard Worker */ 7*8d67ca89SAndroid Build Coastguard Worker #ifndef _ASM_X86_BOOTPARAM_H 8*8d67ca89SAndroid Build Coastguard Worker #define _ASM_X86_BOOTPARAM_H 9*8d67ca89SAndroid Build Coastguard Worker #include <asm/setup_data.h> 10*8d67ca89SAndroid Build Coastguard Worker #define RAMDISK_IMAGE_START_MASK 0x07FF 11*8d67ca89SAndroid Build Coastguard Worker #define RAMDISK_PROMPT_FLAG 0x8000 12*8d67ca89SAndroid Build Coastguard Worker #define RAMDISK_LOAD_FLAG 0x4000 13*8d67ca89SAndroid Build Coastguard Worker #define LOADED_HIGH (1 << 0) 14*8d67ca89SAndroid Build Coastguard Worker #define KASLR_FLAG (1 << 1) 15*8d67ca89SAndroid Build Coastguard Worker #define QUIET_FLAG (1 << 5) 16*8d67ca89SAndroid Build Coastguard Worker #define KEEP_SEGMENTS (1 << 6) 17*8d67ca89SAndroid Build Coastguard Worker #define CAN_USE_HEAP (1 << 7) 18*8d67ca89SAndroid Build Coastguard Worker #define XLF_KERNEL_64 (1 << 0) 19*8d67ca89SAndroid Build Coastguard Worker #define XLF_CAN_BE_LOADED_ABOVE_4G (1 << 1) 20*8d67ca89SAndroid Build Coastguard Worker #define XLF_EFI_HANDOVER_32 (1 << 2) 21*8d67ca89SAndroid Build Coastguard Worker #define XLF_EFI_HANDOVER_64 (1 << 3) 22*8d67ca89SAndroid Build Coastguard Worker #define XLF_EFI_KEXEC (1 << 4) 23*8d67ca89SAndroid Build Coastguard Worker #define XLF_5LEVEL (1 << 5) 24*8d67ca89SAndroid Build Coastguard Worker #define XLF_5LEVEL_ENABLED (1 << 6) 25*8d67ca89SAndroid Build Coastguard Worker #define XLF_MEM_ENCRYPTION (1 << 7) 26*8d67ca89SAndroid Build Coastguard Worker #ifndef __ASSEMBLY__ 27*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h> 28*8d67ca89SAndroid Build Coastguard Worker #include <linux/screen_info.h> 29*8d67ca89SAndroid Build Coastguard Worker #include <linux/apm_bios.h> 30*8d67ca89SAndroid Build Coastguard Worker #include <linux/edd.h> 31*8d67ca89SAndroid Build Coastguard Worker #include <asm/ist.h> 32*8d67ca89SAndroid Build Coastguard Worker #include <video/edid.h> 33*8d67ca89SAndroid Build Coastguard Worker struct setup_header { 34*8d67ca89SAndroid Build Coastguard Worker __u8 setup_sects; 35*8d67ca89SAndroid Build Coastguard Worker __u16 root_flags; 36*8d67ca89SAndroid Build Coastguard Worker __u32 syssize; 37*8d67ca89SAndroid Build Coastguard Worker __u16 ram_size; 38*8d67ca89SAndroid Build Coastguard Worker __u16 vid_mode; 39*8d67ca89SAndroid Build Coastguard Worker __u16 root_dev; 40*8d67ca89SAndroid Build Coastguard Worker __u16 boot_flag; 41*8d67ca89SAndroid Build Coastguard Worker __u16 jump; 42*8d67ca89SAndroid Build Coastguard Worker __u32 header; 43*8d67ca89SAndroid Build Coastguard Worker __u16 version; 44*8d67ca89SAndroid Build Coastguard Worker __u32 realmode_swtch; 45*8d67ca89SAndroid Build Coastguard Worker __u16 start_sys_seg; 46*8d67ca89SAndroid Build Coastguard Worker __u16 kernel_version; 47*8d67ca89SAndroid Build Coastguard Worker __u8 type_of_loader; 48*8d67ca89SAndroid Build Coastguard Worker __u8 loadflags; 49*8d67ca89SAndroid Build Coastguard Worker __u16 setup_move_size; 50*8d67ca89SAndroid Build Coastguard Worker __u32 code32_start; 51*8d67ca89SAndroid Build Coastguard Worker __u32 ramdisk_image; 52*8d67ca89SAndroid Build Coastguard Worker __u32 ramdisk_size; 53*8d67ca89SAndroid Build Coastguard Worker __u32 bootsect_kludge; 54*8d67ca89SAndroid Build Coastguard Worker __u16 heap_end_ptr; 55*8d67ca89SAndroid Build Coastguard Worker __u8 ext_loader_ver; 56*8d67ca89SAndroid Build Coastguard Worker __u8 ext_loader_type; 57*8d67ca89SAndroid Build Coastguard Worker __u32 cmd_line_ptr; 58*8d67ca89SAndroid Build Coastguard Worker __u32 initrd_addr_max; 59*8d67ca89SAndroid Build Coastguard Worker __u32 kernel_alignment; 60*8d67ca89SAndroid Build Coastguard Worker __u8 relocatable_kernel; 61*8d67ca89SAndroid Build Coastguard Worker __u8 min_alignment; 62*8d67ca89SAndroid Build Coastguard Worker __u16 xloadflags; 63*8d67ca89SAndroid Build Coastguard Worker __u32 cmdline_size; 64*8d67ca89SAndroid Build Coastguard Worker __u32 hardware_subarch; 65*8d67ca89SAndroid Build Coastguard Worker __u64 hardware_subarch_data; 66*8d67ca89SAndroid Build Coastguard Worker __u32 payload_offset; 67*8d67ca89SAndroid Build Coastguard Worker __u32 payload_length; 68*8d67ca89SAndroid Build Coastguard Worker __u64 setup_data; 69*8d67ca89SAndroid Build Coastguard Worker __u64 pref_address; 70*8d67ca89SAndroid Build Coastguard Worker __u32 init_size; 71*8d67ca89SAndroid Build Coastguard Worker __u32 handover_offset; 72*8d67ca89SAndroid Build Coastguard Worker __u32 kernel_info_offset; 73*8d67ca89SAndroid Build Coastguard Worker } __attribute__((packed)); 74*8d67ca89SAndroid Build Coastguard Worker struct sys_desc_table { 75*8d67ca89SAndroid Build Coastguard Worker __u16 length; 76*8d67ca89SAndroid Build Coastguard Worker __u8 table[14]; 77*8d67ca89SAndroid Build Coastguard Worker }; 78*8d67ca89SAndroid Build Coastguard Worker struct olpc_ofw_header { 79*8d67ca89SAndroid Build Coastguard Worker __u32 ofw_magic; 80*8d67ca89SAndroid Build Coastguard Worker __u32 ofw_version; 81*8d67ca89SAndroid Build Coastguard Worker __u32 cif_handler; 82*8d67ca89SAndroid Build Coastguard Worker __u32 irq_desc_table; 83*8d67ca89SAndroid Build Coastguard Worker } __attribute__((packed)); 84*8d67ca89SAndroid Build Coastguard Worker struct efi_info { 85*8d67ca89SAndroid Build Coastguard Worker __u32 efi_loader_signature; 86*8d67ca89SAndroid Build Coastguard Worker __u32 efi_systab; 87*8d67ca89SAndroid Build Coastguard Worker __u32 efi_memdesc_size; 88*8d67ca89SAndroid Build Coastguard Worker __u32 efi_memdesc_version; 89*8d67ca89SAndroid Build Coastguard Worker __u32 efi_memmap; 90*8d67ca89SAndroid Build Coastguard Worker __u32 efi_memmap_size; 91*8d67ca89SAndroid Build Coastguard Worker __u32 efi_systab_hi; 92*8d67ca89SAndroid Build Coastguard Worker __u32 efi_memmap_hi; 93*8d67ca89SAndroid Build Coastguard Worker }; 94*8d67ca89SAndroid Build Coastguard Worker #define E820_MAX_ENTRIES_ZEROPAGE 128 95*8d67ca89SAndroid Build Coastguard Worker #define JAILHOUSE_SETUP_REQUIRED_VERSION 1 96*8d67ca89SAndroid Build Coastguard Worker struct boot_params { 97*8d67ca89SAndroid Build Coastguard Worker struct screen_info screen_info; 98*8d67ca89SAndroid Build Coastguard Worker struct apm_bios_info apm_bios_info; 99*8d67ca89SAndroid Build Coastguard Worker __u8 _pad2[4]; 100*8d67ca89SAndroid Build Coastguard Worker __u64 tboot_addr; 101*8d67ca89SAndroid Build Coastguard Worker struct ist_info ist_info; 102*8d67ca89SAndroid Build Coastguard Worker __u64 acpi_rsdp_addr; 103*8d67ca89SAndroid Build Coastguard Worker __u8 _pad3[8]; 104*8d67ca89SAndroid Build Coastguard Worker __u8 hd0_info[16]; 105*8d67ca89SAndroid Build Coastguard Worker __u8 hd1_info[16]; 106*8d67ca89SAndroid Build Coastguard Worker struct sys_desc_table sys_desc_table; 107*8d67ca89SAndroid Build Coastguard Worker struct olpc_ofw_header olpc_ofw_header; 108*8d67ca89SAndroid Build Coastguard Worker __u32 ext_ramdisk_image; 109*8d67ca89SAndroid Build Coastguard Worker __u32 ext_ramdisk_size; 110*8d67ca89SAndroid Build Coastguard Worker __u32 ext_cmd_line_ptr; 111*8d67ca89SAndroid Build Coastguard Worker __u8 _pad4[112]; 112*8d67ca89SAndroid Build Coastguard Worker __u32 cc_blob_address; 113*8d67ca89SAndroid Build Coastguard Worker struct edid_info edid_info; 114*8d67ca89SAndroid Build Coastguard Worker struct efi_info efi_info; 115*8d67ca89SAndroid Build Coastguard Worker __u32 alt_mem_k; 116*8d67ca89SAndroid Build Coastguard Worker __u32 scratch; 117*8d67ca89SAndroid Build Coastguard Worker __u8 e820_entries; 118*8d67ca89SAndroid Build Coastguard Worker __u8 eddbuf_entries; 119*8d67ca89SAndroid Build Coastguard Worker __u8 edd_mbr_sig_buf_entries; 120*8d67ca89SAndroid Build Coastguard Worker __u8 kbd_status; 121*8d67ca89SAndroid Build Coastguard Worker __u8 secure_boot; 122*8d67ca89SAndroid Build Coastguard Worker __u8 _pad5[2]; 123*8d67ca89SAndroid Build Coastguard Worker __u8 sentinel; 124*8d67ca89SAndroid Build Coastguard Worker __u8 _pad6[1]; 125*8d67ca89SAndroid Build Coastguard Worker struct setup_header hdr; 126*8d67ca89SAndroid Build Coastguard Worker __u8 _pad7[0x290 - 0x1f1 - sizeof(struct setup_header)]; 127*8d67ca89SAndroid Build Coastguard Worker __u32 edd_mbr_sig_buffer[EDD_MBR_SIG_MAX]; 128*8d67ca89SAndroid Build Coastguard Worker struct boot_e820_entry e820_table[E820_MAX_ENTRIES_ZEROPAGE]; 129*8d67ca89SAndroid Build Coastguard Worker __u8 _pad8[48]; 130*8d67ca89SAndroid Build Coastguard Worker struct edd_info eddbuf[EDDMAXNR]; 131*8d67ca89SAndroid Build Coastguard Worker __u8 _pad9[276]; 132*8d67ca89SAndroid Build Coastguard Worker } __attribute__((packed)); 133*8d67ca89SAndroid Build Coastguard Worker enum x86_hardware_subarch { 134*8d67ca89SAndroid Build Coastguard Worker X86_SUBARCH_PC = 0, 135*8d67ca89SAndroid Build Coastguard Worker X86_SUBARCH_LGUEST, 136*8d67ca89SAndroid Build Coastguard Worker X86_SUBARCH_XEN, 137*8d67ca89SAndroid Build Coastguard Worker X86_SUBARCH_INTEL_MID, 138*8d67ca89SAndroid Build Coastguard Worker X86_SUBARCH_CE4100, 139*8d67ca89SAndroid Build Coastguard Worker X86_NR_SUBARCHS, 140*8d67ca89SAndroid Build Coastguard Worker }; 141*8d67ca89SAndroid Build Coastguard Worker #endif 142*8d67ca89SAndroid Build Coastguard Worker #endif 143