[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] [IA64] fix ia64_fast_eoi hypercall to catch up PHYSDEVOP_pirq_eoi_gmfn



# 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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.