aboutsummaryrefslogtreecommitdiffstats
path: root/xen/common/event_channel.c
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2008-11-28 13:27:32 +0000
committerKeir Fraser <keir.fraser@citrix.com>2008-11-28 13:27:32 +0000
commit83850d485c89973e94552b1300bce0513426d3e0 (patch)
tree440017d1cc6d15d05c9b9f505c886903b4f44cac /xen/common/event_channel.c
parentc4e83a1484339a709081442f45e40bbc5aa98d0a (diff)
downloadxen-83850d485c89973e94552b1300bce0513426d3e0.tar.gz
xen-83850d485c89973e94552b1300bce0513426d3e0.tar.bz2
xen-83850d485c89973e94552b1300bce0513426d3e0.zip
x86: add a shared page indicating the need for an EOI notification
To simplify the interface for the guest, when a guest uses this new (sub-)hypercall, PHYSDEVOP_eoi behavior changes to unmask the corresponding event channel at once, avoiding the eventual need for a second hypercall from the guest. Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Diffstat (limited to 'xen/common/event_channel.c')
-rw-r--r--xen/common/event_channel.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
index 3993df4bc5..09702e3d1f 100644
--- a/xen/common/event_channel.c
+++ b/xen/common/event_channel.c
@@ -762,10 +762,9 @@ long evtchn_bind_vcpu(unsigned int port, unsigned int vcpu_id)
}
-static long evtchn_unmask(evtchn_unmask_t *unmask)
+int evtchn_unmask(unsigned int port)
{
struct domain *d = current->domain;
- int port = unmask->port;
struct vcpu *v;
spin_lock(&d->event_lock);
@@ -916,7 +915,7 @@ long do_event_channel_op(int cmd, XEN_GUEST_HANDLE(void) arg)
struct evtchn_unmask unmask;
if ( copy_from_guest(&unmask, arg, 1) != 0 )
return -EFAULT;
- rc = evtchn_unmask(&unmask);
+ rc = evtchn_unmask(unmask.port);
break;
}