[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH RFC 00/10] x86 passthrough code cleanup
Hi all At some point I would like to make CONFIG_HVM and CONFIG_PV work. The passthrough code is one of the road blocks for that work. A short discussion on #xendevel made me think that having host side code regardless of if HVM (the primary user) is configured is desirable because PV guests may still have limited use of the hardware, hence this series. What I want is to have clear hierarchy of the code and split the host side and the guest side code, and start to use CONFIG_HVM where applicable. Luckily the amount of work seemed to be smaller than I had expected. RFC because there are a few open questions. Please see individual patches. Wei. Wei Liu (10): passthrough: rearrange x86 code passthrough: split out x86 PCI code to x86/pci.c x86/passthrough: io.c is used for HVM only x86/passthrough: arch_pci_clean_irqs is HVM only x86/passthrough: move hvm_dpci_isairq_eoi passthrough/amd: remove guest iommu support passthrough/amd: split out hvm code from iommu_map.c passthrough/amd: make clear_iommu_pte_present static passthrough/intel: put some code under CONFIG_HVM x86: check hvm domain before calling pt_irq_destroy_bind MAINTAINERS | 8 +- xen/arch/x86/domctl.c | 4 + xen/drivers/passthrough/Makefile | 3 - xen/drivers/passthrough/amd/iommu_guest.c | 927 --------------------- xen/drivers/passthrough/pci.c | 51 +- xen/drivers/passthrough/x86/Makefile | 5 + xen/drivers/passthrough/{ => x86}/amd/Makefile | 2 +- xen/drivers/passthrough/x86/amd/hvm.c | 108 +++ xen/drivers/passthrough/x86/amd/iommu.h | 32 + xen/drivers/passthrough/{ => x86}/amd/iommu_acpi.c | 0 xen/drivers/passthrough/{ => x86}/amd/iommu_cmd.c | 2 +- .../passthrough/{ => x86}/amd/iommu_detect.c | 0 xen/drivers/passthrough/{ => x86}/amd/iommu_init.c | 21 +- xen/drivers/passthrough/{ => x86}/amd/iommu_intr.c | 0 xen/drivers/passthrough/{ => x86}/amd/iommu_map.c | 107 +-- .../passthrough/{ => x86}/amd/pci_amd_iommu.c | 2 +- xen/drivers/passthrough/{ => x86}/io.c | 45 + xen/drivers/passthrough/x86/pci.c | 74 ++ xen/drivers/passthrough/{ => x86}/vtd/Makefile | 0 xen/drivers/passthrough/{ => x86}/vtd/dmar.c | 0 xen/drivers/passthrough/{ => x86}/vtd/dmar.h | 0 xen/drivers/passthrough/{ => x86}/vtd/extern.h | 0 xen/drivers/passthrough/{ => x86}/vtd/intremap.c | 0 xen/drivers/passthrough/{ => x86}/vtd/iommu.c | 17 +- xen/drivers/passthrough/{ => x86}/vtd/iommu.h | 0 xen/drivers/passthrough/{ => x86}/vtd/qinval.c | 2 +- xen/drivers/passthrough/{ => x86}/vtd/quirks.c | 0 xen/drivers/passthrough/{ => x86}/vtd/utils.c | 0 xen/drivers/passthrough/{ => x86}/vtd/vtd.h | 0 xen/drivers/passthrough/{ => x86}/vtd/x86/Makefile | 0 xen/drivers/passthrough/{ => x86}/vtd/x86/ats.c | 2 +- xen/drivers/passthrough/{ => x86}/vtd/x86/vtd.c | 45 - xen/include/asm-x86/amd-iommu.h | 51 -- xen/include/asm-x86/hvm/svm/amd-iommu-proto.h | 8 - xen/include/asm-x86/iommu.h | 1 - xen/include/xen/iommu.h | 1 - xen/include/xen/pci.h | 2 + 37 files changed, 310 insertions(+), 1210 deletions(-) delete mode 100644 xen/drivers/passthrough/amd/iommu_guest.c rename xen/drivers/passthrough/{ => x86}/amd/Makefile (86%) create mode 100644 xen/drivers/passthrough/x86/amd/hvm.c create mode 100644 xen/drivers/passthrough/x86/amd/iommu.h rename xen/drivers/passthrough/{ => x86}/amd/iommu_acpi.c (100%) rename xen/drivers/passthrough/{ => x86}/amd/iommu_cmd.c (99%) rename xen/drivers/passthrough/{ => x86}/amd/iommu_detect.c (100%) rename xen/drivers/passthrough/{ => x86}/amd/iommu_init.c (99%) rename xen/drivers/passthrough/{ => x86}/amd/iommu_intr.c (100%) rename xen/drivers/passthrough/{ => x86}/amd/iommu_map.c (86%) rename xen/drivers/passthrough/{ => x86}/amd/pci_amd_iommu.c (99%) rename xen/drivers/passthrough/{ => x86}/io.c (96%) create mode 100644 xen/drivers/passthrough/x86/pci.c rename xen/drivers/passthrough/{ => x86}/vtd/Makefile (100%) rename xen/drivers/passthrough/{ => x86}/vtd/dmar.c (100%) rename xen/drivers/passthrough/{ => x86}/vtd/dmar.h (100%) rename xen/drivers/passthrough/{ => x86}/vtd/extern.h (100%) rename xen/drivers/passthrough/{ => x86}/vtd/intremap.c (100%) rename xen/drivers/passthrough/{ => x86}/vtd/iommu.c (99%) rename xen/drivers/passthrough/{ => x86}/vtd/iommu.h (100%) rename xen/drivers/passthrough/{ => x86}/vtd/qinval.c (99%) rename xen/drivers/passthrough/{ => x86}/vtd/quirks.c (100%) rename xen/drivers/passthrough/{ => x86}/vtd/utils.c (100%) rename xen/drivers/passthrough/{ => x86}/vtd/vtd.h (100%) rename xen/drivers/passthrough/{ => x86}/vtd/x86/Makefile (100%) rename xen/drivers/passthrough/{ => x86}/vtd/x86/ats.c (99%) rename xen/drivers/passthrough/{ => x86}/vtd/x86/vtd.c (72%) -- 2.11.0 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |