diff options
Diffstat (limited to 'arch/x86/lguest/boot.c')
-rw-r--r-- | arch/x86/lguest/boot.c | 9 |
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 | */ |
220 | static void lguest_write_idt_entry(struct desc_struct *dt, | 220 | static 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 |