diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2025-12-03 14:02:07 +0100 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2025-12-03 14:02:07 +0100 |
| commit | a08847ded5fba25859e7a3ad06ae3fed342d4d6a (patch) | |
| tree | 607addb6a707fc39b39eb69779467841fc6d7356 /arch/x86_64/src/boot/entry64.s | |
| parent | 9331afdcbbe95bc1bd79d657f0d7c5b91a19a375 (diff) | |
| download | teachos-a08847ded5fba25859e7a3ad06ae3fed342d4d6a.tar.xz teachos-a08847ded5fba25859e7a3ad06ae3fed342d4d6a.zip | |
x86_64/boot: move stack to higher half
Diffstat (limited to 'arch/x86_64/src/boot/entry64.s')
| -rw-r--r-- | arch/x86_64/src/boot/entry64.s | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/x86_64/src/boot/entry64.s b/arch/x86_64/src/boot/entry64.s index 636e4cd..2932354 100644 --- a/arch/x86_64/src/boot/entry64.s +++ b/arch/x86_64/src/boot/entry64.s @@ -11,6 +11,12 @@ .global bootstrap_information bootstrap_information: .skip 16 +.align 16 +.global stack_top +stack_bottom: .skip 1 << 20 +stack_top: +stack_size = stack_top - stack_bottom + .section .boot_text, "ax", @progbits .code64 @@ -23,6 +29,9 @@ _entry64: mov %rax, %fs mov %rax, %gs + mov $stack_top, %rsp + mov %rsp, %rbp + mov multiboot_information_pointer, %rax mov vga_buffer_pointer, %rdx sub $0xb8000, %rdx |
