All of lore.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL] Please pull my kvm-ppc-next-4.16-1 tag
@ 2018-01-19  4:48 ` Paul Mackerras
  0 siblings, 0 replies; 24+ messages in thread
From: Paul Mackerras @ 2018-01-19  4:48 UTC (permalink / raw)
  To: Paolo Bonzini, kvm; +Cc: kvm-ppc

Hi Paolo,

Please do a pull from my kvm-ppc-next-4.16-1 tag to get a PPC KVM
update for 4.16.  The tag has a summary of the changes (see below).
Four of the commits come from the topic/ppc-kvm branch of Michael
Ellerman's powerpc tree and are also present in his next branch.

Thanks,
Paul.

The following changes since commit ae64f9bd1d3621b5e60d7363bc20afb46aede215:

  Linux 4.15-rc2 (2017-12-03 11:01:47 -0500)

are available in the git repository at:

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

for you to fetch changes up to 9b9b13a6d1537ddc4caccd6f1c41b78edbc08437:

  KVM: PPC: Book3S HV: Keep XIVE escalation interrupt masked unless ceded (2018-01-19 12:10:21 +1100)

----------------------------------------------------------------
PPC KVM update for 4.16

- Allow HPT guests to run on a radix host on POWER9 v2.2 CPUs
  without requiring the complex thread synchronization that earlier
  CPU versions required.

- A series from Ben Herrenschmidt to improve the handling of
  escalation interrupts with the XIVE interrupt controller.

- Provide for the decrementer register to be copied across on
  migration.

- Various minor cleanups and bugfixes.

----------------------------------------------------------------
Alexander Graf (1):
      KVM: PPC: Book3S HV: Remove vcpu->arch.dec usage

Benjamin Herrenschmidt (8):
      powerpc/xive: Move definition of ESB bits
      powerpc/xive: Add interrupt flag to disable automatic EOI
      KVM: PPC: Book3S HV: Add more info about XIVE queues in debugfs
      KVM: PPC: Book3S HV: Enable use of the new XIVE "single escalation" feature
      KVM: PPC: Book3S HV: Don't use existing "prodded" flag for XIVE escalations
      KVM: PPC: Book3S HV: Check DR not IR to chose real vs virt mode MMIOs
      KVM: PPC: Book3S HV: Make xive_pushed a byte, not a word
      KVM: PPC: Book3S HV: Keep XIVE escalation interrupt masked unless ceded

Markus Elfring (1):
      KVM: PPC: Use seq_puts() in kvmppc_exit_timing_show()

Michael Neuling (1):
      powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper

Paul Mackerras (11):
      KVM: PPC: Book3S HV: Avoid shifts by negative amounts
      KVM: PPC: Book3S HV: Fix typo in kvmppc_hv_get_dirty_log_radix()
      KVM: PPC: Book3S HV: Remove useless statement
      KVM: PPC: Book3S HV: Fix conditions for starting vcpu
      KVM: PPC: Book3S: Eliminate some unnecessary checks
      KVM: PPC: Book3S HV: Enable migration of decrementer register
      KVM: PPC: Book3S HV: Make sure we don't re-enter guest without XIVE loaded
      KVM: PPC: Book3S HV: Do SLB load/unload with guest LPCR value loaded
      KVM: PPC: Book3S HV: Allow HPT and radix on the same core for POWER9 v2.2
      KVM: PPC: Book3S HV: Improve handling of debug-trigger HMIs on POWER9
      Merge remote-tracking branch 'remotes/powerpc/topic/ppc-kvm' into kvm-ppc-next

 Documentation/virtual/kvm/api.txt         |   1 +
 arch/powerpc/include/asm/hmi.h            |   4 +
 arch/powerpc/include/asm/hvcall.h         |  17 +++
 arch/powerpc/include/asm/kvm_book3s_64.h  |  14 +-
 arch/powerpc/include/asm/kvm_host.h       |   6 +-
 arch/powerpc/include/asm/opal-api.h       |   1 +
 arch/powerpc/include/asm/plpar_wrappers.h |  14 ++
 arch/powerpc/include/asm/reg.h            |   5 +-
 arch/powerpc/include/asm/xive-regs.h      |  35 +++++
 arch/powerpc/include/asm/xive.h           |  41 +-----
 arch/powerpc/include/uapi/asm/kvm.h       |   2 +
 arch/powerpc/kernel/asm-offsets.c         |   4 +
 arch/powerpc/kernel/mce.c                 | 142 ++++++++++++++----
 arch/powerpc/kvm/book3s_64_mmu_radix.c    |   2 +-
 arch/powerpc/kvm/book3s_hv.c              |  54 ++++---
 arch/powerpc/kvm/book3s_hv_ras.c          |   8 +-
 arch/powerpc/kvm/book3s_hv_rmhandlers.S   | 237 +++++++++++++++++++-----------
 arch/powerpc/kvm/book3s_xive.c            | 109 +++++++++++---
 arch/powerpc/kvm/book3s_xive.h            |  15 +-
 arch/powerpc/kvm/powerpc.c                |  14 +-
 arch/powerpc/kvm/timing.c                 |   3 +-
 arch/powerpc/sysdev/xive/common.c         |   3 +-
 arch/powerpc/sysdev/xive/native.c         |  18 ++-
 23 files changed, 530 insertions(+), 219 deletions(-)

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [GIT PULL] Please pull my kvm-ppc-next-4.16-1 tag
@ 2018-01-19  4:48 ` Paul Mackerras
  0 siblings, 0 replies; 24+ messages in thread
From: Paul Mackerras @ 2018-01-19  4:48 UTC (permalink / raw)
  To: Paolo Bonzini, kvm; +Cc: kvm-ppc

Hi Paolo,

Please do a pull from my kvm-ppc-next-4.16-1 tag to get a PPC KVM
update for 4.16.  The tag has a summary of the changes (see below).
Four of the commits come from the topic/ppc-kvm branch of Michael
Ellerman's powerpc tree and are also present in his next branch.

Thanks,
Paul.

The following changes since commit ae64f9bd1d3621b5e60d7363bc20afb46aede215:

  Linux 4.15-rc2 (2017-12-03 11:01:47 -0500)

are available in the git repository at:

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

for you to fetch changes up to 9b9b13a6d1537ddc4caccd6f1c41b78edbc08437:

  KVM: PPC: Book3S HV: Keep XIVE escalation interrupt masked unless ceded (2018-01-19 12:10:21 +1100)

----------------------------------------------------------------
PPC KVM update for 4.16

- Allow HPT guests to run on a radix host on POWER9 v2.2 CPUs
  without requiring the complex thread synchronization that earlier
  CPU versions required.

- A series from Ben Herrenschmidt to improve the handling of
  escalation interrupts with the XIVE interrupt controller.

- Provide for the decrementer register to be copied across on
  migration.

- Various minor cleanups and bugfixes.

----------------------------------------------------------------
Alexander Graf (1):
      KVM: PPC: Book3S HV: Remove vcpu->arch.dec usage

Benjamin Herrenschmidt (8):
      powerpc/xive: Move definition of ESB bits
      powerpc/xive: Add interrupt flag to disable automatic EOI
      KVM: PPC: Book3S HV: Add more info about XIVE queues in debugfs
      KVM: PPC: Book3S HV: Enable use of the new XIVE "single escalation" feature
      KVM: PPC: Book3S HV: Don't use existing "prodded" flag for XIVE escalations
      KVM: PPC: Book3S HV: Check DR not IR to chose real vs virt mode MMIOs
      KVM: PPC: Book3S HV: Make xive_pushed a byte, not a word
      KVM: PPC: Book3S HV: Keep XIVE escalation interrupt masked unless ceded

Markus Elfring (1):
      KVM: PPC: Use seq_puts() in kvmppc_exit_timing_show()

Michael Neuling (1):
      powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper

Paul Mackerras (11):
      KVM: PPC: Book3S HV: Avoid shifts by negative amounts
      KVM: PPC: Book3S HV: Fix typo in kvmppc_hv_get_dirty_log_radix()
      KVM: PPC: Book3S HV: Remove useless statement
      KVM: PPC: Book3S HV: Fix conditions for starting vcpu
      KVM: PPC: Book3S: Eliminate some unnecessary checks
      KVM: PPC: Book3S HV: Enable migration of decrementer register
      KVM: PPC: Book3S HV: Make sure we don't re-enter guest without XIVE loaded
      KVM: PPC: Book3S HV: Do SLB load/unload with guest LPCR value loaded
      KVM: PPC: Book3S HV: Allow HPT and radix on the same core for POWER9 v2.2
      KVM: PPC: Book3S HV: Improve handling of debug-trigger HMIs on POWER9
      Merge remote-tracking branch 'remotes/powerpc/topic/ppc-kvm' into kvm-ppc-next

 Documentation/virtual/kvm/api.txt         |   1 +
 arch/powerpc/include/asm/hmi.h            |   4 +
 arch/powerpc/include/asm/hvcall.h         |  17 +++
 arch/powerpc/include/asm/kvm_book3s_64.h  |  14 +-
 arch/powerpc/include/asm/kvm_host.h       |   6 +-
 arch/powerpc/include/asm/opal-api.h       |   1 +
 arch/powerpc/include/asm/plpar_wrappers.h |  14 ++
 arch/powerpc/include/asm/reg.h            |   5 +-
 arch/powerpc/include/asm/xive-regs.h      |  35 +++++
 arch/powerpc/include/asm/xive.h           |  41 +-----
 arch/powerpc/include/uapi/asm/kvm.h       |   2 +
 arch/powerpc/kernel/asm-offsets.c         |   4 +
 arch/powerpc/kernel/mce.c                 | 142 ++++++++++++++----
 arch/powerpc/kvm/book3s_64_mmu_radix.c    |   2 +-
 arch/powerpc/kvm/book3s_hv.c              |  54 ++++---
 arch/powerpc/kvm/book3s_hv_ras.c          |   8 +-
 arch/powerpc/kvm/book3s_hv_rmhandlers.S   | 237 +++++++++++++++++++-----------
 arch/powerpc/kvm/book3s_xive.c            | 109 +++++++++++---
 arch/powerpc/kvm/book3s_xive.h            |  15 +-
 arch/powerpc/kvm/powerpc.c                |  14 +-
 arch/powerpc/kvm/timing.c                 |   3 +-
 arch/powerpc/sysdev/xive/common.c         |   3 +-
 arch/powerpc/sysdev/xive/native.c         |  18 ++-
 23 files changed, 530 insertions(+), 219 deletions(-)

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [GIT PULL] Please pull my kvm-ppc-next-4.16-1 tag
  2018-01-19  4:48 ` Paul Mackerras
@ 2018-02-01 15:17   ` Radim Krčmář
  -1 siblings, 0 replies; 24+ messages in thread
From: Radim Krčmář @ 2018-02-01 15:17 UTC (permalink / raw)
  To: Paul Mackerras; +Cc: Paolo Bonzini, kvm, kvm-ppc

2018-01-19 15:48+1100, Paul Mackerras:
> Hi Paolo,
> 
> Please do a pull from my kvm-ppc-next-4.16-1 tag to get a PPC KVM
> update for 4.16.  The tag has a summary of the changes (see below).
> Four of the commits come from the topic/ppc-kvm branch of Michael
> Ellerman's powerpc tree and are also present in his next branch.

Pulled, thanks.

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [GIT PULL] Please pull my kvm-ppc-next-4.16-1 tag
@ 2018-02-01 15:17   ` Radim Krčmář
  0 siblings, 0 replies; 24+ messages in thread
From: Radim Krčmář @ 2018-02-01 15:17 UTC (permalink / raw)
  To: Paul Mackerras; +Cc: Paolo Bonzini, kvm, kvm-ppc

2018-01-19 15:48+1100, Paul Mackerras:
> Hi Paolo,
> 
> Please do a pull from my kvm-ppc-next-4.16-1 tag to get a PPC KVM
> update for 4.16.  The tag has a summary of the changes (see below).
> Four of the commits come from the topic/ppc-kvm branch of Michael
> Ellerman's powerpc tree and are also present in his next branch.

Pulled, thanks.

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [GIT PULL] Please pull my kvm-ppc-next-4.16-2 tag
  2018-01-19  4:48 ` Paul Mackerras
