aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/hvm/intercept.c
diff options
context:
space:
mode:
authorWei Wang <wei.wang2@amd.com>2012-01-12 13:50:50 +0100
committerWei Wang <wei.wang2@amd.com>2012-01-12 13:50:50 +0100
commit4547137c3e31bae4c6c89d1fad63b1928681715f (patch)
treeedb20a9aafd04e245b1d62f2f2738a2c6706cfbd /xen/arch/x86/hvm/intercept.c
parent262bb227a4f27d0d18dfd2151798a884967db9b6 (diff)
downloadxen-4547137c3e31bae4c6c89d1fad63b1928681715f.tar.gz
xen-4547137c3e31bae4c6c89d1fad63b1928681715f.tar.bz2
xen-4547137c3e31bae4c6c89d1fad63b1928681715f.zip
amd iommu: Add iommu emulation for hvm guest
ATS device driver that support PASID [1] and PRI [2] capabilites needs to work with iommu driver in guest OS. We have to expose iommu functionality to HVM guest, if we want assign ATS device to it. A new hypervisor mmio handler is added to intercept iommu mmio accesses from guest. Signed-off-by: Wei Wang <wei.wang2@amd.com> [1] http://www.pcisig.com/specifications/pciexpress/specifications/ECN-PASID-ATS-2011-03-31.pdf [2] http://www.pcisig.com/members/downloads/specifications/iov/ats_r1.1_26Jan09.pdf Committed-by: Jan Beulich <jbeulich@suse.com>
Diffstat (limited to 'xen/arch/x86/hvm/intercept.c')
-rw-r--r--xen/arch/x86/hvm/intercept.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/xen/arch/x86/hvm/intercept.c b/xen/arch/x86/hvm/intercept.c
index be6bf95d8b..af22d11bcb 100644
--- a/xen/arch/x86/hvm/intercept.c
+++ b/xen/arch/x86/hvm/intercept.c
@@ -38,7 +38,8 @@ hvm_mmio_handlers[HVM_MMIO_HANDLER_NR] =
&hpet_mmio_handler,
&vlapic_mmio_handler,
&vioapic_mmio_handler,
- &msixtbl_mmio_handler
+ &msixtbl_mmio_handler,
+ &iommu_mmio_handler
};
static int hvm_mmio_access(struct vcpu *v,