mbox

[GIT,PULL] Please pull my kvm-ppc-next branch

Message ID 20170201092457.GB10625@fergus.ozlabs.ibm.com
State Accepted
Headers show

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc kvm-ppc-next

Message

Paul Mackerras Feb. 1, 2017, 9:24 a.m. UTC
Paolo (or Radim),

Please do a pull from my kvm-ppc-next branch to get a PPC KVM update
for 4.11.

The big feature this time is support for POWER9 using the radix-tree
MMU for host and guest.  This required some changes to arch/powerpc
code, so I talked with Michael Ellerman and he created a topic branch
with this patchset, which I merged into kvm-ppc-next and which Michael
will pull into his tree.  Michael also put in some patches from Nick
Piggin which fix bugs in the interrupt vector code in relocatable
kernels when coming from a KVM guest.

Other notable changes include:

* Add the ability to change the size of the hashed page table,
  from David Gibson.

* XICS (interrupt controller) emulation fixes and improvements,
  from Li Zhong.

* Bug fixes from myself and Thomas Huth.

These patches define some new KVM capabilities and ioctls, but there
should be no conflicts with anything else currently upstream, as far
as I am aware.

Thanks,
Paul.

The following changes since commit a17f32270af1e1054bbc8858b0f27226a2c859ba:

  kvm: x86: Expose Intel VPOPCNTDQ feature to guest (2017-01-17 17:55:18 +0100)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc kvm-ppc-next

for you to fetch changes up to 050f23390f6bdbfa7dd2800884d32490489851b7:

  KVM: PPC: Book3S HV: Advertise availablity of HPT resizing on KVM HV (2017-01-31 22:00:07 +1100)

----------------------------------------------------------------
David Gibson (11):
      Documentation: Correct duplicate section number in kvm/api.txt
      KVM: PPC: Book3S HV: HPT resizing documentation and reserved numbers
      KVM: PPC: Book3S HV: Rename kvm_alloc_hpt() for clarity
      KVM: PPC: Book3S HV: Gather HPT related variables into sub-structure
      KVM: PPC: Book3S HV: Don't store values derivable from HPT order
      KVM: PPC: Book3S HV: Split HPT allocation from activation
      KVM: PPC: Book3S HV: Allow KVM_PPC_ALLOCATE_HTAB ioctl() to change HPT size
      KVM: PPC: Book3S HV: Create kvmppc_unmap_hpte_helper()
      KVM: PPC: Book3S HV: Outline of KVM-HV HPT resizing implementation
      KVM: PPC: Book3S HV: KVM-HV HPT resizing implementation
      KVM: PPC: Book3S HV: Advertise availablity of HPT resizing on KVM HV

Li Zhong (5):
      KVM: PPC: Book 3S: XICS cleanup: remove XICS_RM_REJECT
      KVM: PPC: Book 3S: XICS: correct the real mode ICP rejecting counter
      KVM: PPC: Book 3S: XICS: Fix potential issue with duplicate IRQ resends
      KVM: PPC: Book 3S: XICS: Implement ICS P/Q states
      KVM: PPC: Book 3S: XICS: Don't lock twice when checking for resend

Nicholas Piggin (3):
      KVM: PPC: Book3S: Change interrupt call to reduce scratch space use on HV
      KVM: PPC: Book3S: Move 64-bit KVM interrupt handler out from alt section
      KVM: PPC: Book3S: 64-bit CONFIG_RELOCATABLE support for interrupts

