diff options
Diffstat (limited to 'arch/x86_64')
-rw-r--r-- | arch/x86_64/boot/boot.asm | 3 | ||||
-rw-r--r-- | arch/x86_64/boot/linker.ld | 12 |
2 files changed, 12 insertions, 3 deletions
diff --git a/arch/x86_64/boot/boot.asm b/arch/x86_64/boot/boot.asm index 1abda41..3f85423 100644 --- a/arch/x86_64/boot/boot.asm +++ b/arch/x86_64/boot/boot.asm @@ -5,6 +5,7 @@ section .text bits 32 start: mov esp, stack_top + mov edi, ebx ;Move Multiboot info pointer to edi call check_multiboot call check_cpuid @@ -150,7 +151,7 @@ p3_table: p2_table: resb 4096 stack_bottom: - resb 4096 + resb 4096 * 4 stack_top: section .rodata diff --git a/arch/x86_64/boot/linker.ld b/arch/x86_64/boot/linker.ld index 5d788f1..0ad745e 100644 --- a/arch/x86_64/boot/linker.ld +++ b/arch/x86_64/boot/linker.ld @@ -6,11 +6,19 @@ SECTIONS { .boot : { /* ensure that the multiboot header is at the beginning */ - *(.multiboot_header) + KEEP(*(.multiboot_header)) } .text : { - *(.text) + *(.text .text.*) + } + + .rodata : { + *(.rodata .rodata.*) + } + + .data.rel.ro : { + *(.data.rel.ro.local*) *(.data.rel.ro .data.rel.ro.*) } } |