aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/lguest/boot.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/lguest/boot.c')
-rw-r--r--arch/x86/lguest/boot.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/x86/lguest/boot.c b/arch/x86/lguest/boot.c
index aa0bdd5fc4bb..b50c8ad25ab4 100644
--- a/arch/x86/lguest/boot.c
+++ b/arch/x86/lguest/boot.c
@@ -217,13 +217,14 @@ static void irq_enable(void)
217 * address of the handler, and... well, who cares? The Guest just asks the 217 * address of the handler, and... well, who cares? The Guest just asks the
218 * Host to make the change anyway, because the Host controls the real IDT. 218 * Host to make the change anyway, because the Host controls the real IDT.
219 */ 219 */
220static void lguest_write_idt_entry(struct desc_struct *dt, 220static void lguest_write_idt_entry(gate_desc *dt,
221 int entrynum, u32 low, u32 high) 221 int entrynum, const gate_desc *g)
222{ 222{
223 u32 *desc = (u32 *)g;
223 /* Keep the local copy up to date. */ 224 /* Keep the local copy up to date. */
224 write_dt_entry(dt, entrynum, low, high); 225 native_write_idt_entry(dt, entrynum, g);
225 /* Tell Host about this new entry. */ 226 /* Tell Host about this new entry. */
226 hcall(LHCALL_LOAD_IDT_ENTRY, entrynum, low, high); 227 hcall(LHCALL_LOAD_IDT_ENTRY, entrynum, desc[0], desc[1]);
227} 228}
228 229
229/* Changing to a different IDT is very rare: we keep the IDT up-to-date every 230/* Changing to a different IDT is very rare: we keep the IDT up-to-date every