about summary refs log tree commit diff stats
path: root/kernel.soso/multiboot.h
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2019-09-14 01:42:29 -0700
committerKartik Agaram <vc@akkartik.com>2019-09-14 01:45:55 -0700
commit46bb1d3157f9ad575c83a4bfa1e32b0d21bc8546 (patch)
tree28918f653d7cf970d33d5592047ef663289aca40 /kernel.soso/multiboot.h
parentded2b24ce28f4a9df75ce40117f0f06f09574369 (diff)
downloadmu-46bb1d3157f9ad575c83a4bfa1e32b0d21bc8546.tar.gz
5650 - support a second OS: soso
https://github.com/ozkl/soso

+ Much smaller than Linux; builds instantly
+ Supports graphics
- No network support
- Doesn't work on a cloud server (yet?)
Diffstat (limited to 'kernel.soso/multiboot.h')
-rw-r--r--kernel.soso/multiboot.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/kernel.soso/multiboot.h b/kernel.soso/multiboot.h
new file mode 100644
index 00000000..9dbda630
--- /dev/null
+++ b/kernel.soso/multiboot.h
@@ -0,0 +1,45 @@
+#ifndef MULTIBOOT_H
+#define MULTIBOOT_H
+
+#include "common.h"
+
+#define MULTIBOOT_FRAMEBUFFER_TYPE_INDEXED  0
+#define MULTIBOOT_FRAMEBUFFER_TYPE_RGB      1
+#define MULTIBOOT_FRAMEBUFFER_TYPE_EGA_TEXT 2
+
+struct Multiboot
+{
+    uint32 flags;
+    uint32 mem_lower;
+    uint32 mem_upper;
+    uint32 boot_device;
+    uint32 cmdline;
+    uint32 mods_count;
+    uint32 mods_addr;
+    uint32 num;
+    uint32 size;
+    uint32 addr;
+    uint32 shndx;
+    uint32 mmap_length;
+    uint32 mmap_addr;
+    uint32 drives_length;
+    uint32 drives_addr;
+    uint32 config_table;
+    uint32 boot_loader_name;
+    uint32 apm_table;
+    uint32 vbe_control_info;
+    uint32 vbe_mode_info;
+    uint16 vbe_mode;
+    uint16 vbe_interface_seg;
+    uint16 vbe_interface_off;
+    uint16 vbe_interface_len;
+
+    uint64 framebuffer_addr;
+    uint32 framebuffer_pitch;
+    uint32 framebuffer_width;
+    uint32 framebuffer_height;
+    uint8 framebuffer_bpp;
+    uint8 framebuffer_type;
+}  __attribute__((packed));
+
+#endif