[Qemu-devel] [PATCH 0/6] Cleanups to handling of hash MMU

David Gibson posted 6 patches 7 years, 1 month ago
Failed in applying to current master (apply log)
hw/ppc/spapr.c              |  58 +++++++++++++++
hw/ppc/spapr_cpu_core.c     |  20 ++++-
hw/ppc/spapr_hcall.c        |  89 +++++++++++-----------
target/ppc/cpu.h            |  24 +++---
target/ppc/kvm.c            |  27 +++----
target/ppc/kvm_ppc.h        |  43 +++++------
target/ppc/machine.c        |   5 +-
target/ppc/misc_helper.c    |   8 +-
target/ppc/mmu-hash32.c     |  14 ++--
target/ppc/mmu-hash32.h     |  32 ++++----
target/ppc/mmu-hash64.c     | 177 ++++++++++++++++++--------------------------
target/ppc/mmu-hash64.h     |  66 +++++++++--------
target/ppc/mmu_helper.c     |  34 +++++----
target/ppc/translate_init.c |  30 +++++---
14 files changed, 332 insertions(+), 295 deletions(-)
[Qemu-devel] [PATCH 0/6] Cleanups to handling of hash MMU
Posted by David Gibson 7 years, 1 month 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, which I've just
sent a pull request for.

David Gibson (6):
  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

 hw/ppc/spapr.c              |  58 +++++++++++++++
 hw/ppc/spapr_cpu_core.c     |  20 ++++-
 hw/ppc/spapr_hcall.c        |  89 +++++++++++-----------
 target/ppc/cpu.h            |  24 +++---
 target/ppc/kvm.c            |  27 +++----
 target/ppc/kvm_ppc.h        |  43 +++++------
 target/ppc/machine.c        |   5 +-
 target/ppc/misc_helper.c    |   8 +-
 target/ppc/mmu-hash32.c     |  14 ++--
 target/ppc/mmu-hash32.h     |  32 ++++----
 target/ppc/mmu-hash64.c     | 177 ++++++++++++++++++--------------------------
 target/ppc/mmu-hash64.h     |  66 +++++++++--------
 target/ppc/mmu_helper.c     |  34 +++++----
 target/ppc/translate_init.c |  30 +++++---
 14 files changed, 332 insertions(+), 295 deletions(-)

-- 
2.9.3