aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/src/boot
diff options
context:
space:
mode:
authorMatteo Gmür <matteo.gmuer1@ost.ch>2025-03-28 09:59:09 +0000
committerMatteo Gmür <matteo.gmuer1@ost.ch>2025-03-28 09:59:09 +0000
commite0eae9b9e905a1842b333823bfdb7c253cda8d1e (patch)
treebf02711f9d3e0424dccef4dc1299b5a70c9f839a /arch/x86_64/src/boot
parent9ddfcd02413a93718e8cde53f9ba5a96a5b29b8f (diff)
downloadteachos-e0eae9b9e905a1842b333823bfdb7c253cda8d1e.tar.xz
teachos-e0eae9b9e905a1842b333823bfdb7c253cda8d1e.zip
Revert "update long jump handling"
This reverts commit 9ddfcd02413a93718e8cde53f9ba5a96a5b29b8f.
Diffstat (limited to 'arch/x86_64/src/boot')
-rw-r--r--arch/x86_64/src/boot/boot.s16
1 files changed, 10 insertions, 6 deletions
diff --git a/arch/x86_64/src/boot/boot.s b/arch/x86_64/src/boot/boot.s
index f6c7978..35a6121 100644
--- a/arch/x86_64/src/boot/boot.s
+++ b/arch/x86_64/src/boot/boot.s
@@ -354,11 +354,8 @@ prepare_page_maps:
.section .boot_text, "ax", @progbits
.code64
-.global reload_segment_register_trampoline
-reload_segment_register_trampoline:
- jmp 0x08, $_reload_cs
-
-_reload_cs:
+.global segment_register_reload_pointer
+segment_register_reload_pointer:
xor %rax, %rax
mov %rax, %ss
mov %rax, %ds
@@ -369,7 +366,14 @@ _reload_cs:
ret
_transition_to_long_mode:
- call _reload_cs
+ //call segment_register_reload_pointer
+
+ xor %rax, %rax
+ mov %rax, %ss
+ mov %rax, %ds
+ mov %rax, %es
+ mov %rax, %fs
+ mov %rax, %gs
movl $0xb8000, (vga_buffer_pointer)