@ 2018-02-09  9:41 ` Paul Mackerras
  -1 siblings, 0 replies; 24+ messages in thread
From: Paul Mackerras @ 2018-02-09  9:41 UTC (permalink / raw)
  To: Paolo Bonzini, Radim Krčmář, kvm; +Cc: kvm-ppc, David Gibson

Paolo or Radim,

Please do a pull from my kvm-ppc-next-4.16-2 tag to get some PPC KVM
fixes that I would like to have go into 4.16.  Most of them are quite
self-contained; there are two that are larger (and arguably don't
quite count as bug fixes), but I have checked them carefully and
convinced myself that they have a low risk of causing regressions, and
they do address issues that have been found in testing, so I put them
in.

With things like this I would normally put them in my kvm-ppc-fixes
branch and base it on current upstream.  However, as far as I can see
the kvm next branch hasn't been merged upstream yet.  Therefore I made
this series a continuation of my kvm-ppc-next branch.

When do you expect that kvm/next will get merged upstream?

Thanks,
Paul.

The following changes since commit 9b9b13a6d1537ddc4caccd6f1c41b78edbc08437:

  KVM: PPC: Book3S HV: Keep XIVE escalation interrupt masked unless ceded (2018-01-19 12:10:21 +1100)

are available in the git repository at:

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

for you to fetch changes up to 09f984961c137c4b252c368adab7e1c9f035fa59:

  KVM: PPC: Book3S: Add MMIO emulation for VMX instructions (2018-02-09 16:51:51 +1100)

----------------------------------------------------------------
Second PPC KVM update for 4.16

Seven fixes that are either trivial or that address bugs that people
are actually hitting.  The main ones are:

- Drop spinlocks before reading guest memory

- Fix a bug causing corruption of VCPU state in PR KVM with preemption
  enabled

- Make HPT resizing work on POWER9

- Add MMIO emulation for vector loads and stores, because guests now
  use these instructions in memcpy and similar routines.

----------------------------------------------------------------
Alexander Graf (2):
      KVM: PPC: Book3S PR: Fix svcpu copying with preemption enabled
      KVM: PPC: Book3S HV: Branch inside feature section

David Gibson (1):
      KVM: PPC: Book3S HV: Make HPT resizing work on POWER9

Jose Ricardo Ziviani (1):
      KVM: PPC: Book3S: Add MMIO emulation for VMX instructions

Paul Mackerras (2):
      KVM: PPC: Book3S HV: Drop locks before reading guest memory
      KVM: PPC: Book3S HV: Fix handling of secondary HPTEG in HPT resizing code

Ulf Magnusson (1):
      KVM: PPC: Book3S PR: Fix broken select due to misspelling

 arch/powerpc/include/asm/kvm_book3s.h   |   6 +-
 arch/powerpc/include/asm/kvm_host.h     |   2 +
 arch/powerpc/include/asm/kvm_ppc.h      |   4 +
 arch/powerpc/include/asm/ppc-opcode.h   |   6 ++
 arch/powerpc/kvm/Kconfig                |   2 +-
 arch/powerpc/kvm/book3s_64_mmu_hv.c     |  38 +++++---
 arch/powerpc/kvm/book3s_hv.c            |  16 +++-
 arch/powerpc/kvm/book3s_hv_rmhandlers.S |   3 +-
 arch/powerpc/kvm/book3s_interrupts.S    |   4 +-
 arch/powerpc/kvm/book3s_pr.c            |  20 ++---
 arch/powerpc/kvm/emulate_loadstore.c    |  36 ++++++++
 arch/powerpc/kvm/powerpc.c              | 153 +++++++++++++++++++++++++++++++-
 12 files changed, 251 insertions(+), 39 deletions(-)

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [GIT PULL] Please pull my kvm-ppc-next-4.16-2 tag
@ 2018-02-09  9:41 ` Paul Mackerras
  0 siblings, 0 replies; 24+ messages in thread
From: Paul Mackerras @ 2018-02-09  9:41 UTC (permalink / raw)
  To: Paolo Bonzini, Radim Krčmář, kvm; +Cc: kvm-ppc, David Gibson

Paolo or Radim,

Please do a pull from my kvm-ppc-next-4.16-2 tag to get some PPC KVM
fixes that I would like to have go into 4.16.  Most of them are quite
self-contained; there are two that are larger (and arguably don't
quite count as bug fixes), but I have checked them carefully and
convinced myself that they have a low risk of causing regressions, and
they do address issues that have been found in testing, so I put them
in.

With things like this I would normally put them in my kvm-ppc-fixes
branch and base it on current upstream.  However, as far as I can see
the kvm next branch hasn't been merged upstream yet.  Therefore I made
this series a continuation of my kvm-ppc-next branch.

When do you expect that kvm/next will get merged upstream?

Thanks,
Paul.

The following changes since commit 9b9b13a6d1537ddc4caccd6f1c41b78edbc08437:

  KVM: PPC: Book3S HV: Keep XIVE escalation interrupt masked unless ceded (2018-01-19 12:10:21 +1100)

are available in the git repository at:

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

for you to fetch changes up to 09f984961c137c4b252c368adab7e1c9f035fa59:

  KVM: PPC: Book3S: Add MMIO emulation for VMX instructions (2018-02-09 16:51:51 +1100)

----------------------------------------------------------------
Second PPC KVM update for 4.16

Seven fixes that are either trivial or that address bugs that people
are actually hitting.  The main ones are:

- Drop spinlocks before reading guest memory

- Fix a bug causing corruption of VCPU state in PR KVM with preemption
  enabled

- Make HPT resizing work on POWER9

- Add MMIO emulation for vector loads and stores, because guests now
  use these instructions in memcpy and similar routines.

----------------------------------------------------------------
Alexander Graf (2):
      KVM: PPC: Book3S PR: Fix svcpu copying with preemption enabled
      KVM: PPC: Book3S HV: Branch inside feature section

David Gibson (1):
      KVM: PPC: Book3S HV: Make HPT resizing work on POWER9

Jose Ricardo Ziviani (1):
      KVM: PPC: Book3S: Add MMIO emulation for VMX instructions

Paul Mackerras (2):
      KVM: PPC: Book3S HV: Drop locks before reading guest memory
      KVM: PPC: Book3S HV: Fix handling of secondary HPTEG in HPT resizing code

Ulf Magnusson (1):
      KVM: PPC: Book3S PR: Fix broken select due to misspelling

 arch/powerpc/include/asm/kvm_book3s.h   |   6 +-
 arch/powerpc/include/asm/kvm_host.h     |   2 +
 arch/powerpc/include/asm/kvm_ppc.h      |   4 +
 arch/powerpc/include/asm/ppc-opcode.h   |   6 ++
 arch/powerpc/kvm/Kconfig                |   2 +-
 arch/powerpc/kvm/book3s_64_mmu_hv.c     |  38 +++++---
 arch/powerpc/kvm/book3s_hv.c            |  16 +++-
 arch/powerpc/kvm/book3s_hv_rmhandlers.S |   3 +-
 arch/powerpc/kvm/book3s_interrupts.S    |   4 +-
 arch/powerpc/kvm/book3s_pr.c            |  20 ++---
 arch/powerpc/kvm/emulate_loadstore.c    |  36 ++++++++
 arch/powerpc/kvm/powerpc.c              | 153 +++++++++++++++++++++++++++++++-
 12 files changed, 251 insertions(+), 39 deletions(-)


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [GIT PULL] Please pull my kvm-ppc-next-4.16-2 tag
  2018-02-09  9:41 ` Paul Mackerras
@ 2018-02-10 14:52   ` Radim Krčmář
  -1 siblings, 0 replies; 24+ messages in thread
From: Radim Krčmář @ 2018-02-10 14:52 UTC (permalink / raw)
  To: Paul Mackerras; +Cc: Paolo Bonzini, kvm, kvm-ppc, David Gibson

2018-02-09 20:41+1100, Paul Mackerras:
> Paolo or Radim,
> 
> Please do a pull from my kvm-ppc-next-4.16-2 tag to get some PPC KVM
> fixes that I would like to have go into 4.16.  Most of them are quite
> self-contained; there are two that are larger (and arguably don't
> quite count as bug fixes), but I have checked them carefully and
> convinced myself that they have a low risk of causing regressions, and
> they do address issues that have been found in testing, so I put them
> in.
> 
> With things like this I would normally put them in my kvm-ppc-fixes
> branch and base it on current upstream.  However, as far as I can see
> the kvm next branch hasn't been merged upstream yet.  Therefore I made
> this series a continuation of my kvm-ppc-next branch.

I have resolved the resulting conflict and pulled, thanks.

