diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2008-11-28 13:27:32 +0000 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2008-11-28 13:27:32 +0000 |
commit | 83850d485c89973e94552b1300bce0513426d3e0 (patch) | |
tree | 440017d1cc6d15d05c9b9f505c886903b4f44cac /xen/common/event_channel.c | |
parent | c4e83a1484339a709081442f45e40bbc5aa98d0a (diff) | |
download | xen-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.c | 5 |
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; } |