mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-19 21:57:55 +00:00
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:
parent
ecaad9ecce
commit
9c2d071654
@ -54,7 +54,7 @@ class Genode::Cpu
|
|||||||
Tss::setup();
|
Tss::setup();
|
||||||
}
|
}
|
||||||
|
|
||||||
_idt->load();
|
_idt->load(Cpu::exception_entry);
|
||||||
Tss::load();
|
Tss::load();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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_ */
|
||||||
|
@ -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))));
|
||||||
|
Loading…
Reference in New Issue
Block a user