> When do you expect that kvm/next will get merged upstream?

Hopefully on Sunday, sorry for the delay.

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [GIT PULL] Please pull my kvm-ppc-next-4.16-2 tag
@ 2018-02-10 14:52   ` Radim Krčmář
  0 siblings, 0 replies; 24+ messages in thread
From: Radim Krčmář @ 2018-02-10 14:52 UTC (permalink / raw)
  To: Paul Mackerras; +Cc: Paolo Bonzini, kvm, kvm-ppc, David Gibson

2018-02-09 20:41+1100, Paul Mackerras:
> Paolo or Radim,
> 
> Please do a pull from my kvm-ppc-next-4.16-2 tag to get some PPC KVM
> fixes that I would like to have go into 4.16.  Most of them are quite
> self-contained; there are two that are larger (and arguably don't
> quite count as bug fixes), but I have checked them carefully and
> convinced myself that they have a low risk of causing regressions, and
> they do address issues that have been found in testing, so I put them
> in.
> 
> With things like this I would normally put them in my kvm-ppc-fixes
> branch and base it on current upstream.  However, as far as I can see
> the kvm next branch hasn't been merged upstream yet.  Therefore I made
> this series a continuation of my kvm-ppc-next branch.

I have resolved the resulting conflict and pulled, thanks.

> When do you expect that kvm/next will get merged upstream?

Hopefully on Sunday, sorry for the delay.

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [GIT PULL] Please pull my kvm-ppc-next-4.17-1 tag
  2018-01-19  4:48 ` Paul Mackerras
  (?)
  (?)
@ 2018-03-29  5:38 ` Paul Mackerras
  -1 siblings, 0 replies; 24+ messages in thread
From: Paul Mackerras @ 2018-03-29  5:38 UTC (permalink / raw)
  To: kvm-ppc

Paolo or Radim,

Please do a pull from my kvm-ppc-next-4.17-1 tag to get a PPC KVM
update for the 4.17 merge window.  What's in here is a series that
improves the radix page fault handler for POWER9 systems and makes it
use the generic __gfn_to_pfn_memslot() function.  At this stage I am
just using that function as-is without the changes we discussed some
time ago; that can be optimized in future.

There are two other series that affect PPC KVM and also other powerpc
code. Michael Ellerman has put them in the topic/ppc-kvm branch in his
powerpc tree and merged them into his next branch.  I have not merged
that topic branch into my kvm-ppc-next branch because there were no
conflicts to resolve and so those changes might as well just go in
through Michael's tree.  There was a series that adds hypervisor
assistance for transactional memory, allowing KVM guests to use TM on
POWER9 systems, and a series that disables use of data watchpoints on
POWER9 because of hardware bugs.

Thanks,
Paul.

The following changes since commit a8b48a4dccea77e29462e59f1dbf0d5aa1ff167c:

  KVM: PPC: Book3S HV: Fix trap number return from __kvmppc_vcore_entry (2018-03-14 15:10:50 +1100)

are available in the git repository at:

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

for you to fetch changes up to 31c8b0d0694a1f7e3b46df0d1341a874ecb5e0de:

  KVM: PPC: Book3S HV: Use __gfn_to_pfn_memslot() in page fault handler (2018-03-28 08:27:58 +1100)

----------------------------------------------------------------
KVM PPC update for 4.17

- Improvements for the radix page fault handler for HV KVM on POWER9.

----------------------------------------------------------------
Paul Mackerras (5):
      KVM: PPC: Remove unused kvm_unmap_hva callback
      KVM: PPC: Book3S HV: Radix page fault handler optimizations
      KVM: PPC: Book3S HV: Streamline setting of reference and change bits
      KVM: PPC: Book3S HV: Handle 1GB pages in radix page fault handler
      KVM: PPC: Book3S HV: Use __gfn_to_pfn_memslot() in page fault handler

 arch/powerpc/include/asm/kvm_host.h    |   1 -
 arch/powerpc/include/asm/kvm_ppc.h     |   1 -
 arch/powerpc/kvm/book3s.c              |   6 -
 arch/powerpc/kvm/book3s.h              |   1 -
 arch/powerpc/kvm/book3s_64_mmu_hv.c    |   9 -
 arch/powerpc/kvm/book3s_64_mmu_radix.c | 333 ++++++++++++++++++++-------------
 arch/powerpc/kvm/book3s_64_vio_hv.c    |   2 +-
 arch/powerpc/kvm/book3s_hv.c           |   1 -
 arch/powerpc/kvm/book3s_pr.c           |  10 -
 arch/powerpc/kvm/e500_mmu_host.c       |   2 +-
 arch/powerpc/kvm/trace_pr.h            |  15 --
 11 files changed, 210 insertions(+), 171 deletions(-)

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [GIT PULL] Please pull my kvm-ppc-next-4.17-1 tag
  2018-01-19  4:48 ` Paul Mackerras
                   ` (2 preceding siblings ...)
  (?)
@ 2018-03-29 20:34 ` Radim Krčmář
  -1 siblings, 0 replies; 24+ messages in thread
From: Radim Krčmář @ 2018-03-29 20:34 UTC (permalink / raw)
  To: kvm-ppc

2018-03-29 16:38+1100, Paul Mackerras:
> Paolo or Radim,
> 
> Please do a pull from my kvm-ppc-next-4.17-1 tag to get a PPC KVM
> update for the 4.17 merge window.  What's in here is a series that
> improves the radix page fault handler for POWER9 systems and makes it
> use the generic __gfn_to_pfn_memslot() function.  At this stage I am
> just using that function as-is without the changes we discussed some
> time ago; that can be optimized in future.
> 
> There are two other series that affect PPC KVM and also other powerpc
> code. Michael Ellerman has put them in the topic/ppc-kvm branch in his
> powerpc tree and merged them into his next branch.  I have not merged
> that topic branch into my kvm-ppc-next branch because there were no
> conflicts to resolve and so those changes might as well just go in
> through Michael's tree.  There was a series that adds hypervisor
> assistance for transactional memory, allowing KVM guests to use TM on
> POWER9 systems, and a series that disables use of data watchpoints on
> POWER9 because of hardware bugs.

Pulled, thanks.

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [GIT PULL] Please pull my kvm-ppc-next-4.18-1 tag
  2018-01-19  4:48 ` Paul Mackerras
                   ` (3 preceding siblings ...)
  (?)
@ 2018-06-04  1:27 ` Paul Mackerras
  -1 siblings, 0 replies; 24+ messages in thread
From: Paul Mackerras @ 2018-06-04  1:27 UTC (permalink / raw)
  To: kvm-ppc

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

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [GIT PULL] Please pull my kvm-ppc-next-4.18-2 tag
  2018-01-19  4:48 ` Paul Mackerras
                   ` (4 preceding siblings ...)
  (?)
@ 2018-06-13  5:51 ` Paul Mackerras
  -1 siblings, 0 replies; 24+ messages in thread
