diff options
Diffstat (limited to 'arch/x86_64/src/kernel/cpu')
| -rw-r--r-- | arch/x86_64/src/kernel/cpu/jmp.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/arch/x86_64/src/kernel/cpu/jmp.cpp b/arch/x86_64/src/kernel/cpu/jmp.cpp index 78b65f4..205c4a9 100644 --- a/arch/x86_64/src/kernel/cpu/jmp.cpp +++ b/arch/x86_64/src/kernel/cpu/jmp.cpp @@ -7,10 +7,8 @@ namespace teachos::arch::kernel::cpu asm volatile("jmp *%[input]" : /* no output from call */ : [input] "r"(address)); } - // auto jmp(far_pointer pointer) -> void - // { - // asm volatile("ljmp $[segment_selector],$[address]" - // : /* no output from call */ - // : [segment_selector] "m"(pointer.selector), [address] "m"(pointer.offset)); - // } + auto jmp(far_pointer pointer) -> void + { + asm volatile("jmp *%[input]" : /* no output from call */ : [input] "m"(pointer)); + } } // namespace teachos::arch::kernel::cpu |
