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