summaryrefslogtreecommitdiff
path: root/kernel/multiboot.h
diff options
context:
space:
mode:
authorVegard Storheil Eriksen <zyp@jvnv.net>2009-12-26 21:15:05 +0100
committerVegard Storheil Eriksen <zyp@jvnv.net>2009-12-26 21:15:05 +0100
commita35e29c07873db467e0ca670290666f8786dab03 (patch)
tree93ca3d311b76a8259f6883d3f32d1eabfefea60b /kernel/multiboot.h
parentf57cbe8ecdb4f6ecb22618de361d4fcaee3fdcf3 (diff)
First steps reading multiboot info. Added GDT.
Diffstat (limited to 'kernel/multiboot.h')
-rw-r--r--kernel/multiboot.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/kernel/multiboot.h b/kernel/multiboot.h
new file mode 100644
index 0000000..5a9e348
--- /dev/null
+++ b/kernel/multiboot.h
@@ -0,0 +1,43 @@
+#ifndef MULTIBOOT_H
+#define MULTIBOOT_H
+
+#include "types.h"
+
+typedef struct {
+ uint32_t flags;
+
+ uint32_t mem_lower;
+ uint32_t mem_upper;
+
+ uint32_t boot_device;
+
+ char* cmdline;
+
+ uint32_t mods_count;
+ uint32_t mods_addr;
+
+ union {
+ uint32_t foo[3];
+ } syms;
+
+ uint32_t mmap_length;
+ uint32_t mmap_addr;
+
+ uint32_t drives_length;
+ uint32_t drives_addr;
+
+ uint32_t config_table;
+
+ uint32_t boot_loader_name;
+
+ uint32_t apm_table;
+
+ uint32_t vbe_control_info;
+ uint32_t vbe_mode_info;
+ uint32_t vbe_mode;
+ uint32_t vbe_interface_seg;
+ uint32_t vbe_interface_off;
+ uint32_t vbe_interface_len;
+} multiboot_info;
+
+#endif