[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH RFC 00/10] x86 passthrough code cleanup


  • To: Wei Liu <wei.liu2@xxxxxxxxxx>, Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: "Tian, Kevin" <kevin.tian@xxxxxxxxx>
  • Date: Fri, 23 Feb 2018 05:12:05 +0000
  • Accept-language: en-US
  • Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Jan Beulich <JBeulich@xxxxxxxx>
  • Delivery-date: Fri, 23 Feb 2018 05:12:34 +0000
  • Dlp-product: dlpe-windows
  • Dlp-reaction: no-action
  • Dlp-version: 11.0.0.116
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHTq123XYaCRNfRBEiKENXrs72vpaOxcjMw
  • Thread-topic: [Xen-devel] [PATCH RFC 00/10] x86 passthrough code cleanup

> From: Wei Liu
> Sent: Thursday, February 22, 2018 5:47 AM
> 
> 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.

Can you elaborate the motivation of this change? why does someone
want to disable HVM or PV logic completely from hypervisor?

> 
> 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
_______________________________________________
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®.