[BOOT] Multiboot compliant kernel which runs 64 bit code

This commit is contained in:
2016-07-24 00:45:20 +02:00
parent 1f8d5b3482
commit df86be2973
13 changed files with 433 additions and 4 deletions

33
kernel/Link.ld Normal file
View File

@@ -0,0 +1,33 @@
/* Guidance from http://wiki.osdev.org/Bare_Bones */
ENTRY(_start)
KERNEL_OFFSET = 0xFFFFFF8000000000;
KERNEL_START = 0x100000;
SECTIONS
{
. = KERNEL_START + KERNEL_OFFSET;
.text : AT(ADDR(.text) - KERNEL_OFFSET)
{
*(.multiboot) /* Multiboot header must be in first 4k of elf */
*(.text)
. = ALIGN(4096);
}
.rodata BLOCK(4K) :AT(ADDR(.rodata) - KERNEL_OFFSET)
{
*(.rodata*)
}
.data BLOCK(4K) :AT(ADDR(.data) - KERNEL_OFFSET)
{
*(.data)
}
.bss BLOCK(4K) :AT(ADDR(.bss) - KERNEL_OFFSET)
{
*(.COMMON)
*(.bss)
}
}