mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 23:50:19 +00:00
Kernel: Set CS selector when initializing thread context on x86_64
These are not technically required, since the Thread constructor already sets these, but they are set on i686, so let's try and keep consistent behaviour between the different archs.
This commit is contained in:
parent
76157594a9
commit
011bd06053
Notes:
sideshowbarker
2024-07-17 18:11:13 +09:00
Author: https://github.com/IdanHo Commit: https://github.com/SerenityOS/serenity/commit/011bd06053 Pull-request: https://github.com/SerenityOS/serenity/pull/12790
2 changed files with 2 additions and 1 deletions
|
@ -160,6 +160,7 @@ FlatPtr Processor::init_context(Thread& thread, bool leave_crit)
|
|||
regs.rip = FlatPtr(&thread_context_first_enter);
|
||||
regs.rsp0 = kernel_stack_top;
|
||||
regs.rsp = stack_top;
|
||||
regs.cs = GDT_SELECTOR_CODE0;
|
||||
return stack_top;
|
||||
}
|
||||
|
||||
|
|
|
@ -608,8 +608,8 @@ ErrorOr<void> Process::do_exec(NonnullRefPtr<OpenFileDescription> main_program_d
|
|||
new_main_thread->reset_fpu_state();
|
||||
|
||||
auto& regs = new_main_thread->m_regs;
|
||||
#if ARCH(I386)
|
||||
regs.cs = GDT_SELECTOR_CODE3 | 3;
|
||||
#if ARCH(I386)
|
||||
regs.ds = GDT_SELECTOR_DATA3 | 3;
|
||||
regs.es = GDT_SELECTOR_DATA3 | 3;
|
||||
regs.ss = GDT_SELECTOR_DATA3 | 3;
|
||||
|
|
Loading…
Reference in a new issue