From: Paul Mackerras @ 2018-06-13  5:51 UTC (permalink / raw)
  To: kvm-ppc

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

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [GIT PULL] Please pull my kvm-ppc-next-4.18-1 tag
  2018-01-19  4:48 ` Paul Mackerras
                   ` (5 preceding siblings ...)
  (?)
@ 2018-06-13 16:22 ` Paolo Bonzini
  -1 siblings, 0 replies; 24+ messages in thread
From: Paolo Bonzini @ 2018-06-13 16:22 UTC (permalink / raw)
  To: kvm-ppc

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

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [GIT PULL] Please pull my kvm-ppc-next-4.18-1 tag
  2018-01-19  4:48 ` Paul Mackerras
                   ` (6 preceding siblings ...)
  (?)
@ 2018-06-13 21:52 ` Paul Mackerras
  -1 siblings, 0 replies; 24+ messages in thread
From: Paul Mackerras @ 2018-06-13 21:52 UTC (permalink / raw)
  To: kvm-ppc

On Wed, Jun 13, 2018 at 06:22:31PM +0200, Paolo Bonzini wrote:
> 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.
[snip]
> 
> Ouch, I missed this completely.  I'll send it to Linus tomorrow.

Thanks - please pull the kvm-ppc-next-4.18-2 tag; I added 6 more
commits with some recent small fixes.

Regards,
Paul.

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [GIT PULL] Please pull my kvm-ppc-next-4.19-1 tag
  2018-01-19  4:48 ` Paul Mackerras
                   ` (7 preceding siblings ...)
  (?)
@ 2018-07-31  5:56 ` Paul Mackerras
  -1 siblings, 0 replies; 24+ messages in thread
From: Paul Mackerras @ 2018-07-31  5:56 UTC (permalink / raw)
  To: kvm-ppc

Paolo or Radim,

Please do a pull from my kvm-ppc-next-4.19-1 tag to get a PPC update
for 4.19.  There is not much in there, just some code cleanups and bug
fixes.

Michael Ellerman also has some changes that touch arch/powerpc/kvm in
his topic/ppc-kvm branch, which he has merged into his next branch.  I
have not pulled them into my tree since there are no conflicts with
the changes in my kvm-ppc-next branch.

Thanks,
Paul.

The following changes since commit 6f0d349d922ba44e4348a17a78ea51b7135965b1:

  Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net (2018-06-25 15:58:17 +0800)

are available in the git repository at:

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

for you to fetch changes up to b5c6f7607b908b1445f2556c8d2f3b1ec5fc5aa8:

  KVM: PPC: Book3S HV: Read kvm->arch.emul_smt_mode under kvm->lock (2018-07-26 15:38:41 +1000)

----------------------------------------------------------------
PPC KVM update for 4.19.

This update adds no new features; it just has some minor code cleanups
and bug fixes, including a fix to allow us to create KVM_MAX_VCPUS
vCPUs on POWER9 in all CPU threading modes.

----------------------------------------------------------------
Alexey Kardashevskiy (1):
      KVM: PPC: Book3S: Fix matching of hardware and emulated TCE tables

Nicholas Mc Guire (2):
      KVM: PPC: Book3S HV: Add of_node_put() in success path
      KVM: PPC: Book3S HV: Fix constant size warning

Paul Mackerras (2):
      KVM: PPC: Book3S HV: Allow creating max number of VCPUs on POWER9
      KVM: PPC: Book3S HV: Read kvm->arch.emul_smt_mode under kvm->lock

Sam Bobroff (1):
      KVM: PPC: Book3S HV: Pack VCORE IDs to access full VCPU ID space

Simon Guo (1):
      KVM: PPC: Remove mmio_vsx_tx_sx_enabled in KVM MMIO emulation

 arch/powerpc/include/asm/kvm_book3s.h | 47 +++++++++++++++++++++++++++++++++++
 arch/powerpc/include/asm/kvm_host.h   | 26 +++++++++++--------
 arch/powerpc/include/asm/reg.h        |  2 +-
 arch/powerpc/kvm/book3s_64_vio.c      |  5 ++--
 arch/powerpc/kvm/book3s_hv.c          | 42 +++++++++++++++++++++----------
 arch/powerpc/kvm/book3s_xive.c        | 19 ++++++++------
 arch/powerpc/kvm/emulate_loadstore.c  |  7 +++---
 arch/powerpc/kvm/powerpc.c            | 30 +++++++++++-----------
 8 files changed, 125 insertions(+), 53 deletions(-)

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [GIT PULL] Please pull my kvm-ppc-next-4.19-1 tag
  2018-01-19  4:48 ` Paul Mackerras
                   ` (8 preceding siblings ...)
  (?)
@ 2018-08-02 11:56 ` Paolo Bonzini
  -1 siblings, 0 replies; 24+ messages in thread
From: Paolo Bonzini @ 2018-08-02 11:56 UTC (permalink / raw)
  To: kvm-ppc

On 31/07/2018 07:56, Paul Mackerras wrote:
>   git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc tags/kvm-ppc-next-4.19-1

Pulled, thanks.

Paolo

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [GIT PULL] Please pull my kvm-ppc-next-4.20-1 tag
  2018-01-19  4:48 ` Paul Mackerras
                   ` (9 preceding siblings ...)
  (?)
