Yakkety SRU - POWER9 KVM patches on top of 4.8

Tim Gardner tim.gardner at canonical.com
Thu Jan 5 21:58:51 UTC 2017


This pull request is cumulative on top of the previous power9-base
branch in case we decide to defer these KVM patches until the next SRU
cycle.

rtg
-- 
Tim Gardner tim.gardner at canonical.com
-------------- next part --------------
The following changes since commit 22d5a8c919aebb19bd32397d657523df7b5bf7eb:

  mfd: intel-lpss: Add default I2C device properties for Apollo Lake (2017-01-03 16:13:30 +0000)

are available in the git repository at:

  git://kernel.ubuntu.com/rtg/ubuntu-yakkety.git power9-kvm

for you to fetch changes up to 171cee402fcaef0bceffb0231a3ba91dca1f1b4f:

  KVM/PPC/Book3S HV: Convert to hotplug state machine (2017-01-05 14:49:13 -0700)

----------------------------------------------------------------
Alexey Kardashevskiy (7):
      powerpc/iommu: Pass mm_struct to init/cleanup helpers
      powerpc/iommu: Stop using @current in mm_iommu_xxx
      vfio/spapr: Postpone allocation of userspace version of TCE table
      vfio/spapr: Add a helper to create default DMA window
      vfio/spapr: Postpone default window creation
      vfio/spapr: Reference mm in tce_container
      powerpc/mm/iommu, vfio/spapr: Put pages on VFIO container shutdown

Aneesh Kumar K.V (16):
      powerpc/book3s: Add a cpu table entry for different POWER9 revs
      powerpc/mm/radix: Use different RTS encoding for different POWER9 revs
      powerpc/mm/radix: Use different pte update sequence for different POWER9 revs
      powerpc/mm: Update the HID bit when switching from radix to hash
      powerpc/mm: Add radix flush all with IS=3
      powerpc/mm: Fix missing update of HID register on secondary CPUs
      mm: update mmu_gather range correctly
      mm/hugetlb: add tlb_remove_hugetlb_entry for handling hugetlb pages
      mm: add tlb_remove_check_page_size_change to track page size change
      powerpc/mm: Rename hugetlb-radix.h to hugetlb.h
      powerpc/mm/hugetlb: Handle hugepage size supported by hash config
      powerpc/mm: Introduce _PAGE_LARGE software pte bits
      powerpc/mm: Add radix__tlb_flush_pte_p9_dd1()
      powerpc/mm: update radix__ptep_set_access_flag to not do full mm tlb flush
      powerpc/mm: update radix__pte_update to not do full mm tlb flush
      powerpc/mm: Batch tlb flush when invalidating pte entries

Anna-Maria Gleixner (1):
      KVM/PPC/Book3S HV: Convert to hotplug state machine

Balbir Singh (4):
      powerpc/mm/radix: Setup AMOR in HV mode to allow key 0
      powerpc/mm: Detect instruction fetch denied and report
      powerpc/mm/radix: Prevent kernel execution of user space
      KVM: PPC: Book3S: Remove duplicate setting of the B field in tlbie

Benjamin Herrenschmidt (3):
      powerpc/64/kexec: NULL check "clear_all" in kexec_sequence
      powerpc/64/kexec: Fix MMU cleanup on radix
      powerpc/64/kexec: Copy image with MMU off when possible

Daniel Axtens (3):
      powerpc/sparse: Make a bunch of things static
      KVM: PPC: Book3S HV: Fix sparse static warning
      KVM: PPC: Book3S HV: sparse: prototypes for functions called from assembler

David Gibson (1):
      KVM: PPC: Correctly report KVM_CAP_PPC_ALLOC_HTAB

Gautham R. Shenoy (1):
      powernv: Clear SPRN_PSSCR when a POWER9 CPU comes online

Geliang Tang (1):
      KVM: PPC: Book3S HV: Drop duplicate header asm/iommu.h

Luiz Capitulino (1):
      kvm: add stubs for arch specific debugfs support

Madhavan Srinivasan (4):
      powerpc/perf: factor out the event format field
      powerpc/perf: update attribute_group data structure
      powerpc/perf: power9 raw event format encoding
      powerpc/perf: macros for power9 format encoding

Markus Elfring (6):
      KVM: PPC: e500: Use kmalloc_array() in kvm_vcpu_ioctl_config_tlb()
      KVM: PPC: e500: Less function calls in kvm_vcpu_ioctl_config_tlb() after error detection
      KVM: PPC: e500: Delete an unnecessary initialisation in kvm_vcpu_ioctl_config_tlb()
      KVM: PPC: e500: Replace kzalloc() calls by kcalloc() in two functions
      KVM: PPC: e500: Use kmalloc_array() in kvmppc_e500_tlb_init()
      KVM: PPC: e500: Rename jump labels in kvmppc_e500_tlb_init()

Michael Ellerman (1):
      KVM: PPC: Book3S HV: Fix build error when SMP=n

Michael Neuling (2):
      powerpc/mm/radix: Invalidate ERAT on tlbiel for POWER9 DD1
      powerpc: Revert Load Monitor Register Support

Paul Mackerras (24):
      powerpc/64: Simplify adaptation to new ISA v3.00 HPTE format
      powerpc/64: Add some more SPRs and SPR bits for POWER9
      powerpc/64: Provide functions for accessing POWER9 partition table
      powerpc/powernv: Define real-mode versions of OPAL XICS accessors
      KVM: PPC: Book3S: Don't crash if irqfd used with no in-kernel XICS emulation
      KVM: PPC: Implement kvm_arch_intc_initialized() for PPC
      powerpc/mm: Speed up computation of base and actual page size for a HPTE
      KVM: PPC: Book3S HV: Set server for passed-through interrupts
      KVM: PPC: Book3S: Treat VTB as a per-subcore register, not per-thread
      KVM: PPC: Book3S HV: Take out virtual core piggybacking code
      KVM: PPC: Book3S HV: Save/restore XER in checkpointed register state
      KVM: PPC: Book3S HV: Don't lose hardware R/C bit updates in H_PROTECT
      KVM: PPC: Book3S HV: Adapt to new HPTE format on POWER9
      KVM: PPC: Book3S HV: Set partition table rather than SDR1 on POWER9
      KVM: PPC: Book3S HV: Adjust host/guest context switch for POWER9
      KVM: PPC: Book3S HV: Add new POWER9 guest-accessible SPRs
      KVM: PPC: Book3S HV: Adapt TLB invalidations to work on POWER9
      KVM: PPC: Book3S HV: Use msgsnd for IPIs to other cores on POWER9
      KVM: PPC: Book3S HV: Use OPAL XICS emulation on POWER9
      KVM: PPC: Book3S HV: Use stop instruction rather than nap on POWER9
      KVM: PPC: Book3S HV: Enable hypervisor virtualization interrupts while in guest
      KVM: PPC: Book3S HV: Treat POWER9 CPU threads as independent subcores
      KVM: PPC: Book3S HV: Fix compilation with unusual configurations
      KVM: PPC: Book3S: Move prototypes for KVM functions into kvm_ppc.h

Suraj Jitindar Singh (13):
      powerpc/64: Define new ISA v3.00 logical PVR value and PCR register value
      powerpc/mm: Correct process and partition table max size
      KVM: PPC: Book3S HV: Move struct kvmppc_vcore from kvm_host.h to kvm_book3s.h
      KVM: PPC: Book3S HV: Change vcore element runnable_threads from linked-list to array
      KVM: Export kvm module parameter variables
      KVM: PPC: Book3S HV: Implement halt polling
      KVM: Add provisioning for ulong vm stats and u64 vcpu stats
      KVM: PPC: Implement existing and add new halt polling vcpu stats
      KVM: PPC: Book3S HV: Update kvmppc_set_arch_compat() for ISA v3.00
      KVM: PPC: Book3S HV: Use generic kvm module parameters
      KVM: PPC: Book3S HV: Add check for module parameter halt_poll_ns
      KVM: PPC: Decrease the powerpc default halt poll max value
      KVM: PPC: Book3S HV: Comment style and print format fixups

Suresh Warrier (12):
      powerpc: Add simple cache inhibited MMIO accessors
      KVM: PPC: Book3S HV: Convert kvmppc_read_intr to a C function
      KVM: PPC: select IRQ_BYPASS_MANAGER
      KVM: PPC: Book3S HV: Introduce kvmppc_passthru_irqmap
      powerpc/powernv: Provide facilities for EOI, usable from real mode
      KVM: PPC: Book3S HV: Enable IRQ bypass
      KVM: PPC: Book3S HV: Handle passthrough interrupts in guest
      KVM: PPC: Book3S HV: Complete passthrough interrupt in host
      KVM: PPC: Book3S HV: Dump irqmap in debugfs
      KVM: PPC: Book3S HV: Tunable to disable KVM IRQ bypass
      KVM: PPC: Book3S HV: Update irq stats for IRQs handled in real mode
      KVM: PPC: Book3S HV: Counters for passthrough IRQ stats

