Re: [GIT PULL] Please pull my kvm-ppc-next-4.18-1 tag

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

 



On 04/06/2018 03:27, Paul Mackerras wrote:
> Paolo or Radim,
> 
> Please do a pull from my kvm-ppc-next-4.18-1 tag to get a PPC KVM
> update for 4.18.  This is a reasonably large update; it includes two
> series from Simon Guo, to reimplement the MMIO instruction emulation
> and to add transactional memory support to PR KVM, plus a series from
> Nick Piggin to improve radix page table handing, plus quite a few
> other patches.
> 
> I have merged in Michael Ellerman's topic/ppc-kvm branch to get some
> commits that affect arch/powerpc and were needed as prerequisites for
> the KVM patches here.
> 
> Thanks,
> Paul.
> 
> The following changes since commit df158189dbcc2e0ee29dc4b917d45ee5bf25a35e:
> 
>   KVM: PPC: Book 3S HV: Do ptesync in radix guest exit path (2018-05-17 15:17:13 +1000)
> 
> are available in the Git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc tags/kvm-ppc-next-4.18-1
> 
> for you to fetch changes up to deeb879de955f4e04be3d43c33bc311087f063bf:
> 
>   KVM: PPC: Book3S PR: Enable kvmppc_get/set_one_reg_pr() for HTM registers (2018-06-01 10:31:08 +1000)
> 
> ----------------------------------------------------------------
> PPC KVM update for 4.18
> 
> * Reimplement MMIO instruction emulation using analyse_instr, which avoids
>   duplication of the instruction decoder and reduces code size.
> * PR KVM improvements: implement support for transactional memory,
>   and enable PR KVM on POWER9 guests running in HPT mode.
> * Radix page table improvements for POWER9.
> * Improvements and bugfixes for IOMMU (TCE) support.
> * Other miscellaneous fixes.
> 
> ----------------------------------------------------------------
> Alexey Kardashevskiy (3):
>       KVM: PPC: Book3S: Use correct page shift in H_STUFF_TCE
>       KVM: PPC: Book3S: Allow backing bigger guest IOMMU pages with smaller physical pages
>       KVM: PPC: Book3S: Check KVM_CREATE_SPAPR_TCE_64 parameters
> 
> Aneesh Kumar K.V (1):
>       powerpc/kvm: Switch kvm pmd allocator to custom allocator
> 
> Mathieu Malaterre (1):
>       powerpc/kvm: Prefer fault_in_pages_readable function
> 
> Nicholas Piggin (10):
>       powerpc/mm/radix: implement LPID based TLB flushes to be used by KVM
>       KVM: PPC: Book3S HV: Lockless tlbie for HPT hcalls
>       KVM: PPC: Book3S HV: Use a helper to unmap ptes in the radix fault path
>       KVM: PPC: Book3S HV: Recursively unmap all page table entries when unmapping
>       KVM: PPC: Book3S HV: Make radix use the Linux translation flush functions for partition scope
>       KVM: PPC: Book3S HV: Make radix handle process scoped LPID flush in C, with relocation on
>       KVM: PPC: Book3S HV: radix: Refine IO region partition scope attributes
>       KVM: PPC: Book3S HV: radix: Do not clear partition PTE when RC or write bits do not match
>       KVM: PPC: Book3S HV: Fix kvmppc_bad_host_intr for real mode interrupts
>       KVM: PPC: Book3S HV: Send kvmppc_bad_interrupt NMIs to Linux handlers
> 
> Paul Mackerras (8):
>       KVM: PPC: Book3S HV: Add 'online' register to ONE_REG interface
>       KVM: PPC: Book3S HV: Set RWMR on POWER8 so PURR/SPURR count correctly
>       KVM: PPC: Book3S HV: Fix inaccurate comment
>       Merge remote-tracking branch 'remotes/powerpc/topic/ppc-kvm' into kvm-ppc-next
>       KVM: PPC: Book3S PR: Enable use on POWER9 inside HPT-mode guests
>       KVM: PPC: Book3S PR: Allow KVM_PPC_CONFIGURE_V3_MMU to succeed
>       KVM: PPC: Book3S HV: Factor fake-suspend handling out of kvmppc_save/restore_tm
>       Merge remote-tracking branch 'remotes/powerpc/topic/ppc-kvm' into kvm-ppc-next
> 
> Simon Guo (39):
>       KVM: PPC: Add pt_regs into kvm_vcpu_arch and move vcpu->arch.gpr[] into it
>       KVM: PPC: Move nip/ctr/lr/xer registers to pt_regs in kvm_vcpu_arch
>       KVM: PPC: Fix a mmio_host_swabbed uninitialized usage issue
>       KVM: PPC: Add KVMPPC_VSX_COPY_WORD_LOAD_DUMP type support for mmio emulation
>       KVM: PPC: Reimplement non-SIMD LOAD/STORE instruction mmio emulation with analyse_instr() input
>       KVM: PPC: Add giveup_ext() hook to PPC KVM ops
>       KVM: PPC: Reimplement LOAD_FP/STORE_FP instruction mmio emulation with analyse_instr() input
>       KVM: PPC: Reimplement LOAD_VSX/STORE_VSX instruction mmio emulation with analyse_instr() input
>       KVM: PPC: Expand mmio_vsx_copy_type to cover VMX load/store element types
>       KVM: PPC: Reimplement LOAD_VMX/STORE_VMX instruction mmio emulation with analyse_instr() input
>       powerpc: Export msr_check_and_set() to modules
>       powerpc/reg: Add TEXASR related macros
>       powerpc: Export tm_enable()/tm_disable/tm_abort() APIs
>       KVM: PPC: Book3S PR: Move kvmppc_save_tm/kvmppc_restore_tm to separate file
>       KVM: PPC: Book3S PR: Add guest MSR parameter for kvmppc_save_tm()/kvmppc_restore_tm()
>       KVM: PPC: Book3S PR: Turn on FP/VSX/VMX MSR bits in kvmppc_save_tm()
>       KVM: PPC: Book3S PR: Add C function wrapper for _kvmppc_save/restore_tm()
>       KVM: PPC: Book3S PR: Transition to Suspended state when injecting interrupt
>       KVM: PPC: Book3S PR: Pass through MSR TM and TS bits to shadow_msr
>       KVM: PPC: Book3S PR: Sync TM bits to shadow msr for problem state guest
>       KVM: PPC: Book3S PR: Implement RFID TM behavior to suppress change from S0 to N0
>       KVM: PPC: Book3S PR: Avoid changing TS bits when exiting guest
>       KVM: PPC: Book3S PR: Add new kvmppc_copyto/from_vcpu_tm APIs
>       KVM: PPC: Book3S PR: Add kvmppc_save/restore_tm_sprs() APIs
>       KVM: PPC: Book3S PR: Add transaction memory save/restore skeleton
>       KVM: PPC: Book3S PR: Add math support for PR KVM HTM
>       KVM: PPC: Book3S PR: Emulate mtspr/mfspr using active TM SPRs
>       KVM: PPC: Book3S PR: Always fail transactions in guest privileged state
>       KVM: PPC: Book3S PR: Restore NV regs after emulating mfspr from TM SPRs
>       KVM: PPC: Book3S PR: Add emulation for treclaim.
>       KVM: PPC: Book3S PR: Add emulation for trechkpt.
>       KVM: PPC: Book3S PR: Add emulation for tabort. in privileged state
>       KVM: PPC: Book3S PR: Add guard code to prevent returning to guest with PR=0 and Transactional state
>       KVM: PPC: Book3S PR: Support TAR handling for PR KVM HTM
>       KVM: PPC: Book3S PR: Enable HTM for PR KVM for KVM_CHECK_EXTENSION ioctl
>       KVM: PPC: Move vcpu_load/vcpu_put down to each ioctl case in kvm_arch_vcpu_ioctl
>       KVM: PPC: Remove load/put vcpu for KVM_GET/SET_ONE_REG ioctl
>       KVM: PPC: Book3S: Remove load/put vcpu for KVM_GET_REGS/KVM_SET_REGS
>       KVM: PPC: Book3S PR: Enable kvmppc_get/set_one_reg_pr() for HTM registers
> 
> Souptick Joarder (1):
>       KVM: PPC: Book3S: Change return type to vm_fault_t
> 
>  arch/powerpc/include/asm/asm-prototypes.h          |   9 +
>  .../powerpc/include/asm/book3s/64/tlbflush-radix.h |   7 +
>  arch/powerpc/include/asm/kvm_book3s.h              |  37 +-
>  arch/powerpc/include/asm/kvm_book3s_64.h           |  20 +-
>  arch/powerpc/include/asm/kvm_booke.h               |  20 +-
>  arch/powerpc/include/asm/kvm_host.h                |  21 +-
>  arch/powerpc/include/asm/kvm_ppc.h                 |  17 +-
>  arch/powerpc/include/asm/reg.h                     |  33 +-
>  arch/powerpc/include/asm/tm.h                      |   2 -
>  arch/powerpc/include/uapi/asm/kvm.h                |   1 +
>  arch/powerpc/kernel/asm-offsets.c                  |  18 +-
>  arch/powerpc/kernel/kvm.c                          |   4 +-
>  arch/powerpc/kernel/process.c                      |   1 +
>  arch/powerpc/kernel/tm.S                           |  12 +
>  arch/powerpc/kvm/Makefile                          |   3 +
>  arch/powerpc/kvm/book3s.c                          |  10 +-
>  arch/powerpc/kvm/book3s.h                          |   6 +
>  arch/powerpc/kvm/book3s_32_mmu.c                   |   2 +-
>  arch/powerpc/kvm/book3s_64_mmu.c                   |  11 +-
>  arch/powerpc/kvm/book3s_64_mmu_hv.c                |   3 +
>  arch/powerpc/kvm/book3s_64_mmu_radix.c             | 378 +++++++----
>  arch/powerpc/kvm/book3s_64_vio.c                   |  71 +-
>  arch/powerpc/kvm/book3s_64_vio_hv.c                |  54 +-
>  arch/powerpc/kvm/book3s_emulate.c                  | 369 +++++++++-
>  arch/powerpc/kvm/book3s_hv.c                       |  97 ++-
>  arch/powerpc/kvm/book3s_hv_builtin.c               |  21 +-
>  arch/powerpc/kvm/book3s_hv_interrupts.S            |   2 +-
>  arch/powerpc/kvm/book3s_hv_rm_mmu.c                |  36 +-
>  arch/powerpc/kvm/book3s_hv_rm_xics.c               |   2 +-
>  arch/powerpc/kvm/book3s_hv_rmhandlers.S            | 318 +++------
>  arch/powerpc/kvm/book3s_hv_tm.c                    |  10 +-
>  arch/powerpc/kvm/book3s_hv_tm_builtin.c            |  10 +-
>  arch/powerpc/kvm/book3s_pr.c                       | 437 ++++++++++--
>  arch/powerpc/kvm/book3s_segment.S                  |  13 +
>  arch/powerpc/kvm/book3s_xive_template.c            |   4 +-
>  arch/powerpc/kvm/booke.c                           |  41 +-
>  arch/powerpc/kvm/booke_emulate.c                   |   6 +-
>  arch/powerpc/kvm/e500_emulate.c                    |   6 +-
>  arch/powerpc/kvm/e500_mmu.c                        |   2 +-
>  arch/powerpc/kvm/e500_mmu_host.c                   |   8 +-
>  arch/powerpc/kvm/emulate_loadstore.c               | 752 ++++++---------------
>  arch/powerpc/kvm/powerpc.c                         | 311 +++++++--
>  arch/powerpc/kvm/tm.S                              | 384 +++++++++++
>  arch/powerpc/mm/hash_utils_64.c                    |   1 +
>  arch/powerpc/mm/tlb-radix.c                        | 207 ++++++
>  arch/powerpc/platforms/powernv/copy-paste.h        |   3 +-
>  46 files changed, 2571 insertions(+), 1209 deletions(-)
>  create mode 100644 arch/powerpc/kvm/tm.S
> 

Ouch, I missed this completely.  I'll send it to Linus tomorrow.

Paolo
--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [KVM Development]     [KVM ARM]     [KVM ia64]     [Linux Virtualization]     [Linux USB Devel]     [Linux Video]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux