diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2009-03-02 10:26:37 +0000 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2009-03-02 10:26:37 +0000 |
commit | 34097f0d30802ecdc6da79658090fab9479a0c1c (patch) | |
tree | 423d444c93600913ad32934d48c52bfca0694f64 /xen/arch/x86/hvm/intercept.c | |
parent | ec9db49cf0ecd3edc6a8f34dec1e6688f8bdbb35 (diff) | |
download | xen-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 'xen/arch/x86/hvm/intercept.c')
-rw-r--r-- | xen/arch/x86/hvm/intercept.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/xen/arch/x86/hvm/intercept.c b/xen/arch/x86/hvm/intercept.c index 0e110e00dc..107b87d2f7 100644 --- a/xen/arch/x86/hvm/intercept.c +++ b/xen/arch/x86/hvm/intercept.c @@ -35,14 +35,16 @@ extern struct hvm_mmio_handler hpet_mmio_handler; extern struct hvm_mmio_handler vlapic_mmio_handler; extern struct hvm_mmio_handler vioapic_mmio_handler; +extern struct hvm_mmio_handler msixtbl_mmio_handler; -#define HVM_MMIO_HANDLER_NR 3 +#define HVM_MMIO_HANDLER_NR 4 static struct hvm_mmio_handler *hvm_mmio_handlers[HVM_MMIO_HANDLER_NR] = { &hpet_mmio_handler, &vlapic_mmio_handler, - &vioapic_mmio_handler + &vioapic_mmio_handler, + &msixtbl_mmio_handler }; static int hvm_mmio_access(struct vcpu *v, |