[xenial][PATCH 00/15] Cherry pick - KVM fix for Power9 - Ubuntu 16.04.3
Jose Ricardo Ziviani
joserz at linux.vnet.ibm.com
Thu Jul 20 15:49:15 UTC 2017
buglink: https://bugs.launchpad.net/ubuntu/+source/kernel-package/+bug/1686019
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 I wasn't possible to make a clean cherry-pick, then some adjustments was made in order to have them applied. I wrote a list describing what I did. Please, tell me if there's a better way to do such changes and I'll do that.
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)
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)
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)
Add S390 capabilities based on merge f7b1a77
- Again, the only change necessary from commit (upstream f7b1a77 Merge tag 'kvm-s390-next-4.12-1') was due to the entries it has added into include/uapi/linux/kvm.h. Since the upstream f7b1a77 is a merge with a huge change that would be very hard to apply, I decided to create a commit adding those two entries.
KVM: MIPS: Add 64BIT capability
- This commit was cherry-picked (upstream: 578fd61)
KVM: MIPS: Add VZ & TE capabilities
- This commit add two entries in include/uapi/linux/kvm.h, which they are required in order to apply 58d08f7 (see above). It cannot be cherry-picked due to a small difference in arch/mips/kvm/mips.c, which I modified. (upstream: a8a3c42)
KVM: race-free exit from KVM_RUN without POSIX signals
- This commit cannot be cherry-picked due to some changes it does to MIPS arch. So I edited the patch, removing all changes to MIPS. (upstream: 460df4c)
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
James Hogan (2):
KVM: MIPS: Add VZ & TE capabilities
KVM: MIPS: Add 64BIT capability
Jose Ricardo Ziviani (1):
Add S390 capabilities based on merge f7b1a77
Paolo Bonzini (1):
KVM: race-free exit from KVM_RUN without POSIX signals
Paul Mackerras (1):
KVM: PPC: Book3S HV: Add radix checks in real-mode hypercall handlers
Peter Zijlstra (1):
locking/atomic, kref: Add kref_read()
Documentation/virtual/kvm/api.txt | 85 +++++++-
Documentation/virtual/kvm/devices/vfio.txt | 18 +-
arch/arm/kvm/arm.c | 4 +
arch/mips/kvm/mips.c | 22 +-
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 | 313 ++++++++++++++++++++++++++-
arch/powerpc/kvm/book3s_64_vio_hv.c | 285 ++++++++++++++++++++++--
arch/powerpc/kvm/book3s_hv_builtin.c | 9 +-
arch/powerpc/kvm/powerpc.c | 8 +-
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 +-
arch/s390/kvm/kvm-s390.c | 4 +
arch/x86/kvm/x86.c | 6 +-
drivers/block/drbd/drbd_req.c | 2 +-
drivers/block/rbd.c | 8 +-
drivers/block/virtio_blk.c | 2 +-
drivers/gpu/drm/drm_gem_cma_helper.c | 2 +-
drivers/gpu/drm/drm_info.c | 2 +-
drivers/gpu/drm/drm_mode_object.c | 4 +-
drivers/gpu/drm/etnaviv/etnaviv_gem.c | 2 +-
drivers/gpu/drm/i915/i915_gem_object.h | 2 +-
drivers/gpu/drm/msm/msm_gem.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_fence.c | 2 +-
drivers/gpu/drm/omapdrm/omap_gem.c | 2 +-
drivers/gpu/drm/ttm/ttm_bo.c | 4 +-
drivers/gpu/drm/ttm/ttm_object.c | 2 +-
drivers/infiniband/hw/cxgb3/iwch_cm.h | 6 +-
drivers/infiniband/hw/cxgb3/iwch_qp.c | 2 +-
drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 6 +-
drivers/infiniband/hw/cxgb4/qp.c | 2 +-
drivers/infiniband/hw/usnic/usnic_ib_sysfs.c | 6 +-
drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 4 +-
drivers/misc/genwqe/card_dev.c | 2 +-
drivers/misc/mei/debugfs.c | 2 +-
drivers/pci/hotplug/pnv_php.c | 2 +-
drivers/pci/slot.c | 2 +-
drivers/scsi/bnx2fc/bnx2fc_io.c | 8 +-
drivers/scsi/cxgbi/libcxgbi.h | 4 +-
drivers/scsi/lpfc/lpfc_debugfs.c | 2 +-
drivers/scsi/lpfc/lpfc_els.c | 2 +-
drivers/scsi/lpfc/lpfc_hbadisc.c | 40 ++--
drivers/scsi/lpfc/lpfc_init.c | 3 +-
drivers/scsi/qla2xxx/tcm_qla2xxx.c | 4 +-
drivers/staging/android/ion/ion.c | 2 +-
drivers/staging/comedi/comedi_buf.c | 2 +-
drivers/target/target_core_pr.c | 10 +-
drivers/target/tcm_fc/tfc_sess.c | 2 +-
drivers/usb/gadget/function/f_fs.c | 2 +-
drivers/vfio/vfio_iommu_spapr_tce.c | 2 +-
fs/exofs/sys.c | 2 +-
fs/ocfs2/cluster/netdebug.c | 2 +-
fs/ocfs2/cluster/tcp.c | 2 +-
fs/ocfs2/dlm/dlmdebug.c | 12 +-
fs/ocfs2/dlm/dlmdomain.c | 2 +-
fs/ocfs2/dlm/dlmmaster.c | 8 +-
fs/ocfs2/dlm/dlmunlock.c | 2 +-
include/drm/drm_framebuffer.h | 2 +-
include/drm/ttm/ttm_bo_driver.h | 4 +-
include/linux/kref.h | 5 +
include/linux/sunrpc/cache.h | 2 +-
include/net/bluetooth/hci_core.h | 4 +-
include/uapi/linux/kvm.h | 20 +-
net/bluetooth/6lowpan.c | 2 +-
net/bluetooth/a2mp.c | 4 +-
net/bluetooth/amp.c | 4 +-
net/bluetooth/l2cap_core.c | 4 +-
net/ceph/messenger.c | 4 +-
net/ceph/osd_client.c | 10 +-
net/sunrpc/cache.c | 2 +-
net/sunrpc/svc_xprt.c | 6 +-
net/sunrpc/xprtrdma/svc_rdma_transport.c | 4 +-
virt/kvm/vfio.c | 105 +++++++++
79 files changed, 1130 insertions(+), 181 deletions(-)
--
2.7.4
More information about the kernel-team
mailing list