|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] [IA64] fix ia64_fast_eoi hypercall to cat
# HG changeset patch
# User Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
# Date 1231132418 -32400
# Node ID 29a0ecb8a711b28afab72839b57c35571391db14
# Parent 636c685d9622851589ef2fac1a21d405ac901c49
[IA64] fix ia64_fast_eoi hypercall to catch up PHYSDEVOP_pirq_eoi_gmfn
ia64 xen Linux uses ia64_fast_eoi to do eoi. So the c/s 18862:f0a9a58608a0
should also have changed od_pir_guest_eoi() too.
This patch changes it.
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
---
xen/arch/ia64/xen/hypercall.c | 21 ++++++++++++---------
1 files changed, 12 insertions(+), 9 deletions(-)
diff -r 636c685d9622 -r 29a0ecb8a711 xen/arch/ia64/xen/hypercall.c
--- a/xen/arch/ia64/xen/hypercall.c Mon Jan 05 12:24:58 2009 +0900
+++ b/xen/arch/ia64/xen/hypercall.c Mon Jan 05 14:13:38 2009 +0900
@@ -61,11 +61,19 @@ xen_fast_hypercall (struct pt_regs *regs
return IA64_NO_FAULT;
}
+static long __do_pirq_guest_eoi(struct domain *d, int pirq)
+{
+ if ( pirq < 0 || pirq >= NR_IRQS )
+ return -EINVAL;
+ if ( d->arch.pirq_eoi_map )
+ evtchn_unmask(d->pirq_to_evtchn[pirq]);
+ return pirq_guest_eoi(d, pirq);
+}
+
long do_pirq_guest_eoi(int pirq)
{
- return pirq_guest_eoi(current->domain, pirq);
-}
-
+ return __do_pirq_guest_eoi(current->domain, pirq);
+}
static void
fw_hypercall_ipi (struct pt_regs *regs)
@@ -483,12 +491,7 @@ long do_physdev_op(int cmd, XEN_GUEST_HA
ret = -EFAULT;
if ( copy_from_guest(&eoi, arg, 1) != 0 )
break;
- ret = -EINVAL;
- if ( eoi.irq < 0 || eoi.irq >= NR_IRQS )
- break;
- if ( current->domain->arch.pirq_eoi_map )
- evtchn_unmask(current->domain->pirq_to_evtchn[eoi.irq]);
- ret = pirq_guest_eoi(current->domain, eoi.irq);
+ ret = __do_pirq_guest_eoi(current->domain, eoi.irq);
break;
}
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] [IA64] fix ia64_fast_eoi hypercall to catch up PHYSDEVOP_pirq_eoi_gmfn,
Xen patchbot-unstable <=
|
|
|
|
|