]> Pileus Git - ~andy/linux/blobdiff - include/asm-x86/bootparam.h
x86: linked list of setup_data for i386
[~andy/linux] / include / asm-x86 / bootparam.h
index 19f3ddf2df4be745426a0990770d30b591b3276e..0a073904168b48e18bf7613097dc0842cd6863fe 100644 (file)
@@ -9,6 +9,17 @@
 #include <asm/ist.h>
 #include <video/edid.h>
 
+/* setup data types */
+#define SETUP_NONE                     0
+
+/* extensible setup data list node */
+struct setup_data {
+       __u64 next;
+       __u32 type;
+       __u32 len;
+       __u8 data[0];
+};
+
 struct setup_header {
        __u8    setup_sects;
        __u16   root_flags;
@@ -46,6 +57,9 @@ struct setup_header {
        __u32   cmdline_size;
        __u32   hardware_subarch;
        __u64   hardware_subarch_data;
+       __u32   payload_offset;
+       __u32   payload_length;
+       __u64   setup_data;
 } __attribute__((packed));
 
 struct sys_desc_table {
@@ -54,13 +68,14 @@ struct sys_desc_table {
 };
 
 struct efi_info {
-       __u32 _pad1;
+       __u32 efi_loader_signature;
        __u32 efi_systab;
        __u32 efi_memdesc_size;
        __u32 efi_memdesc_version;
        __u32 efi_memmap;
        __u32 efi_memmap_size;
-       __u32 _pad2[2];
+       __u32 efi_systab_hi;
+       __u32 efi_memmap_hi;
 };
 
 /* The so-called "zeropage" */
@@ -91,4 +106,7 @@ struct boot_params {
        __u8  _pad9[276];                               /* 0xeec */
 } __attribute__((packed));
 
+void reserve_setup_data(void);
+void parse_setup_data(void);
+
 #endif /* _ASM_BOOTPARAM_H */