mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 01:08:11 +00:00
Kernel: Stop flushing GDT/IDT registers all the time
This commit is contained in:
parent
17d4e74518
commit
c3e4387c57
2 changed files with 0 additions and 4 deletions
|
@ -447,14 +447,12 @@ void register_interrupt_handler(u8 index, void (*f)())
|
|||
{
|
||||
s_idt[index].low = 0x00080000 | LSW((f));
|
||||
s_idt[index].high = ((u32)(f)&0xffff0000) | 0x8e00;
|
||||
flush_idt();
|
||||
}
|
||||
|
||||
void register_user_callable_interrupt_handler(u8 index, void (*f)())
|
||||
{
|
||||
s_idt[index].low = 0x00080000 | LSW((f));
|
||||
s_idt[index].high = ((u32)(f)&0xffff0000) | 0xef00;
|
||||
flush_idt();
|
||||
}
|
||||
|
||||
void flush_idt()
|
||||
|
|
|
@ -464,7 +464,6 @@ void Scheduler::switch_now()
|
|||
{
|
||||
Descriptor& descriptor = get_gdt_entry(current->selector());
|
||||
descriptor.type = 9;
|
||||
flush_gdt();
|
||||
asm("sti\n"
|
||||
"ljmp *(%%eax)\n" ::"a"(¤t->far_ptr()));
|
||||
}
|
||||
|
@ -521,7 +520,6 @@ bool Scheduler::context_switch(Thread& thread)
|
|||
|
||||
auto& descriptor = get_gdt_entry(thread.selector());
|
||||
descriptor.type = 11; // Busy TSS
|
||||
flush_gdt();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue