aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/hvm/io.c
diff options
context:
space:
mode:
authorStefano Stabellini <stefano.stabellini@eu.citrix.com>2011-11-16 15:17:37 +0000
committerStefano Stabellini <stefano.stabellini@eu.citrix.com>2011-11-16 15:17:37 +0000
commit6e78f81a2761d175f82551b1cbcdad6d53392bec (patch)
treee8fe2aa550d862b27c1b8fdca94dd64a90e899c1 /xen/arch/x86/hvm/io.c
parent54b1268c59646a05079606ddd3782bbeaf0850bb (diff)
downloadxen-6e78f81a2761d175f82551b1cbcdad6d53392bec.tar.gz
xen-6e78f81a2761d175f82551b1cbcdad6d53392bec.tar.bz2
xen-6e78f81a2761d175f82551b1cbcdad6d53392bec.zip
hvm: introduce HVM_PARAM_BUFIOREQ_EVTCHN
Introduce an event channel for buffered io event notifications, advertise the port number using an hvm param. This way the device model is not forced to check the buffered io page for data several times a second for the entire life of the VM (buffered io is mostly used for stdvga emulation in Xen that is switched off after the guest goes into graphical mode). Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Committed-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'xen/arch/x86/hvm/io.c')
-rw-r--r--xen/arch/x86/hvm/io.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/xen/arch/x86/hvm/io.c b/xen/arch/x86/hvm/io.c
index 7ebefc7460..41a2edea50 100644
--- a/xen/arch/x86/hvm/io.c
+++ b/xen/arch/x86/hvm/io.c
@@ -118,6 +118,8 @@ int hvm_buffered_io_send(ioreq_t *p)
wmb();
pg->write_pointer += qw ? 2 : 1;
+ notify_via_xen_event_channel(v->domain,
+ v->domain->arch.hvm_domain.params[HVM_PARAM_BUFIOREQ_EVTCHN]);
spin_unlock(&iorp->lock);
return 1;