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(); Tss::setup();
} }
_idt->load(); _idt->load(Cpu::exception_entry);
Tss::load(); Tss::load();
} }

View File

@ -54,8 +54,10 @@ class Genode::Idt
/** /**
* Load IDT into IDTR. * 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_ */ #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, asm volatile ("lidt %0" : : "m" (Descriptor (sizeof(_table) - 1,
reinterpret_cast<uint64_t>(_table)))); reinterpret_cast<uint64_t>(_table))));