Paul Mackerras (23):
      KVM: PPC: Book3S HV: Don't try to signal cpu -1
      KVM: PPC: Book3S HV: Fix H_PROD to actually wake the target vcpu
      powerpc/64: Don't try to use radix MMU under a hypervisor
      powerpc/pseries: Fixes for the "ibm,architecture-vec-5" options
      powerpc/64: Enable use of radix MMU under hypervisor on POWER9
      powerpc/64: More definitions for POWER9
      powerpc/64: Export pgtable_cache and pgtable_cache_add for KVM
      powerpc/64: Make type of partition table flush depend on partition type
      powerpc/64: Allow for relocation-on interrupts from guest to host
      KVM: PPC: Book3S HV: Add userspace interfaces for POWER9 MMU
      KVM: PPC: Book3S HV: Set process table for HPT guests on POWER9
      KVM: PPC: Book3S HV: Use ASDR for HPT guests on POWER9
      KVM: PPC: Book3S HV: Add basic infrastructure for radix guests
      KVM: PPC: Book3S HV: Modify guest entry/exit paths to handle radix guests
      KVM: PPC: Book3S HV: Page table construction and page faults for radix guests
      KVM: PPC: Book3S HV: MMU notifier callbacks for radix guests
      KVM: PPC: Book3S HV: Implement dirty page logging for radix guests
      KVM: PPC: Book3S HV: Make HPT-specific hypercalls return error in radix mode
      KVM: PPC: Book3S HV: Invalidate TLB on radix guest vcpu movement
      KVM: PPC: Book3S HV: Allow guest exit path to have MMU on
      KVM: PPC: Book3S HV: Invalidate ERAT on guest entry/exit for POWER9 DD1
      KVM: PPC: Book3S HV: Enable radix guest support
      Merge remote-tracking branch 'remotes/powerpc/topic/ppc-kvm' into kvm-ppc-next

Thomas Huth (1):
      KVM: PPC: Book3S PR: Refactor program interrupt related code into separate function

 Documentation/virtual/kvm/api.txt         | 194 +++++++-
 arch/powerpc/include/asm/book3s/64/mmu.h  |  18 +-
 arch/powerpc/include/asm/exception-64s.h  |  75 ++-
 arch/powerpc/include/asm/head-64.h        |   2 +-
 arch/powerpc/include/asm/hvcall.h         |  11 +
 arch/powerpc/include/asm/kvm_book3s.h     |  26 +-
 arch/powerpc/include/asm/kvm_book3s_64.h  |  22 +
 arch/powerpc/include/asm/kvm_host.h       |  27 +-
 arch/powerpc/include/asm/kvm_ppc.h        |  17 +-
 arch/powerpc/include/asm/prom.h           |  17 +-
 arch/powerpc/include/asm/reg.h            |   4 +
 arch/powerpc/include/uapi/asm/kvm.h       |  22 +
 arch/powerpc/kernel/asm-offsets.c         |   2 +
 arch/powerpc/kernel/exceptions-64s.S      |  61 +--
 arch/powerpc/kernel/prom_init.c           |  18 +-
 arch/powerpc/kvm/Makefile                 |   3 +-
 arch/powerpc/kvm/book3s.c                 |   1 +
 arch/powerpc/kvm/book3s_64_mmu_hv.c       | 734 +++++++++++++++++++++++-------
 arch/powerpc/kvm/book3s_64_mmu_radix.c    | 716 +++++++++++++++++++++++++++++
 arch/powerpc/kvm/book3s_hv.c              | 268 +++++++++--
 arch/powerpc/kvm/book3s_hv_builtin.c      |  46 +-
 arch/powerpc/kvm/book3s_hv_rm_mmu.c       |  87 ++--
 arch/powerpc/kvm/book3s_hv_rm_xics.c      | 146 +++---
 arch/powerpc/kvm/book3s_hv_rmhandlers.S   | 154 +++++--
 arch/powerpc/kvm/book3s_pr.c              | 130 +++---
 arch/powerpc/kvm/book3s_segment.S         |  32 +-
 arch/powerpc/kvm/book3s_xics.c            | 192 ++++----
 arch/powerpc/kvm/book3s_xics.h            |   7 +-
 arch/powerpc/kvm/powerpc.c                |  35 ++
 arch/powerpc/mm/init-common.c             |   3 +-
 arch/powerpc/mm/init_64.c                 |  35 ++
 arch/powerpc/mm/pgtable-radix.c           |   2 +
 arch/powerpc/mm/pgtable_64.c              |  16 +-
 arch/powerpc/platforms/pseries/firmware.c |   2 +-
 arch/powerpc/platforms/pseries/lpar.c     |  29 ++
 include/uapi/linux/kvm.h                  |  17 +
 36 files changed, 2608 insertions(+), 563 deletions(-)
 create mode 100644 arch/powerpc/kvm/book3s_64_mmu_radix.c
