diff options
| author | Matteo Gmür <matteo.gmuer1@ost.ch> | 2025-03-28 09:59:09 +0000 |
|---|---|---|
| committer | Matteo Gmür <matteo.gmuer1@ost.ch> | 2025-03-28 09:59:09 +0000 |
| commit | e0eae9b9e905a1842b333823bfdb7c253cda8d1e (patch) | |
| tree | bf02711f9d3e0424dccef4dc1299b5a70c9f839a /arch/x86_64/src/boot | |
| parent | 9ddfcd02413a93718e8cde53f9ba5a96a5b29b8f (diff) | |
| download | teachos-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.s | 16 |
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) |
