All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Mackerras <paulus@ozlabs.org>
To: kvm-ppc@vger.kernel.org
Subject: [GIT PULL] Please pull my kvm-ppc-next-4.18-2 tag
Date: Wed, 13 Jun 2018 05:51:21 +0000	[thread overview]
Message-ID: <20180613055121.GA1850@fergus.ozlabs.ibm.com> (raw)
In-Reply-To: <20180119044850.GA10633@fergus.ozlabs.ibm.com>

Hi Paolo,

It seems my previous pull request of 4 June might have got missed, or
buried in your inbox.  In any case, I have added some more fixes to my
kvm-ppc-next branch, and if you could pull the kvm-ppc-next-4.18-2 tag
and push that to Linus for 4.18, that would be very much appreciated.

I have checked that this branch merges cleanly with Linus' current
tree and boots and runs KVM successfully on POWER8 and POWER9.

This update is quite large; it includes a series to reimplement how we
do MMIO instruction emulation to use more of the common powerpc kernel
infrastructure, a series to improve radix page table handling on
POWER9, a series to add transactional memory support to PR KVM, plus
quite a few bug fixes.

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-2

for you to fetch changes up to f61e0d3cc4aee194014074471658a5a037e311ce:

  KVM: PPC: Book3S PR: Fix failure status setting in tabort. emulation (2018-06-13 09:46:13 +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, plus
  quite a few bug-fixes.
* 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

Cameron Kaiser (1):
      KVM: PPC: Book3S PR: Handle additional interrupt types

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 (12):
      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
      KVM: PPC: Book3S PR: Fix MSR setting when delivering interrupts
      KVM: PPC: Book3S PR: Fix failure status setting in treclaim. emulation
      KVM: PPC: Book3S PR: Don't let PAPR guest set MSR hypervisor bit
      KVM: PPC: Book3S PR: Enable use on POWER9 bare-metal hosts in HPT mode

Simon Guo (40):
      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
      KVM: PPC: Book3S PR: Fix failure status setting in tabort. emulation

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                          |  23 +-
 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                  | 371 +++++++++-
 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                       | 482 ++++++++++---
 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, 2598 insertions(+), 1242 deletions(-)
 create mode 100644 arch/powerpc/kvm/tm.S

  parent reply	other threads:[~2018-06-13  5:51 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-19  4:48 [GIT PULL] Please pull my kvm-ppc-next-4.16-1 tag Paul Mackerras
2018-01-19  4:48 ` Paul Mackerras
2018-02-01 15:17 ` Radim Krčmář
2018-02-01 15:17   ` Radim Krčmář
2018-03-29  5:38 ` [GIT PULL] Please pull my kvm-ppc-next-4.17-1 tag Paul Mackerras
2018-03-29 20:34 ` Radim Krčmář
2018-06-04  1:27 ` [GIT PULL] Please pull my kvm-ppc-next-4.18-1 tag Paul Mackerras
2018-06-13  5:51 ` Paul Mackerras [this message]
2018-06-13 16:22 ` Paolo Bonzini
2018-06-13 21:52 ` Paul Mackerras
2018-07-31  5:56 ` [GIT PULL] Please pull my kvm-ppc-next-4.19-1 tag Paul Mackerras
2018-08-02 11:56 ` Paolo Bonzini
2018-10-10  5:55 ` [GIT PULL] Please pull my kvm-ppc-next-4.20-1 tag Paul Mackerras
2018-10-10 16:38 ` Paolo Bonzini
2018-10-20 10:53 ` [GIT PULL] Please pull my kvm-ppc-next-4.20-2 tag Paul Mackerras
2018-10-21  9:47 ` Paolo Bonzini
2018-12-18  3:05 ` [GIT PULL] Please pull my kvm-ppc-next-4.21-1 tag Paul Mackerras
2018-12-20 13:58 ` Radim Krčmář
2018-12-21  4:24 ` [GIT PULL] Please pull my kvm-ppc-next-4.21-2 tag Paul Mackerras
2018-12-21 10:48 ` Paolo Bonzini
2018-02-09  9:41 [GIT PULL] Please pull my kvm-ppc-next-4.16-2 tag Paul Mackerras
2018-02-09  9:41 ` Paul Mackerras
2018-02-10 14:52 ` Radim Krčmář
2018-02-10 14:52   ` Radim Krčmář

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180613055121.GA1850@fergus.ozlabs.ibm.com \
    --to=paulus@ozlabs.org \
    --cc=kvm-ppc@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.