All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFC 00/10] x86 passthrough code cleanup
@ 2018-02-21 21:46 Wei Liu
  2018-02-21 21:46 ` [PATCH RFC 01/10] passthrough: rearrange x86 code Wei Liu
                   ` (11 more replies)
  0 siblings, 12 replies; 31+ messages in thread
From: Wei Liu @ 2018-02-21 21:46 UTC (permalink / raw)
  To: Xen-devel; +Cc: Andrew Cooper, Wei Liu, Jan Beulich

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@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2018-05-02 17:32 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-21 21:46 [PATCH RFC 00/10] x86 passthrough code cleanup Wei Liu
2018-02-21 21:46 ` [PATCH RFC 01/10] passthrough: rearrange x86 code Wei Liu
2018-04-23 15:27   ` Jan Beulich
2018-02-21 21:46 ` [PATCH RFC 02/10] passthrough: split out x86 PCI code to x86/pci.c Wei Liu
2018-02-26 10:57   ` Julien Grall
2018-04-23 15:34   ` Jan Beulich
2018-04-24  9:08     ` Julien Grall
2018-02-21 21:46 ` [PATCH RFC 03/10] x86/passthrough: io.c is used for HVM only Wei Liu
2018-04-23 15:37   ` Jan Beulich
2018-02-21 21:46 ` [PATCH RFC 04/10] x86/passthrough: arch_pci_clean_irqs is " Wei Liu
2018-02-21 21:46 ` [PATCH RFC 05/10] x86/passthrough: move hvm_dpci_isairq_eoi Wei Liu
2018-04-23 15:39   ` Jan Beulich
2018-02-21 21:46 ` [PATCH RFC 06/10] passthrough/amd: remove guest iommu support Wei Liu
2018-05-02 17:10   ` Suravee Suthikulpanit
2018-02-21 21:46 ` [PATCH RFC 07/10] passthrough/amd: split out hvm code from iommu_map.c Wei Liu
2018-04-23 15:43   ` Jan Beulich
2018-05-02 17:32   ` Suravee Suthikulpanit
2018-02-21 21:46 ` [PATCH RFC 08/10] passthrough/amd: make clear_iommu_pte_present static Wei Liu
2018-02-21 21:47 ` [PATCH RFC 09/10] passthrough/intel: put some code under CONFIG_HVM Wei Liu
2018-04-23 15:47   ` Jan Beulich
2018-02-21 21:47 ` [PATCH RFC 10/10] x86: check hvm domain before calling pt_irq_destroy_bind Wei Liu
2018-02-23  5:12 ` [PATCH RFC 00/10] x86 passthrough code cleanup Tian, Kevin
2018-02-23 16:08   ` Wei Liu
2018-02-24  3:23     ` Tian, Kevin
2018-02-26  8:20       ` Jan Beulich
2018-02-26 12:45       ` Wei Liu
2018-02-24  4:39   ` Doug Goldstein
2018-02-26  0:47     ` Marek Marczykowski-Górecki
2018-02-26 12:49       ` Wei Liu
2018-03-08 12:18 ` Wei Liu
2018-03-08 12:37   ` Jan Beulich

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.