[Qemu-devel] [PATCHv2 0/9] Cleanups to handling of hash MMU

David Gibson posted 9 patches 7 years ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20170227051239.2680-1-david@gibson.dropbear.id.au
Test checkpatch passed
Test docker passed
Test s390x passed
hw/ppc/spapr.c              |  60 ++++++++++++++
hw/ppc/spapr_cpu_core.c     |  20 ++++-
hw/ppc/spapr_hcall.c        |  89 ++++++++++----------
target/ppc/cpu.h            |  27 +++----
target/ppc/kvm.c            | 128 ++++++++++++++---------------
target/ppc/kvm_ppc.h        |  20 ++---
target/ppc/machine.c        |   5 +-
target/ppc/misc_helper.c    |   8 +-
target/ppc/mmu-hash32.c     |  14 ++--
target/ppc/mmu-hash32.h     |  34 ++++----
target/ppc/mmu-hash64.c     | 193 ++++++++++++++++----------------------------
target/ppc/mmu-hash64.h     |  65 ++++++++-------
target/ppc/mmu_helper.c     |  51 +++++++-----
target/ppc/translate_init.c |  30 ++++---
14 files changed, 379 insertions(+), 365 deletions(-)
[Qemu-devel] [PATCHv2 0/9] Cleanups to handling of hash MMU
Posted by David Gibson 7 years ago
This series has an assortment of cleanups to the handling of the hash
based MMU for 64-bit ppc machines.  In particular it better handles
the case of "external" hash table - this is used on the pseries
machine type, which being a paravirtualized platform has the hashed
page table - along with other hypervisor resources - outside the
direct reach of the guest OS.  This series integrates the handling of
the external HPT with the externalized handling of hypercalls via the
"virtual hypervisor" mechanism.

These cleanups are expected to make integrating the new MMU model for
POWER9 easier; in particular dealing with both the new POWER9 radix
MMU and also the POWER9 legacy hash compatibility mode.

This series is based on my current ppc-for-2.9 branch.

Changes in v2:
  * Assorted cleanups based on review comments
  * Realized that the existing KVM HPT access code was broken,
    prepended a fix for that
  * Folded in a patch from Suraj with further cleanup of SDR1
    management
  * Added an extra patch with yet more cleanup, and a small fix to
    SDR1 masking

David Gibson (8):
  target/ppc: Fix KVM-HV HPTE accessors
  pseries: Minor cleanups to HPT management hypercalls
  target/ppc: Merge cpu_ppc_set_vhyp() with cpu_ppc_set_papr()
  target/ppc: SDR1 is a hypervisor resource
  target/ppc: Cleanup HPTE accessors for 64-bit hash MMU
  target/ppc: Eliminate htab_base and htab_mask variables
  target/ppc: Manage external HPT via virtual hypervisor
  target/ppc: Correct SDR1 masking

Suraj Jitindar Singh (1):
  target/ppc: Remove the function ppc_hash64_set_sdr1()

 hw/ppc/spapr.c              |  60 ++++++++++++++
 hw/ppc/spapr_cpu_core.c     |  20 ++++-
 hw/ppc/spapr_hcall.c        |  89 ++++++++++----------
 target/ppc/cpu.h            |  27 +++----
 target/ppc/kvm.c            | 128 ++++++++++++++---------------
 target/ppc/kvm_ppc.h        |  20 ++---
 target/ppc/machine.c        |   5 +-
 target/ppc/misc_helper.c    |   8 +-
 target/ppc/mmu-hash32.c     |  14 ++--
 target/ppc/mmu-hash32.h     |  34 ++++----
 target/ppc/mmu-hash64.c     | 193 ++++++++++++++++----------------------------
 target/ppc/mmu-hash64.h     |  65 ++++++++-------
 target/ppc/mmu_helper.c     |  51 +++++++-----
 target/ppc/translate_init.c |  30 ++++---
 14 files changed, 379 insertions(+), 365 deletions(-)

-- 
2.9.3