From fef9a11d16c706e4c13b5caf673577115fb6e4c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Lov=C3=A9n?= Date: Tue, 24 Oct 2017 21:59:41 +0200 Subject: [PATCH] Use either multiboot1 or multiboot2 --- src/kernel/boot/boot.S | 17 +++++++++++++++++ toolchain/mkiso | 3 +++ 2 files changed, 20 insertions(+) diff --git a/src/kernel/boot/boot.S b/src/kernel/boot/boot.S index 2132181..7bdc83d 100644 --- a/src/kernel/boot/boot.S +++ b/src/kernel/boot/boot.S @@ -4,6 +4,11 @@ #define MBOOT1_FLAGS (MBOOT1_PALIGN | MBOOT1_MEMINFO) #define MBOOT1_CS -(MBOOT1_FLAGS + MBOOT1_MAGIC) +#define MBOOT2_MAGIC 0xE85250D6 +#define MBOOT2_ARCH 0 +#define MBOOT2_LENGTH (MultiBootHeader2End - MultiBootHeader2) +#define MBOOT2_CHECKSUM -(MBOOT2_MAGIC + MBOOT2_ARCH + MBOOT2_LENGTH) + .intel_syntax noprefix .section .multiboot @@ -13,6 +18,18 @@ MultiBootHeader1: .long MBOOT1_FLAGS .long MBOOT1_CS +.align 0x1000 +MultiBootHeader2: +.long MBOOT2_MAGIC +.long MBOOT2_ARCH +.long MBOOT2_LENGTH +.long MBOOT2_CHECKSUM + +.short 0 +.short 0 +.long 8 +MultiBootHeader2End: + .section .text .global _start .code32 diff --git a/toolchain/mkiso b/toolchain/mkiso index bc92586..b5c232d 100755 --- a/toolchain/mkiso +++ b/toolchain/mkiso @@ -13,6 +13,9 @@ set timeout=1 set default=0 menuentry "mittos64" { + multiboot2 /kernel +} +menuentry "mittos64 multiboot1" { multiboot /kernel }