summaryrefslogtreecommitdiff
path: root/include/x86/x86-linux.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/x86/x86-linux.h')
-rw-r--r--include/x86/x86-linux.h20
1 files changed, 14 insertions, 6 deletions
diff --git a/include/x86/x86-linux.h b/include/x86/x86-linux.h
index afe66bd..4f3507e 100644
--- a/include/x86/x86-linux.h
+++ b/include/x86/x86-linux.h
@@ -144,18 +144,22 @@ struct x86_linux_param_header {
/* 2.04+ */
uint32_t kernel_alignment; /* 0x230 */
uint8_t relocatable_kernel; /* 0x234 */
- uint8_t reserved15[0x2d0 - 0x235]; /* 0x230 */
+ uint8_t reserved15[3]; /* 0x235 */
+ uint32_t cmdline_size; /* 0x238 */
+ uint32_t hardware_subarch; /* 0x23C */
+ uint64_t hardware_subarch_data; /* 0x240 */
+ uint8_t reserved16[0x2d0 - 0x248]; /* 0x248 */
#endif
struct e820entry e820_map[E820MAX]; /* 0x2d0 */
/* 0x550 */
-#define COMMAND_LINE_SIZE 256
+#define COMMAND_LINE_SIZE 2048
};
struct x86_linux_faked_param_header {
struct x86_linux_param_header hdr; /* 0x00 */
- uint8_t reserved16[688]; /* 0x550 */
- uint8_t command_line[COMMAND_LINE_SIZE]; /* 0x800 */
- uint8_t reserved17[1792]; /* 0x900 - 0x1000 */
+ uint8_t reserved17[0xab0]; /* 0x550 */
+ uint8_t command_line[COMMAND_LINE_SIZE]; /* 0x1000 */
+ uint8_t reserved18[0x200]; /* 0x1800 - 0x2000 */
};
struct x86_linux_header {
@@ -206,7 +210,11 @@ struct x86_linux_header {
#else
uint32_t kernel_alignment; /* 0x230 */
uint8_t relocatable_kernel; /* 0x234 */
- uint8_t tail[32*1024 - 0x235]; /* 0x230 */
+ uint8_t reserved6[3]; /* 0x235 */
+ uint32_t cmdline_size; /* 0x238 */
+ uint32_t hardware_subarch; /* 0x23C */
+ uint64_t hardware_subarch_data; /* 0x240 */
+ uint8_t tail[32*1024 - 0x248]; /* 0x248 */
#endif
} PACKED;