hw_x86_64: Add virt_base argument to Idt::load

The argument specifies the virtual base address of the mode transition
pages.
This commit is contained in:
Reto Buerki 2015-02-26 14:01:16 +01:00 committed by Christian Helmuth
parent ecaad9ecce
commit 9c2d071654
3 changed files with 5 additions and 3 deletions

View File

@ -54,7 +54,7 @@ class Genode::Cpu
Tss::setup();
}
_idt->load();
_idt->load(Cpu::exception_entry);
Tss::load();
}

View File

@ -54,8 +54,10 @@ class Genode::Idt
/**
* Load IDT into IDTR.
*
* \param virt_base virtual base address of mode transition pages
*/
void load();
void load(addr_t const virt_base);
};
#endif /* _IDT_H_ */

View File

@ -44,7 +44,7 @@ void Idt::setup()
}
void Idt::load()
void Idt::load(addr_t const virt_base)
{
asm volatile ("lidt %0" : : "m" (Descriptor (sizeof(_table) - 1,
reinterpret_cast<uint64_t>(_table))));