@ 2018-10-10  5:55 ` Paul Mackerras
  -1 siblings, 0 replies; 24+ messages in thread
From: Paul Mackerras @ 2018-10-10  5:55 UTC (permalink / raw)
  To: kvm-ppc

Paolo or Radim,

Please do a pull from my kvm-ppc-next-4.20-1 tag to get a PPC KVM
update for 4.20.  There is one big new feature here, which is nested
virtualization support for radix guests on POWER9, plus a few other
fixes and improvements.

A lot of the commits here are also going to be merged in the powerpc
tree via the topic/ppc-kvm branch, in order to reduce conflicts
between the powerpc tree and the kvm tree.

Stephen Rothwell noted that there is a conflict between my
kvm-ppc-next tree and the kvm-arm tree, in that we have both allocated
the next free capability number (160).  It would be nice to get a
stable allocation for the new capability that I need (one which
reports/enables nested virtualization support for the HV KVM module)
so that the necessary QEMU patches can be submitted.

Thanks,
Paul.

The following changes since commit dd5bd0a65ff6f22a32b35ca3fa1bcf7a6bc7104f:

  Merge tag 'kvm-s390-next-4.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD (2018-10-04 17:12:45 +0200)

are available in the git repository at:

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

for you to fetch changes up to 901f8c3f6feb0225c14b3bc6237850fb921d2f2d:

  KVM: PPC: Book3S HV: Add NO_HASH flag to GET_SMMU_INFO ioctl result (2018-10-09 16:14:54 +1100)

----------------------------------------------------------------
PPC KVM update for 4.20.

The major new feature here is nested HV KVM support.  This allows the
HV KVM module to load inside a radix guest on POWER9 and run radix
guests underneath it.  These nested guests can run in supervisor mode
and don't require any additional instructions to be emulated, unlike
with PR KVM, and so performance is much better than with PR KVM, and
is very close to the performance of a non-nested guest.  A nested
hypervisor (a guest with nested guests) can be migrated to another
host and will bring all its nested guests along with it.  A nested
guest can also itself run guests, and so on down to any desired depth
of nesting.

Apart from that there are a series of updates for IOMMU handling from
Alexey Kardashevskiy, a "one VM per core" mode for HV KVM for
security-paranoid applications, and a small fix for PR KVM.

----------------------------------------------------------------
Alexey Kardashevskiy (5):
      KVM: PPC: Validate all tces before updating tables
      KVM: PPC: Inform the userspace about TCE update failures
      KVM: PPC: Validate TCEs against preregistered memory page sizes
      KVM: PPC: Propagate errors to the guest when failed instead of ignoring
      KVM: PPC: Remove redundand permission bits removal

Cameron Kaiser (1):
      KVM: PPC: Book3S PR: Exiting split hack mode needs to fixup both PC and LR

Michael Ellerman (1):
      Merge branch 'kvm-ppc-fixes' of paulus/powerpc into topic/ppc-kvm

Paul Mackerras (26):
      KVM: PPC: Book3S HV: Provide mode where all vCPUs on a core must be the same VM
      powerpc: Turn off CPU_FTR_P9_TM_HV_ASSIST in non-hypervisor mode
      KVM: PPC: Book3S: Simplify external interrupt handling
      KVM: PPC: Book3S HV: Remove left-over code in XICS-on-XIVE emulation
      KVM: PPC: Book3S HV: Move interrupt delivery on guest entry to C code
      KVM: PPC: Book3S HV: Extract PMU save/restore operations as C-callable functions
      KVM: PPC: Book3S HV: Simplify real-mode interrupt handling
      KVM: PPC: Book3S: Rework TM save/restore code and make it C-callable
      KVM: PPC: Book3S HV: Call kvmppc_handle_exit_hv() with vcore unlocked
      KVM: PPC: Book3S HV: Streamlined guest entry/exit path on P9 for radix guests
      KVM: PPC: Book3S HV: Handle hypervisor instruction faults better
      KVM: PPC: Book3S HV: Add a debugfs file to dump radix mappings
      KVM: PPC: Use ccr field in pt_regs struct embedded in vcpu struct
      KVM: PPC: Book3S HV: Use kvmppc_unmap_pte() in kvm_unmap_radix()
      KVM: PPC: Book3S HV: Framework and hcall stubs for nested virtualization
      KVM: PPC: Book3S HV: Nested guest entry via hypercall
      KVM: PPC: Book3S HV: Use XICS hypercalls when running as a nested hypervisor
      KVM: PPC: Book3S HV: Handle hypercalls correctly when nested
      KVM: PPC: Book3S HV: Use hypercalls for TLB invalidation when nested
      KVM: PPC: Book3S HV: Don't access HFSCR, LPIDR or LPCR when running nested
      KVM: PPC: Book3S HV: Add one-reg interface to virtual PTCR register
      KVM: PPC: Book3S HV: Allow HV module to load without hypervisor mode
      KVM: PPC: Book3S HV: Add nested shadow page tables to debugfs
      Merge remote-tracking branch 'remotes/powerpc/topic/ppc-kvm' into kvm-ppc-next
      KVM: PPC: Book3S HV: Add a VM capability to enable nested virtualization
      KVM: PPC: Book3S HV: Add NO_HASH flag to GET_SMMU_INFO ioctl result

Suraj Jitindar Singh (9):
      KVM: PPC: Book3S HV: Clear partition table entry on vm teardown
      KVM: PPC: Book3S HV: Make kvmppc_mmu_radix_xlate process/partition table agnostic
      KVM: PPC: Book3S HV: Refactor radix page fault handler
      KVM: PPC: Book3S HV: Handle page fault for a nested guest
      KVM: PPC: Book3S HV: Introduce rmap to track nested guest mappings
      KVM: PPC: Book3S HV: Implement H_TLB_INVALIDATE hcall
      KVM: PPC: Book3S HV: Invalidate TLB when nested vcpu moves physical cpu
      KVM: PPC: Book3S HV: Sanitise hv_regs on nested guest entry
      KVM: PPC: Book3S HV: Handle differing endianness for H_ENTER_NESTED

 Documentation/virtual/kvm/api.txt                  |   19 +
 arch/powerpc/include/asm/asm-prototypes.h          |   21 +
 arch/powerpc/include/asm/book3s/64/mmu-hash.h      |   12 +
 .../powerpc/include/asm/book3s/64/tlbflush-radix.h |    1 +
 arch/powerpc/include/asm/hvcall.h                  |   41 +
 arch/powerpc/include/asm/kvm_asm.h                 |    4 +-
 arch/powerpc/include/asm/kvm_book3s.h              |   45 +-
 arch/powerpc/include/asm/kvm_book3s_64.h           |  118 +-
 arch/powerpc/include/asm/kvm_book3s_asm.h          |    3 +
 arch/powerpc/include/asm/kvm_booke.h               |    4 +-
 arch/powerpc/include/asm/kvm_host.h                |   16 +-
 arch/powerpc/include/asm/kvm_ppc.h                 |    8 +-
 arch/powerpc/include/asm/ppc-opcode.h              |    1 +
 arch/powerpc/include/asm/reg.h                     |    2 +
 arch/powerpc/include/uapi/asm/kvm.h                |    1 +
 arch/powerpc/kernel/asm-offsets.c                  |    5 +-
 arch/powerpc/kernel/cpu_setup_power.S              |    4 +-
 arch/powerpc/kvm/Makefile                          |    3 +-
 arch/powerpc/kvm/book3s.c                          |   46 +-
 arch/powerpc/kvm/book3s_64_mmu_hv.c                |    7 +-
 arch/powerpc/kvm/book3s_64_mmu_radix.c             |  718 ++++++++---
 arch/powerpc/kvm/book3s_64_vio.c                   |   89 +-
 arch/powerpc/kvm/book3s_64_vio_hv.c                |   81 +-
 arch/powerpc/kvm/book3s_emulate.c                  |   13 +-
 arch/powerpc/kvm/book3s_hv.c                       |  864 ++++++++++++-
 arch/powerpc/kvm/book3s_hv_builtin.c               |   92 +-
 arch/powerpc/kvm/book3s_hv_interrupts.S            |   95 +-
 arch/powerpc/kvm/book3s_hv_nested.c                | 1291 ++++++++++++++++++++
 arch/powerpc/kvm/book3s_hv_ras.c                   |   10 +
 arch/powerpc/kvm/book3s_hv_rm_xics.c               |   13 +-
 arch/powerpc/kvm/book3s_hv_rmhandlers.S            |  823 +++++++------
 arch/powerpc/kvm/book3s_hv_tm.c                    |    6 +-
 arch/powerpc/kvm/book3s_hv_tm_builtin.c            |    5 +-
 arch/powerpc/kvm/book3s_pr.c                       |    5 +-
 arch/powerpc/kvm/book3s_xics.c                     |   14 +-
 arch/powerpc/kvm/book3s_xive.c                     |   63 +
 arch/powerpc/kvm/book3s_xive_template.c            |    8 -
 arch/powerpc/kvm/bookehv_interrupts.S              |    8 +-
 arch/powerpc/kvm/emulate_loadstore.c               |    1 -
 arch/powerpc/kvm/powerpc.c                         |   15 +-
 arch/powerpc/kvm/tm.S                              |  250 ++--
 arch/powerpc/kvm/trace_book3s.h                    |    1 -
 arch/powerpc/mm/tlb-radix.c                        |    9 +
 include/uapi/linux/kvm.h                           |    2 +
 tools/perf/arch/powerpc/util/book3s_hv_exits.h     |    1 -
 45 files changed, 3933 insertions(+), 905 deletions(-)
 create mode 100644 arch/powerpc/kvm/book3s_hv_nested.c

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [GIT PULL] Please pull my kvm-ppc-next-4.20-1 tag
  2018-01-19  4:48 ` Paul Mackerras
                   ` (10 preceding siblings ...)
  (?)
@ 2018-10-10 16:38 ` Paolo Bonzini
  -1 siblings, 0 replies; 24+ messages in thread
