]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
(no commit message)
authorMatthew Garrett <mjg@redhat.com>
Sat, 3 Mar 2012 17:05:16 +0000 (18:05 +0100)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sat, 3 Mar 2012 17:05:16 +0000 (18:05 +0100)
include/grub/i386/linux.h

index 6aa23910340fd598071b39a1200b6666a707650e..8e27b93e36c695de88ce602ce06b0f28cfc2067a 100644 (file)
@@ -86,7 +86,7 @@ enum
     GRUB_VIDEO_LINUX_TYPE_SIMPLE = 0x70    /* Linear framebuffer without any additional functions.  */
   };
 
-/* For the Linux/i386 boot protocol version 2.03.  */
+/* For the Linux/i386 boot protocol version 2.10.  */
 struct linux_kernel_header
 {
   grub_uint8_t code1[0x0020];
@@ -131,8 +131,16 @@ struct linux_kernel_header
   grub_uint32_t initrd_addr_max;        /* Highest address for initrd */
   grub_uint32_t kernel_alignment;
   grub_uint8_t relocatable;
-  grub_uint8_t pad[3];
+  grub_uint8_t min_alignment;
+  grub_uint8_t pad[2];
   grub_uint32_t cmdline_size;
+  grub_uint32_t hardware_subarch;
+  grub_uint64_t hardware_subarch_data;
+  grub_uint32_t payload_offset;
+  grub_uint32_t payload_length;
+  grub_uint64_t setup_data;
+  grub_uint64_t pref_address;
+  grub_uint64_t init_size;
 } __attribute__ ((packed));
 
 /* Boot parameters for Linux based on 2.6.12. This is used by the setup
@@ -276,10 +284,20 @@ struct linux_kernel_params
   grub_uint32_t ramdisk_size;          /* initrd size */
   grub_uint32_t bootsect_kludge;       /* obsolete */
   grub_uint16_t heap_end_ptr;          /* Free memory after setup end */
-  grub_uint16_t pad1;                  /* Unused */
+  grub_uint8_t ext_loader_ver;         /* Extended loader version */
+  grub_uint8_t ext_loader_type;                /* Extended loader type */  
   grub_uint32_t cmd_line_ptr;          /* Points to the kernel command line */
-
-  grub_uint8_t pad2[164];              /* 22c */
+  grub_uint32_t initrd_addr_max;       /* Maximum initrd address */
+  grub_uint32_t kernel_alignment;      /* Alignment of the kernel */
+  grub_uint8_t relocatable_kernel;     /* Is the kernel relocatable */
+  grub_uint8_t pad1[3];
+  grub_uint32_t cmdline_size;          /* Size of the kernel command line */
+  grub_uint32_t hardware_subarch;
+  grub_uint64_t hardware_subarch_data;
+  grub_uint32_t payload_offset;
+  grub_uint32_t payload_length;
+  grub_uint64_t setup_data;
+  grub_uint8_t pad2[120];              /* 258 */
   struct grub_e820_mmap e820_map[GRUB_E820_MAX_ENTRY]; /* 2d0 */
 
 } __attribute__ ((packed));