qemu/target-ppc
David Gibson fa48b4328c target-ppc: Remove hack for ppc_hash64_load_hpte*() with HV KVM
With HV KVM, the guest's hash page table (HPT) is managed by the kernel and
not directly accessible to QEMU.  This means that spapr->htab is NULL
and normally env->external_htab would also be NULL for each cpu.

However, that would cause ppc_hash64_load_hpte*() to do the wrong thing in
the few cases where QEMU does need to load entries from the in-kernel HPT.
Specifically, seeing external_htab is NULL, they would look for an HPT
within the guest's address space instead.

To stop that we have an ugly hack in the pseries machine type code to
set external htab to (void *)1 instead.

This patch removes that hack by having ppc_hash64_load_hpte*() explicitly
check kvmppc_kern_htab instead, which makes more sense.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Alexey Kardashevskiy <aik@ozlabs.ru>
2016-02-17 09:59:30 +11:00
..
arch_dump.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
cpu-models.c target-ppc: Use sensible POWER8/POWER8E versions 2016-01-30 23:36:16 +11:00
cpu-models.h target-ppc: Use sensible POWER8/POWER8E versions 2016-01-30 23:36:16 +11:00
cpu-qom.h dump: qemunotes aren't commonly needed 2016-01-15 14:40:24 +00:00
cpu.h target-ppc: mcrfs should always update FEX/VX and only clear exception bits 2016-02-01 13:27:01 +11:00
dfp_helper.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
excp_helper.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
fpu_helper.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
gdbstub.c target-ppc: rename and export maybe_bswap_register() 2016-01-30 23:37:37 +11:00
helper_regs.h PPC: Only enter MSR_POW when no interrupts pending 2014-04-08 11:20:05 +02:00
helper.h target-ppc: Split 44x tlbiva from ppc_tlb_invalidate_one() 2016-01-30 23:49:26 +11:00
int_helper.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
kvm_ppc.h target-ppc: Remove unused kvmppc_update_sdr1() stub 2016-02-17 09:59:29 +11:00
kvm-stub.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
kvm.c target-ppc: Rework ppc_store_slb 2016-01-30 23:37:38 +11:00
machine.c target-ppc: Rework SLB page size lookup 2016-01-30 23:37:38 +11:00
Makefile.objs kvm_ppc: remove kvmppc_timer_hack 2015-09-20 22:48:38 +02:00
mem_helper.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
mfrom_table_gen.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
mfrom_table.c
misc_helper.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
mmu_helper.c log: do not unnecessarily include qom/cpu.h 2016-02-03 09:19:10 +00:00
mmu-hash32.c log: do not unnecessarily include qom/cpu.h 2016-02-03 09:19:10 +00:00
mmu-hash32.h target-ppc: Convert mmu-hash{32,64}.[ch] from CPUPPCState to PowerPCCPU 2016-01-30 23:37:38 +11:00
mmu-hash64.c log: do not unnecessarily include qom/cpu.h 2016-02-03 09:19:10 +00:00
mmu-hash64.h target-ppc: Remove hack for ppc_hash64_load_hpte*() with HV KVM 2016-02-17 09:59:30 +11:00
monitor.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
STATUS target-ppc: remove powerpc 970gx 2014-03-05 03:06:23 +01:00
timebase_helper.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
translate_init.c qom: Swap 'name' next to visitor in ObjectPropertyAccessor 2016-02-08 17:29:56 +01:00
translate.c target-ppc: Include missing MMU models for SDR1 in info registers 2016-02-17 09:59:30 +11:00
user_only_helper.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00