From: Paolo Bonzini @ 2018-10-10 16:38 UTC (permalink / raw)
  To: kvm-ppc

On 10/10/2018 07:55, Paul Mackerras wrote:
> 
> Stephen Rothwell noted that there is a conflict between my
> kvm-ppc-next tree and the kvm-arm tree, in that we have both allocated
> the next free capability number (160).  It would be nice to get a
> stable allocation for the new capability that I need (one which
> reports/enables nested virtualization support for the HV KVM module)
> so that the necessary QEMU patches can be submitted.

Since you sent the pull request first, you get to use 160. :)

Paolo

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [GIT PULL] Please pull my kvm-ppc-next-4.20-2 tag
  2018-01-19  4:48 ` Paul Mackerras
                   ` (11 preceding siblings ...)
  (?)
@ 2018-10-20 10:53 ` Paul Mackerras
  -1 siblings, 0 replies; 24+ messages in thread
From: Paul Mackerras @ 2018-10-20 10:53 UTC (permalink / raw)
  To: kvm-ppc

Paolo or Radim,

Please do a pull from my kvm-ppc-next-4.20-2 tag to get a second
update for PPC KVM to go into 4.20.  This is a very small update, with
only two commits.  It turned out to be necessary to disable the new
nested HV KVM feature on early POWER9 chips that need a particular
hardware bug workaround which the new guest entry path doesn't
implement, so one commit does that.  The other commit is an
optimization for clearing IOMMU tables when doing PCI pass-through.

The second commit touches drivers/vfio/vfio_iommu_spapr_tce.c as well
as arch/powerpc/kvm code.  That should be OK, as Alexey Kardashevskiy
is pretty much the only person that touches that file.  However, if
you would prefer that part of the change to go via another tree, let
me know and I'll re-do the pull request without that commit (or you
can just merge the other commit on its own).

Thanks,
Paul.

The following changes since commit 3d0d0d9b1d805e39456a9d49443d847092cb21ab:

  Merge tag 'kvm-s390-next-4.20-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD (2018-10-13 12:00:26 +0200)

are available in the git repository at:

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

for you to fetch changes up to 6e301a8e56e429d6b01d83d427a9e54fdbb0fa60:

  KVM: PPC: Optimize clearing TCEs for sparse tables (2018-10-20 20:47:02 +1100)

----------------------------------------------------------------
Second PPC KVM update for 4.20.

Two commits; one is an optimization for PCI pass-through, and the
other disables nested HV-KVM on early POWER9 chips that need a
particular hardware bug workaround.

----------------------------------------------------------------
Alexey Kardashevskiy (1):
      KVM: PPC: Optimize clearing TCEs for sparse tables

Paul Mackerras (1):
      KVM: PPC: Book3S HV: Don't use streamlined entry path on early POWER9 chips

 arch/powerpc/include/asm/iommu.h    |  2 +-
 arch/powerpc/kvm/book3s_64_vio.c    |  5 ++---
 arch/powerpc/kvm/book3s_64_vio_hv.c |  6 +++---
 arch/powerpc/kvm/book3s_hv.c        | 13 +++++++++++--
 drivers/vfio/vfio_iommu_spapr_tce.c | 23 +++++++++++++++++++++--
 5 files changed, 38 insertions(+), 11 deletions(-)


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [GIT PULL] Please pull my kvm-ppc-next-4.20-2 tag
  2018-01-19  4:48 ` Paul Mackerras
                   ` (12 preceding siblings ...)
  (?)
@ 2018-10-21  9:47 ` Paolo Bonzini
  -1 siblings, 0 replies; 24+ messages in thread
From: Paolo Bonzini @ 2018-10-21  9:47 UTC (permalink / raw)
  To: kvm-ppc

On 20/10/2018 12:53, Paul Mackerras wrote:
>   git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc tags/kvm-ppc-next-4.20-2

Pulled, thanks.

Paolo

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [GIT PULL] Please pull my kvm-ppc-next-4.21-1 tag
  2018-01-19  4:48 ` Paul Mackerras
                   ` (13 preceding siblings ...)
  (?)
