diff options
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/i386/multiboot.s | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/src/arch/i386/multiboot.s b/src/arch/i386/multiboot.s index 2194982..d67110f 100644 --- a/src/arch/i386/multiboot.s +++ b/src/arch/i386/multiboot.s @@ -1,11 +1,19 @@ .set MAGIC, 0x1BADB002 -.set FLAG_ALIGN, 1<<0 /* align modules on page boundaries */ -.set FLAG_MEMINFO, 1<<1 /* memory map */ -.set FLAGS, FLAG_ALIGN | FLAG_MEMINFO +/* TODO set bss_end_addr, so the init module doesn't get overriden by the stack */ + +/* 1<<0 - align modules on page boundaries. + 1<<16 - enable manual addressing */ +.set FLAGS, 1<<0 | 1<<16 .set CHECKSUM, -(MAGIC + FLAGS) .section .multiboot .align 4 -.long MAGIC -.long FLAGS -.long CHECKSUM +multiboot_header: + .long MAGIC + .long FLAGS + .long CHECKSUM + .long multiboot_header // header_addr + .long multiboot_header // load_addr + .long _data_end // load_end_addr + .long _kernel_end // bss_end_addr + .long _start // entry_addr |