aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libxc/xc_domain.c
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2009-03-02 10:26:37 +0000
committerKeir Fraser <keir.fraser@citrix.com>2009-03-02 10:26:37 +0000
commit34097f0d30802ecdc6da79658090fab9479a0c1c (patch)
tree423d444c93600913ad32934d48c52bfca0694f64 /tools/libxc/xc_domain.c
parentec9db49cf0ecd3edc6a8f34dec1e6688f8bdbb35 (diff)
downloadxen-34097f0d30802ecdc6da79658090fab9479a0c1c.tar.gz
xen-34097f0d30802ecdc6da79658090fab9479a0c1c.tar.bz2
xen-34097f0d30802ecdc6da79658090fab9479a0c1c.zip
hvm: passthrough MSI-X mask bit acceleration
Add a new parameter to DOMCTL_bind_pt_irq to allow Xen to know the guest physical address of MSI-X table. Also add a new MMIO intercept handler to intercept that gpa in order to handle MSI-X vector mask bit operation in the hypervisor. This reduces the load of device model considerably if the guest does mask and unmask frequently Signed-off-by: Qing He <qing.he@intel.com>
Diffstat (limited to 'tools/libxc/xc_domain.c')
-rw-r--r--tools/libxc/xc_domain.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/tools/libxc/xc_domain.c b/tools/libxc/xc_domain.c
index 5e977307cf..6ed4f52ec3 100644
--- a/tools/libxc/xc_domain.c
+++ b/tools/libxc/xc_domain.c
@@ -920,7 +920,8 @@ int xc_domain_update_msi_irq(
uint32_t domid,
uint32_t gvec,
uint32_t pirq,
- uint32_t gflags)
+ uint32_t gflags,
+ uint64_t gtable)
{
int rc;
xen_domctl_bind_pt_irq_t *bind;
@@ -936,6 +937,7 @@ int xc_domain_update_msi_irq(
bind->machine_irq = pirq;
bind->u.msi.gvec = gvec;
bind->u.msi.gflags = gflags;
+ bind->u.msi.gtable = gtable;
rc = do_domctl(xc_handle, &domctl);
return rc;