diff options
| author | Fabian Imhof <fabian.imhof@ost.ch> | 2025-04-05 15:27:20 +0000 |
|---|---|---|
| committer | Fabian Imhof <fabian.imhof@ost.ch> | 2025-04-05 15:27:20 +0000 |
| commit | a8852f91967a7e55e62e30f5cc07d076092b8b78 (patch) | |
| tree | 12708befd57fc0b89dbadc2e856c935b71c88807 /arch/x86_64/src/boot | |
| parent | c01d080bdc6bd843e840e4834424fe587286b274 (diff) | |
| download | teachos-a8852f91967a7e55e62e30f5cc07d076092b8b78.tar.xz teachos-a8852f91967a7e55e62e30f5cc07d076092b8b78.zip | |
add wip context switch to user mode
Diffstat (limited to 'arch/x86_64/src/boot')
| -rw-r--r-- | arch/x86_64/src/boot/boot.s | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/arch/x86_64/src/boot/boot.s b/arch/x86_64/src/boot/boot.s index 38a8af4..7932045 100644 --- a/arch/x86_64/src/boot/boot.s +++ b/arch/x86_64/src/boot/boot.s @@ -352,11 +352,7 @@ prepare_page_maps: .section .boot_text, "ax", @progbits .code64 -.global reload_segment_register -reload_segment_register: - // FIXME: maybe we should set the actually correct values here. We'd need to communicate them down from C++. - // Alternatively, we could probably implement this as a [[gnu::naked]] function in C++, to have easier access to - // arguments and symbols. Maybe later. +_transition_to_long_mode: xor %rax, %rax mov %rax, %ss mov %rax, %ds @@ -364,11 +360,6 @@ reload_segment_register: mov %rax, %fs mov %rax, %gs - ret - -_transition_to_long_mode: - call reload_segment_register - movl $0xb8000, (vga_buffer_pointer) call _init |