--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Paolo Bonzini Feb. 7, 2017, 5:17 p.m. UTC | #1
On 01/02/2017 10:24, Paul Mackerras wrote:
> Paolo (or Radim),
> 
> Please do a pull from my kvm-ppc-next branch to get a PPC KVM update
> for 4.11.
> 
> The big feature this time is support for POWER9 using the radix-tree
> MMU for host and guest.  This required some changes to arch/powerpc
> code, so I talked with Michael Ellerman and he created a topic branch
> with this patchset, which I merged into kvm-ppc-next and which Michael
> will pull into his tree.  Michael also put in some patches from Nick
> Piggin which fix bugs in the interrupt vector code in relocatable
> kernels when coming from a KVM guest.
> 
> Other notable changes include:
> 
> * Add the ability to change the size of the hashed page table,
>   from David Gibson.
> 
> * XICS (interrupt controller) emulation fixes and improvements,
>   from Li Zhong.
> 
> * Bug fixes from myself and Thomas Huth.
> 
> These patches define some new KVM capabilities and ioctls, but there
> should be no conflicts with anything else currently upstream, as far
> as I am aware.
> 
> Thanks,
> Paul.
> 
> The following changes since commit a17f32270af1e1054bbc8858b0f27226a2c859ba:
> 
>   kvm: x86: Expose Intel VPOPCNTDQ feature to guest (2017-01-17 17:55:18 +0100)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc kvm-ppc-next
> 
> for you to fetch changes up to 050f23390f6bdbfa7dd2800884d32490489851b7:
> 
>   KVM: PPC: Book3S HV: Advertise availablity of HPT resizing on KVM HV (2017-01-31 22:00:07 +1100)
> 
> ----------------------------------------------------------------
> David Gibson (11):
>       Documentation: Correct duplicate section number in kvm/api.txt
>       KVM: PPC: Book3S HV: HPT resizing documentation and reserved numbers
>       KVM: PPC: Book3S HV: Rename kvm_alloc_hpt() for clarity
>       KVM: PPC: Book3S HV: Gather HPT related variables into sub-structure
>       KVM: PPC: Book3S HV: Don't store values derivable from HPT order
>       KVM: PPC: Book3S HV: Split HPT allocation from activation
>       KVM: PPC: Book3S HV: Allow KVM_PPC_ALLOCATE_HTAB ioctl() to change HPT size
>       KVM: PPC: Book3S HV: Create kvmppc_unmap_hpte_helper()
>       KVM: PPC: Book3S HV: Outline of KVM-HV HPT resizing implementation
>       KVM: PPC: Book3S HV: KVM-HV HPT resizing implementation
>       KVM: PPC: Book3S HV: Advertise availablity of HPT resizing on KVM HV
> 
> Li Zhong (5):
>       KVM: PPC: Book 3S: XICS cleanup: remove XICS_RM_REJECT
>       KVM: PPC: Book 3S: XICS: correct the real mode ICP rejecting counter
>       KVM: PPC: Book 3S: XICS: Fix potential issue with duplicate IRQ resends
>       KVM: PPC: Book 3S: XICS: Implement ICS P/Q states
>       KVM: PPC: Book 3S: XICS: Don't lock twice when checking for resend
> 
> Nicholas Piggin (3):
>       KVM: PPC: Book3S: Change interrupt call to reduce scratch space use on HV
>       KVM: PPC: Book3S: Move 64-bit KVM interrupt handler out from alt section
>       KVM: PPC: Book3S: 64-bit CONFIG_RELOCATABLE support for interrupts
> 
> Paul Mackerras (23):
>       KVM: PPC: Book3S HV: Don't try to signal cpu -1
>       KVM: PPC: Book3S HV: Fix H_PROD to actually wake the target vcpu
>       powerpc/64: Don't try to use radix MMU under a hypervisor
>       powerpc/pseries: Fixes for the "ibm,architecture-vec-5" options
>       powerpc/64: Enable use of radix MMU under hypervisor on POWER9
>       powerpc/64: More definitions for POWER9
>       powerpc/64: Export pgtable_cache and pgtable_cache_add for KVM
>       powerpc/64: Make type of partition table flush depend on partition type
>       powerpc/64: Allow for relocation-on interrupts from guest to host
>       KVM: PPC: Book3S HV: Add userspace interfaces for POWER9 MMU
>       KVM: PPC: Book3S HV: Set process table for HPT guests on POWER9
>       KVM: PPC: Book3S HV: Use ASDR for HPT guests on POWER9
>       KVM: PPC: Book3S HV: Add basic infrastructure for radix guests
>       KVM: PPC: Book3S HV: Modify guest entry/exit paths to handle radix guests
>       KVM: PPC: Book3S HV: Page table construction and page faults for radix guests
>       KVM: PPC: Book3S HV: MMU notifier callbacks for radix guests
>       KVM: PPC: Book3S HV: Implement dirty page logging for radix guests
>       KVM: PPC: Book3S HV: Make HPT-specific hypercalls return error in radix mode
>       KVM: PPC: Book3S HV: Invalidate TLB on radix guest vcpu movement
>       KVM: PPC: Book3S HV: Allow guest exit path to have MMU on
>       KVM: PPC: Book3S HV: Invalidate ERAT on guest entry/exit for POWER9 DD1
>       KVM: PPC: Book3S HV: Enable radix guest support
>       Merge remote-tracking branch 'remotes/powerpc/topic/ppc-kvm' into kvm-ppc-next
> 
> Thomas Huth (1):
>       KVM: PPC: Book3S PR: Refactor program interrupt related code into separate function
> 
>  Documentation/virtual/kvm/api.txt         | 194 +++++++-
>  arch/powerpc/include/asm/book3s/64/mmu.h  |  18 +-
>  arch/powerpc/include/asm/exception-64s.h  |  75 ++-
>  arch/powerpc/include/asm/head-64.h        |   2 +-
>  arch/powerpc/include/asm/hvcall.h         |  11 +
>  arch/powerpc/include/asm/kvm_book3s.h     |  26 +-
>  arch/powerpc/include/asm/kvm_book3s_64.h  |  22 +
>  arch/powerpc/include/asm/kvm_host.h       |  27 +-
>  arch/powerpc/include/asm/kvm_ppc.h        |  17 +-
>  arch/powerpc/include/asm/prom.h           |  17 +-
>  arch/powerpc/include/asm/reg.h            |   4 +
>  arch/powerpc/include/uapi/asm/kvm.h       |  22 +
>  arch/powerpc/kernel/asm-offsets.c         |   2 +
>  arch/powerpc/kernel/exceptions-64s.S      |  61 +--
>  arch/powerpc/kernel/prom_init.c           |  18 +-
>  arch/powerpc/kvm/Makefile                 |   3 +-
>  arch/powerpc/kvm/book3s.c                 |   1 +
>  arch/powerpc/kvm/book3s_64_mmu_hv.c       | 734 +++++++++++++++++++++++-------
>  arch/powerpc/kvm/book3s_64_mmu_radix.c    | 716 +++++++++++++++++++++++++++++
>  arch/powerpc/kvm/book3s_hv.c              | 268 +++++++++--
>  arch/powerpc/kvm/book3s_hv_builtin.c      |  46 +-
>  arch/powerpc/kvm/book3s_hv_rm_mmu.c       |  87 ++--
>  arch/powerpc/kvm/book3s_hv_rm_xics.c      | 146 +++---
>  arch/powerpc/kvm/book3s_hv_rmhandlers.S   | 154 +++++--
>  arch/powerpc/kvm/book3s_pr.c              | 130 +++---
>  arch/powerpc/kvm/book3s_segment.S         |  32 +-
>  arch/powerpc/kvm/book3s_xics.c            | 192 ++++----
>  arch/powerpc/kvm/book3s_xics.h            |   7 +-
>  arch/powerpc/kvm/powerpc.c                |  35 ++
>  arch/powerpc/mm/init-common.c             |   3 +-
>  arch/powerpc/mm/init_64.c                 |  35 ++
>  arch/powerpc/mm/pgtable-radix.c           |   2 +
>  arch/powerpc/mm/pgtable_64.c              |  16 +-
>  arch/powerpc/platforms/pseries/firmware.c |   2 +-
>  arch/powerpc/platforms/pseries/lpar.c     |  29 ++
>  include/uapi/linux/kvm.h                  |  17 +
>  36 files changed, 2608 insertions(+), 563 deletions(-)
>  create mode 100644 arch/powerpc/kvm/book3s_64_mmu_radix.c
> 

Pulled, thanks.

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