summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorHuang, Ying2008-03-28 03:49:44 +0100
committerIngo Molnar2008-04-26 21:34:42 +0200
commit8b664aa66e824a0ddf4ec56d41fa0cf7bb374de6 (patch)
tree57c5de72c38f630e126964b922c379c4a7e49100 /include
parentx86, boot: add free_early to early reservation machanism (diff)
downloadkernel-qcow2-linux-8b664aa66e824a0ddf4ec56d41fa0cf7bb374de6.tar.gz
kernel-qcow2-linux-8b664aa66e824a0ddf4ec56d41fa0cf7bb374de6.tar.xz
kernel-qcow2-linux-8b664aa66e824a0ddf4ec56d41fa0cf7bb374de6.zip
x86, boot: add linked list of struct setup_data
This patch adds a field of 64-bit physical pointer to NULL terminated single linked list of struct setup_data to real-mode kernel header. This is used as a more extensible boot parameters passing mechanism. Signed-off-by: Huang Ying <ying.huang@intel.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include')
-rw-r--r--include/asm-x86/bootparam.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/asm-x86/bootparam.h b/include/asm-x86/bootparam.h
index 51151356840f..e8659909e5f6 100644
--- a/include/asm-x86/bootparam.h
+++ b/include/asm-x86/bootparam.h
@@ -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 {