From: Suravee Suthikulpanit Date: Thu, 2 Jun 2016 11:12:35 +0000 (+0200) Subject: AMD IOMMU: remove currently non-functioning guest iommu feature X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~1067 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=181677977fc35ddb848ae4d440fbb72e8afc8a1e;p=xen.git AMD IOMMU: remove currently non-functioning guest iommu feature The guest IOMMU feature is currently not functioning. However, the current guest_iommu_init() is causing issue when it tries to register mmio handler because the it is currently called by the following code path: arch/x86/domain.c: arch_domain_create() ]- drivers/passthrough/iommu.c: iommu_domain_init() |- drivers/passthrough/amd/pci_amd_iommu.c: amd_iommu_domain_init(); |- drivers/passthrough/amd/iommu_guest.c: guest_iommu_init() At this point, the hvm_domain_initialised() has not been called. So register_mmio_handler() in guest_iommu_init() silently fails. This patch removes the guest IOMMU feature for now until we can properly support it. Signed-off-by: Suravee Suthikulpanit Reviewed-by: Paul Durrant Release-acked-by: Wei Liu --- diff --git a/xen/drivers/passthrough/amd/pci_amd_iommu.c b/xen/drivers/passthrough/amd/pci_amd_iommu.c index 70b747585d..fce9827b00 100644 --- a/xen/drivers/passthrough/amd/pci_amd_iommu.c +++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c @@ -272,9 +272,6 @@ static int amd_iommu_domain_init(struct domain *d) hd->arch.paging_mode = is_hvm_domain(d) ? IOMMU_PAGING_MODE_LEVEL_2 : get_paging_mode(max_page); - - guest_iommu_init(d); - return 0; } @@ -474,7 +471,6 @@ static void deallocate_iommu_page_tables(struct domain *d) static void amd_iommu_domain_destroy(struct domain *d) { - guest_iommu_destroy(d); deallocate_iommu_page_tables(d); amd_iommu_flush_all_pages(d); }