[Zesty][PATCH v4 00/10] Cherry pick - KVM fix for Power9 - HWE

Jose Ricardo Ziviani joserz at linux.vnet.ibm.com
Mon Aug 7 15:44:55 UTC 2017


buglink: https://bugs.launchpad.net/ubuntu/+source/kernel-package/+bug/1686019

V4:
 - Removed patch: locking/atomic, kref: Add kref_read() (upstream: 2c935bc)
 - Updated patch: KVM: PPC: VFIO: Add in-kernel acceleration for VFIO to reflect it
 - Rebased on top zesty/master-next
 - Re-compiled/Re-tested in Power9 LE successfuly 

V3:
 - PATCH KVM: PPC: Reserve KVM_CAP_SPAPR_TCE_VFIO capability number
   - changed from "cherry picked from" to "backported from"

V2:
 - Cherry-picked with -x -s + added Buglink
 - Rebased on top of zesty/master-next and updated the bug to affect linux-hwe
 - Removed those MIPS/S390 patches from V1 and resolved the conflict of 4898d3f to avoid custom commit
 - Re-compiled in both x86 and Power9 LE, re-tested in Power9 LE

This patchset includes the fix
https://github.com/torvalds/linux/commit/acde257
KVM: PPC: Book3S HV: Add radix checks in real-mode hypercall handlers

which is necessary to have KVM working on Ubuntu 16.04.3 for Power9. It also includes its dependencies.

Unfortunately it wasn't possible to perform a clean cherry-pick, a small conflict resolution was required in order to apply one of them.

They are based on zesty/master-next

KVM: PPC: Book3S HV: Add radix checks in real-mode hypercall handlers
    - Cherry picked (upstream: acde257)

KVM: PPC: Reserve KVM_CAP_SPAPR_TCE_VFIO capability number
    - Cherry picked (upstream: 4898d3f)
    - small conflict resolved in include/uapi/linux/kvm.h because changes from
      MIPS and S390 have added #defines before it.

locking/atomic, kref: Add kref_read()
    - Cherry picked (upstream: 2c935bc)

powerpc/mmu: Add real mode support for IOMMU preregistered memory
    - Cherry picked (upstream: 6b5c19c)

powerpc/vfio_spapr_tce: Add reference counting to iommu_table
    - Cherry picked (upstream: e5afdf9)

powerpc/iommu/vfio_spapr_tce: Cleanup iommu_table disposal
    - Cherry picked (upstream: 11edf11)

powerpc/powernv/ioda2: Update iommu table base on ownership change
    - Cherry picked (upstream: db08e1d)

powerpc/powernv/iommu: Add real mode version of iommu_table_ops::exchange()
    - Cherry picked (upstream: a540aa5)

KVM: PPC: VFIO: Add in-kernel acceleration for VFIO
    - Cherry picked (upstream: 121f80b)
    - Removed kref_read to avoid dependency on commit 2c935bc

KVM: PPC: Use preregistered memory API to access TCE list
    - Cherry picked (upstream: da6f59e)

KVM: PPC: Pass kvm* to kvmppc_find_table()
    - Cherry picked (upstream: 503bfcb)

Thank you very much!


Alexey Kardashevskiy (9):
  KVM: PPC: Pass kvm* to kvmppc_find_table()
  KVM: PPC: Use preregistered memory API to access TCE list
  KVM: PPC: VFIO: Add in-kernel acceleration for VFIO
  powerpc/powernv/iommu: Add real mode version of
    iommu_table_ops::exchange()
  powerpc/powernv/ioda2: Update iommu table base on ownership change
  powerpc/iommu/vfio_spapr_tce: Cleanup iommu_table disposal
  powerpc/vfio_spapr_tce: Add reference counting to iommu_table
  powerpc/mmu: Add real mode support for IOMMU preregistered memory
  KVM: PPC: Reserve KVM_CAP_SPAPR_TCE_VFIO capability number

Paul Mackerras (1):
  KVM: PPC: Book3S HV: Add radix checks in real-mode hypercall handlers

 Documentation/virtual/kvm/devices/vfio.txt |  18 +-
 arch/powerpc/include/asm/iommu.h           |  12 +-
 arch/powerpc/include/asm/kvm_host.h        |   8 +
 arch/powerpc/include/asm/kvm_ppc.h         |   6 +-
 arch/powerpc/include/asm/mmu_context.h     |   4 +
 arch/powerpc/kernel/iommu.c                |  54 ++++-
 arch/powerpc/kvm/book3s_64_vio.c           | 312 ++++++++++++++++++++++++++++-
 arch/powerpc/kvm/book3s_64_vio_hv.c        | 285 +++++++++++++++++++++++---
 arch/powerpc/kvm/book3s_hv_builtin.c       |   9 +-
 arch/powerpc/kvm/powerpc.c                 |   2 +
 arch/powerpc/mm/mmu_context_iommu.c        |  39 ++++
 arch/powerpc/platforms/powernv/pci-ioda.c  |  63 ++++--
 arch/powerpc/platforms/powernv/pci.c       |   1 +
 arch/powerpc/platforms/pseries/iommu.c     |   3 +-
 arch/powerpc/platforms/pseries/vio.c       |   2 +-
 drivers/vfio/vfio_iommu_spapr_tce.c        |   2 +-
 include/uapi/linux/kvm.h                   |   7 +
 virt/kvm/vfio.c                            | 105 ++++++++++
 18 files changed, 874 insertions(+), 58 deletions(-)

-- 
2.7.4





More information about the kernel-team mailing list