[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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.