diff options
author | Glauber de Oliveira Costa <gcosta@redhat.com> | 2008-01-30 07:31:12 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:31:12 -0500 |
commit | 8d947344c47a40626730bb80d136d8daac9f2060 (patch) | |
tree | 3987eb84706b2f4e968d6838da9d2d1f6888e34e /arch/x86/xen/enlighten.c | |
parent | 010d4f8221cf51a2ab8b037d0149506b397d073f (diff) |
x86: change write_idt_entry signature
this patch changes write_idt_entry signature. It now takes a gate_desc
instead of the a and b parameters. It will allow it to be later unified
between i386 and x86_64.
Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com>
CC: Zachary Amsden <zach@vmware.com>
CC: Jeremy Fitzhardinge <Jeremy.Fitzhardinge.citrix.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/xen/enlighten.c')
-rw-r--r-- | arch/x86/xen/enlighten.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c index c32e0fd0f838..b7b7346d8cdc 100644 --- a/arch/x86/xen/enlighten.c +++ b/arch/x86/xen/enlighten.c | |||
@@ -399,8 +399,7 @@ static DEFINE_PER_CPU(struct desc_ptr, idt_desc); | |||
399 | 399 | ||
400 | /* Set an IDT entry. If the entry is part of the current IDT, then | 400 | /* Set an IDT entry. If the entry is part of the current IDT, then |
401 | also update Xen. */ | 401 | also update Xen. */ |
402 | static void xen_write_idt_entry(struct desc_struct *dt, int entrynum, | 402 | static void xen_write_idt_entry(gate_desc *dt, int entrynum, const gate_desc *g) |
403 | u32 low, u32 high) | ||
404 | { | 403 | { |
405 | unsigned long p = (unsigned long)&dt[entrynum]; | 404 | unsigned long p = (unsigned long)&dt[entrynum]; |
406 | unsigned long start, end; | 405 | unsigned long start, end; |
@@ -412,14 +411,15 @@ static void xen_write_idt_entry(struct desc_struct *dt, int entrynum, | |||
412 | 411 | ||
413 | xen_mc_flush(); | 412 | xen_mc_flush(); |
414 | 413 | ||
415 | write_dt_entry(dt, entrynum, low, high); | 414 | native_write_idt_entry(dt, entrynum, g); |
416 | 415 | ||
417 | if (p >= start && (p + 8) <= end) { | 416 | if (p >= start && (p + 8) <= end) { |
418 | struct trap_info info[2]; | 417 | struct trap_info info[2]; |
418 | u32 *desc = (u32 *)g; | ||
419 | 419 | ||
420 | info[1].address = 0; | 420 | info[1].address = 0; |
421 | 421 | ||
422 | if (cvt_gate_to_trap(entrynum, low, high, &info[0])) | 422 | if (cvt_gate_to_trap(entrynum, desc[0], desc[1], &info[0])) |
423 | if (HYPERVISOR_set_trap_table(info)) | 423 | if (HYPERVISOR_set_trap_table(info)) |
424 | BUG(); | 424 | BUG(); |
425 | } | 425 | } |