Hello, This adds support for the Hash Page Table MMU mode on POWER9 PowerNV machines. The Radix Tree mode support for the host is still to be done but we are getting close.
Thanks, C. Changes since v2: - extended PPCVirtualHypervisor interface to export the external HPT - added an assert on MMU model in ppc_store_ptcr() - reworked ppc_hash64_hpt_reg() to cover only powernv machines. pseries machines being handled with cpu->vhyp at the ppc_hash64_hpt_base() level. - reworked ppc64_v3_radix() to distinguish pseries machine from powernv machines Changes since v1: - introduced ppc64_v3_get_patbe0() - renamed ppc64_radix() in ppc64_v3_radix() - renamed partition table definitions to match ISA - moved definitions under mmu-book3s-v3.h Cédric Le Goater (4): target/ppc: export external HPT via virtual hypervisor target/ppc: add basic support for PTCR on POWER9 target/ppc: add hash MMU support on POWER9 for PowerNV only target/ppc: generalize check on radix when in HV mode hw/ppc/spapr.c | 8 +++++++ hw/ppc/spapr_hcall.c | 5 +++-- target/ppc/cpu.h | 3 +++ target/ppc/helper.h | 1 + target/ppc/misc_helper.c | 12 +++++++++++ target/ppc/mmu-book3s-v3.c | 23 ++++++++++++++++++-- target/ppc/mmu-book3s-v3.h | 15 ++++++++++++- target/ppc/mmu-hash64.c | 52 +++++++++++++++++++++++++++++++++++++-------- target/ppc/mmu-hash64.h | 39 ++++++++++++++++++++++++++++++++-- target/ppc/mmu_helper.c | 33 ++++++++++++++++++++++++++-- target/ppc/translate.c | 3 +++ target/ppc/translate_init.c | 18 ++++++++++++++++ 12 files changed, 194 insertions(+), 18 deletions(-) -- 2.13.6