@ 2018-12-18  3:05 ` Paul Mackerras
  -1 siblings, 0 replies; 24+ messages in thread
From: Paul Mackerras @ 2018-12-18  3:05 UTC (permalink / raw)
  To: kvm-ppc

Paolo or Radim,

Please do a pull from my kvm-ppc-next-4.21-1 tag to get a PPC KVM
update for 4.21.  The main new thing this time is an improvement to
the nested HV KVM code so that if you have a nested hypervisor that
has a PCI device which is actually emulated by the level 0 hypervisor,
level 1 can pass that through to level 2 using VFIO and the accesses
to the device by level 2 will be emulated by level 0 and the results
passed down to level 2 correctly.

Thanks,
Paul.

The following changes since commit fd65d3142f734bc4376053c8d75670041903134d:

  kvm: svm: Ensure an IBPB on all affected CPUs when freeing a vmcb (2018-11-27 12:50:42 +0100)

are available in the git repository at:

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

for you to fetch changes up to 95d386c2d2e7660a6447df1507a9845665dab7d8:

  KVM: PPC: Book3S HV: Allow passthrough of an emulated device to an L3 guest (2018-12-17 11:33:50 +1100)

----------------------------------------------------------------
PPC KVM update for 4.21

The main new feature this time is support in HV nested KVM for passing
a device that is emulated by a level 0 hypervisor and presented to
level 1 as a PCI device through to a level 2 guest using VFIO.

Apart from that there are improvements for migration of radix guests
under HV KVM and some other fixes and cleanups.

----------------------------------------------------------------
Bharata B Rao (1):
      KVM: PPC: Pass change type down to memslot commit function

Paul Mackerras (4):
      KVM: PPC: Book3S HV: Fix race between kvm_unmap_hva_range and MMU mode switch
      KVM: PPC: Book3S HV: Map single pages when doing dirty page logging
      KVM: PPC: Book3S HV: Cleanups - constify memslots, fix comments
      KVM: PPC: Book3S HV: Flush guest mappings when turning dirty tracking on/off

Suraj Jitindar Singh (9):
      KVM: PPC: Book3S PR: Set hflag to indicate that POWER9 supports 1T segments
      KVM: PPC: Book3S: Only report KVM_CAP_SPAPR_TCE_VFIO on powernv machines
      KVM: PPC: Book3S HV: Add function kvmhv_vcpu_is_radix()
      KVM: PPC: Book3S HV: Implement functions to access quadrants 1 & 2
      KVM: PPC: Add load_from_eaddr and store_to_eaddr to the kvmppc_ops struct
      KVM: PPC: Update kvmppc_st and kvmppc_ld to use quadrants
      KVM: PPC: Book3S HV: Allow passthrough of an emulated device to an L2 guest
      KVM: PPC: Book3S: Introduce new hcall H_COPY_TOFROM_GUEST to access quadrants 1 & 2
      KVM: PPC: Book3S HV: Allow passthrough of an emulated device to an L3 guest

Yangtao Li (1):
      KVM: PPC: Book3S HV: Change to use DEFINE_SHOW_ATTRIBUTE macro

 arch/powerpc/include/asm/hvcall.h        |   1 +
 arch/powerpc/include/asm/kvm_book3s.h    |  21 +++--
 arch/powerpc/include/asm/kvm_book3s_64.h |  15 +++-
 arch/powerpc/include/asm/kvm_host.h      |   3 +
 arch/powerpc/include/asm/kvm_ppc.h       |  10 ++-
 arch/powerpc/kernel/exceptions-64s.S     |   9 +++
 arch/powerpc/kvm/book3s.c                |   5 +-
 arch/powerpc/kvm/book3s_64_mmu_hv.c      |  12 ++-
 arch/powerpc/kvm/book3s_64_mmu_radix.c   | 134 +++++++++++++++++++++++++++++--
 arch/powerpc/kvm/book3s_hv.c             |  95 +++++++++++++++++++---
 arch/powerpc/kvm/book3s_hv_nested.c      | 116 ++++++++++++++++++++++++--
 arch/powerpc/kvm/book3s_hv_rm_mmu.c      |   2 +-
 arch/powerpc/kvm/book3s_pr.c             |   4 +-
 arch/powerpc/kvm/book3s_xics.c           |  12 +--
 arch/powerpc/kvm/book3s_xive.c           |  12 +--
 arch/powerpc/kvm/booke.c                 |   3 +-
 arch/powerpc/kvm/powerpc.c               |  33 +++++++-
 arch/powerpc/mm/fault.c                  |   1 +
 18 files changed, 418 insertions(+), 70 deletions(-)

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [GIT PULL] Please pull my kvm-ppc-next-4.21-1 tag
  2018-01-19  4:48 ` Paul Mackerras
                   ` (14 preceding siblings ...)
  (?)
@ 2018-12-20 13:58 ` Radim Krčmář
  -1 siblings, 0 replies; 24+ messages in thread
From: Radim Krčmář @ 2018-12-20 13:58 UTC (permalink / raw)
  To: kvm-ppc

2018-12-18 14:05+1100, Paul Mackerras:
> Paolo or Radim,
> 
> Please do a pull from my kvm-ppc-next-4.21-1 tag to get a PPC KVM
> update for 4.21.  The main new thing this time is an improvement to
> the nested HV KVM code so that if you have a nested hypervisor that
> has a PCI device which is actually emulated by the level 0 hypervisor,
> level 1 can pass that through to level 2 using VFIO and the accesses
> to the device by level 2 will be emulated by level 0 and the results
> passed down to level 2 correctly.

Pulled, thanks.

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [GIT PULL] Please pull my kvm-ppc-next-4.21-2 tag
  2018-01-19  4:48 ` Paul Mackerras
                   ` (15 preceding siblings ...)
  (?)
@ 2018-12-21  4:24 ` Paul Mackerras
  -1 siblings, 0 replies; 24+ messages in thread
From: Paul Mackerras @ 2018-12-21  4:24 UTC (permalink / raw)
  To: kvm-ppc

Paolo or Radim,

Thanks for pulling the previous set of commits for 4.21.  Suraj
Jitindar Singh has just fixed several bugs in the page dirty tracking
for nested guests, and it seems worth while to try to get his series
in for 4.21.  So please do a pull from my tree again to get this patch
series.

Thanks,
Paul.

The following changes since commit 95d386c2d2e7660a6447df1507a9845665dab7d8:

  KVM: PPC: Book3S HV: Allow passthrough of an emulated device to an L3 guest (2018-12-17 11:33:50 +1100)

are available in the git repository at:

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

for you to fetch changes up to ae59a7e1945bc2245bbb587071ca737e00daf443:

  KVM: PPC: Book3S HV: Keep rc bits in shadow pgtable in sync with host (2018-12-21 14:42:07 +1100)

----------------------------------------------------------------
Second PPC KVM update for 4.21

This has 5 commits that fix page dirty tracking when running nested
HV KVM guests, from Suraj Jitindar Singh.

----------------------------------------------------------------
Suraj Jitindar Singh (5):
      KVM: PPC: Book3S HV: Hold kvm->mmu_lock across updating nested pte rc bits
      KVM: PPC: Book3S HV: Align gfn to L1 page size when inserting nest-rmap entry
      KVM: PPC: Book3S HV: Apply combination of host and l1 pte rc for nested guest
      KVM: PPC: Book3S HV: Introduce kvmhv_update_nest_rmap_rc_list()
      KVM: PPC: Book3S HV: Keep rc bits in shadow pgtable in sync with host

 arch/powerpc/include/asm/kvm_book3s.h    |  2 +
 arch/powerpc/include/asm/kvm_book3s_64.h |  3 ++
 arch/powerpc/kvm/book3s_64_mmu_radix.c   | 26 ++++++++---
 arch/powerpc/kvm/book3s_hv_nested.c      | 74 +++++++++++++++++++++++++++++---
 4 files changed, 93 insertions(+), 12 deletions(-)

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [GIT PULL] Please pull my kvm-ppc-next-4.21-2 tag
  2018-01-19  4:48 ` Paul Mackerras
                   ` (16 preceding siblings ...)
  (?)
@ 2018-12-21 10:48 ` Paolo Bonzini
  -1 siblings, 0 replies; 24+ messages in thread
From: Paolo Bonzini @ 2018-12-21 10:48 UTC (permalink / raw)
  To: kvm-ppc

On 21/12/18 05:24, Paul Mackerras wrote:
>   git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc tags/kvm-ppc-next-4.21-2

No problem---pulled now.

Paolo

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2018-12-21 10:48 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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 ` [GIT PULL] Please pull my kvm-ppc-next-4.18-2 tag Paul Mackerras
2018-06-13 16:22 ` [GIT PULL] Please pull my kvm-ppc-next-4.18-1 tag 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ář

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.