[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@valinux.co.jp>
This commit is contained in:
Isaku Yamahata committed 2009-01-05 14:13:38 +09:00
1 parent d77e8b2664
commit 7fa5f162da
1 file changed
+11 -8
+11 -8
View File
@@ -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_HANDLE(void) arg)
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;
}
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.