Thomas Huth (1):
      KVM: PPC: Book3S PR: Support 64kB page size on POWER8E and POWER8NVL

Wei Yongjun (1):
      KVM: PPC: Book3S HV: Use list_move_tail instead of list_del/list_add_tail

Yongji Xie (2):
      KVM: PPC: Book3S HV: Clear the key field of HPTE when the page is paged out
      KVM: PPC: Book3S HV: Add a per vcpu cache for recently page faulted MMIO entries

 Documentation/virtual/kvm/api.txt                  |   3 +
 arch/arm/include/asm/kvm_host.h                    |  12 +-
 arch/arm/include/asm/tlb.h                         |   8 +
 arch/arm/kvm/arm.c                                 |  10 +
 arch/arm64/include/asm/kvm_host.h                  |  12 +-
 arch/ia64/include/asm/tlb.h                        |   9 +
 arch/mips/include/asm/kvm_host.h                   |  46 +-
 arch/mips/kvm/mips.c                               |  10 +
 arch/powerpc/include/asm/book3s/32/pgtable.h       |   4 +-
 .../asm/book3s/64/{hugetlb-radix.h => hugetlb.h}   |  28 +-
 arch/powerpc/include/asm/book3s/64/mmu-hash.h      |  84 ++-
 arch/powerpc/include/asm/book3s/64/pgtable.h       |  16 +-
 arch/powerpc/include/asm/book3s/64/radix.h         |  88 ++-
 .../powerpc/include/asm/book3s/64/tlbflush-radix.h |   3 +
 arch/powerpc/include/asm/cputable.h                |   4 +-
 arch/powerpc/include/asm/hugetlb.h                 |   2 +-
 arch/powerpc/include/asm/io.h                      |  29 +
 arch/powerpc/include/asm/kvm_asm.h                 |  11 +
 arch/powerpc/include/asm/kvm_book3s.h              |  39 +
 arch/powerpc/include/asm/kvm_book3s_64.h           |  90 +--
 arch/powerpc/include/asm/kvm_host.h                | 151 ++--
 arch/powerpc/include/asm/kvm_ppc.h                 |  71 ++
 arch/powerpc/include/asm/mmu-book3e.h              |   3 +
 arch/powerpc/include/asm/mmu.h                     |  10 +
 arch/powerpc/include/asm/mmu_context.h             |  20 +-
 arch/powerpc/include/asm/nohash/32/pgtable.h       |   4 +-
 arch/powerpc/include/asm/nohash/64/pgtable.h       |   4 +-
 arch/powerpc/include/asm/opal.h                    |   4 +
 arch/powerpc/include/asm/pnv-pci.h                 |   3 +
 arch/powerpc/include/asm/ppc-opcode.h              |   1 +
 arch/powerpc/include/asm/processor.h               |   2 -
 arch/powerpc/include/asm/reg.h                     |  20 +-
 arch/powerpc/include/asm/tlb.h                     |  16 +
 arch/powerpc/include/uapi/asm/kvm.h                |   5 +
 arch/powerpc/kernel/asm-offsets.c                  |   6 +-
 arch/powerpc/kernel/cpu_setup_power.S              |   2 +
 arch/powerpc/kernel/cputable.c                     |  19 +
 arch/powerpc/kernel/machine_kexec_64.c             |  59 +-
 arch/powerpc/kernel/misc_64.S                      |  25 +-
 arch/powerpc/kernel/module.c                       |   2 +-
 arch/powerpc/kernel/nvram_64.c                     |   2 +-
 arch/powerpc/kernel/process.c                      |  18 -
 arch/powerpc/kernel/setup-common.c                 |   2 +-
 arch/powerpc/kernel/traps.c                        |   9 -
 arch/powerpc/kvm/Kconfig                           |   2 +
 arch/powerpc/kvm/book3s.c                          |  13 +-
 arch/powerpc/kvm/book3s_64_mmu_hv.c                |  63 +-
 arch/powerpc/kvm/book3s_64_vio_hv.c                |   1 -
 arch/powerpc/kvm/book3s_emulate.c                  |   2 +-
 arch/powerpc/kvm/book3s_hv.c                       | 785 ++++++++++++++-------
 arch/powerpc/kvm/book3s_hv_builtin.c               | 208 +++++-
 arch/powerpc/kvm/book3s_hv_ras.c                   |   1 +
 arch/powerpc/kvm/book3s_hv_rm_mmu.c                | 223 ++++--
 arch/powerpc/kvm/book3s_hv_rm_xics.c               | 134 +++-
 arch/powerpc/kvm/book3s_hv_rmhandlers.S            | 337 +++++----
 arch/powerpc/kvm/book3s_pr.c                       |  10 +-
 arch/powerpc/kvm/book3s_xics.c                     |  57 +-
 arch/powerpc/kvm/book3s_xics.h                     |   2 +
 arch/powerpc/kvm/e500_mmu.c                        |  73 +-
 arch/powerpc/kvm/powerpc.c                         |  77 +-
 arch/powerpc/kvm/trace_hv.h                        |  22 +
 arch/powerpc/mm/fault.c                            |   7 +
 arch/powerpc/mm/hash_native_64.c                   |  72 +-
 arch/powerpc/mm/hash_utils_64.c                    | 112 ++-
 arch/powerpc/mm/mmu_context_book3s64.c             |   6 +-
 arch/powerpc/mm/mmu_context_iommu.c                |  60 +-
 arch/powerpc/mm/pgtable-book3s64.c                 |  12 +-
 arch/powerpc/mm/pgtable-radix.c                    | 102 ++-
 arch/powerpc/mm/pgtable.c                          |   2 +-
 arch/powerpc/mm/pgtable_64.c                       |  34 +
 arch/powerpc/mm/tlb-radix.c                        |  46 ++
 arch/powerpc/oprofile/cell/spu_profiler.c          |   2 +-
 arch/powerpc/oprofile/cell/spu_task_sync.c         |   4 +-
 arch/powerpc/perf/core-book3s.c                    |   2 +-
 arch/powerpc/perf/hv-gpci.c                        |   2 +-
 arch/powerpc/perf/isa207-common.c                  |  91 ++-
 arch/powerpc/perf/isa207-common.h                  |  30 +-
 arch/powerpc/perf/power7-pmu.c                     |   2 +-
 arch/powerpc/perf/power8-pmu.c                     |  39 +-
 arch/powerpc/perf/power9-pmu.c                     | 116 ++-
 arch/powerpc/platforms/cell/cbe_regs.c             |   2 +-
 arch/powerpc/platforms/cell/iommu.c                |   2 +-
 arch/powerpc/platforms/cell/ras.c                  |   2 +-
 arch/powerpc/platforms/maple/setup.c               |   4 +-
 arch/powerpc/platforms/pasemi/gpio_mdio.c          |   4 +-
 arch/powerpc/platforms/pasemi/iommu.c              |   2 +-
 arch/powerpc/platforms/pasemi/setup.c              |   4 +-
 arch/powerpc/platforms/powermac/pfunc_core.c       |   2 +-
 arch/powerpc/platforms/powermac/smp.c              |   2 +-
 arch/powerpc/platforms/powernv/npu-dma.c           |   2 +-
 arch/powerpc/platforms/powernv/opal-wrappers.S     |   4 +
 arch/powerpc/platforms/powernv/opal.c              |   2 +
 arch/powerpc/platforms/powernv/pci-ioda.c          |  24 +-
 arch/powerpc/platforms/ps3/htab.c                  |   2 +-
 arch/powerpc/platforms/pseries/dlpar.c             |   4 +-
 arch/powerpc/platforms/pseries/lpar.c              |   2 +-
 arch/powerpc/platforms/pseries/scanlog.c           |   2 +-
 arch/powerpc/sysdev/mmio_nvram.c                   |   2 +-
 arch/s390/include/asm/kvm_host.h                   | 134 ++--
 arch/s390/include/asm/tlb.h                        |   8 +
 arch/s390/kvm/kvm-s390.c                           |  10 +
 arch/sh/include/asm/tlb.h                          |   9 +
 arch/um/include/asm/tlb.h                          |   9 +
 arch/x86/include/asm/kvm_host.h                    |  72 +-
 arch/x86/kvm/Makefile                              |   2 +-
 arch/x86/kvm/debugfs.c                             |  20 +
 drivers/vfio/vfio_iommu_spapr_tce.c                | 328 ++++++---
 include/asm-generic/tlb.h                          |  65 +-
 include/linux/cpuhotplug.h                         |   1 +
 include/linux/kvm_host.h                           |   7 +
 mm/huge_memory.c                                   |   4 +
 mm/hugetlb.c                                       |   7 +-
 mm/madvise.c                                       |   1 +
 mm/memory.c                                        |   7 +-
 virt/kvm/kvm_main.c                                |  13 +-
 115 files changed, 3250 insertions(+), 1232 deletions(-)
 rename arch/powerpc/include/asm/book3s/64/{hugetlb-radix.h => hugetlb.h} (52%)
 create mode 100644 arch/x86/kvm/debugfs.c


More information about the kernel-team mailing list