summaryrefslogtreecommitdiff
path: root/utility/include/kernel_blob.h
diff options
context:
space:
mode:
Diffstat (limited to 'utility/include/kernel_blob.h')
-rw-r--r--utility/include/kernel_blob.h19
1 files changed, 9 insertions, 10 deletions
diff --git a/utility/include/kernel_blob.h b/utility/include/kernel_blob.h
index 5784542e..f9175f65 100644
--- a/utility/include/kernel_blob.h
+++ b/utility/include/kernel_blob.h
@@ -23,14 +23,6 @@
// RAM address where the 32-bit kernel expects to be started
#define CROS_32BIT_ENTRY_ADDR 0x100000
-// Simplified version of the vmlinuz file header
-struct linux_kernel_header
-{
- uint8_t pad0[0x01f1 - 0x0];
- uint8_t setup_sects; // 1f1
- uint8_t pad1[0x0230 - 0x1f2];
-} __attribute__ ((packed));
-
// Simplified version of x86 kernel e820 memory map entries
#define E820_ENTRY_MAX 128
#define E820_TYPE_RAM 1
@@ -51,14 +43,21 @@ struct linux_kernel_params
uint8_t setup_sects; // 1f1
uint8_t pad2[0x1fe - 0x1f2];
uint16_t boot_flag; // 1fe
- uint8_t pad3[0x210 - 0x200];
+ uint16_t jump; // 200
+ uint32_t header; // 202
+ uint16_t version; // 206
+ uint8_t pad3[0x210 - 0x208];
uint8_t type_of_loader; // 210
uint8_t pad4[0x218 - 0x211];
uint32_t ramdisk_image; // 218
uint32_t ramdisk_size; // 21c
uint8_t pad5[0x228 - 0x220];
uint32_t cmd_line_ptr; // 228
- uint8_t pad6[0x2d0 - 0x22c];
+ uint32_t ramdisk_max; // 22c
+ uint32_t kernel_alignment; // 230
+ uint8_t relocatable_kernel; // 234
+ uint8_t min_alignment; // 235
+ uint8_t pad6[0x2d0 - 0x236];
struct linux_kernel_e820entry e820_entries[E820_ENTRY_MAX]; // 2d0 - cd0
} __attribute__ ((packed));