qemu-patch-raspberry4/target/ppc
David Gibson ad99d04c76 target/ppc: Allow cpu compatiblity checks based on type, not instance
ppc_check_compat() is used in a number of places to check if a cpu object
supports a certain compatiblity mode, subject to various constraints.

It takes a PowerPCCPU *, however it really only depends on the cpu's class.
We have upcoming cases where it would be useful to make compatibility
checks before we fully instantiate the cpu objects.

ppc_type_check_compat() will now make an equivalent check, but based on a
CPU's QOM typename instead of an instantiated CPU object.

We make use of the new interface in several places in spapr, where we're
essentially making a global check, rather than one specific to a particular
cpu.  This avoids some ugly uses of first_cpu to grab a "representative"
instance.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Greg Kurz <groug@kaod.org>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
2018-06-21 21:22:53 +10:00
..
translate
arch_dump.c
compat.c target/ppc: Allow cpu compatiblity checks based on type, not instance 2018-06-21 21:22:53 +10:00
cpu-models.c
cpu-models.h
cpu-qom.h target/ppc: Get rid of POWERPC_MMU_VER() macros 2018-04-27 18:05:22 +10:00
cpu.c
cpu.h target/ppc: Allow cpu compatiblity checks based on type, not instance 2018-06-21 21:22:53 +10:00
dfp_helper.c
excp_helper.c
fpu_helper.c fpu/softfloat: Specialize on snan_bit_is_one 2018-05-17 15:27:15 -07:00
gdbstub.c ppc: Fix size of ppc64 xer register 2018-04-27 18:05:22 +10:00
helper.h target/ppc: Allow privileged access to SPR_PCR 2018-06-12 09:33:52 +10:00
helper_regs.h target/ppc: Include "exec/exec-all.h" which provides tlb_flush() 2018-05-31 19:12:13 +02:00
int_helper.c target: Do not include "exec/exec-all.h" if it is not necessary 2018-06-01 14:15:10 +02:00
internal.h
kvm-stub.c
kvm.c target/ppc, spapr: Move VPA information to machine_data 2018-06-16 16:32:50 +10:00
kvm_ppc.h spapr: Remove support for explicitly allocated RMAs 2018-05-04 11:15:18 +10:00
machine.c ppc: Rename 2.13 machines to 3.0 2018-05-29 11:28:46 +01:00
Makefile.objs
mem_helper.c
mfrom_table.inc.c rename included C files to foo.inc.c, remove osdep.h 2018-05-11 14:33:40 +02:00
mfrom_table_gen.c
misc_helper.c target/ppc: Allow privileged access to SPR_PCR 2018-06-12 09:33:52 +10:00
mmu-book3s-v3.c
mmu-book3s-v3.h target/ppc: add basic support for PTCR on POWER9 2018-05-04 09:56:27 +10:00
mmu-hash32.c
mmu-hash32.h
mmu-hash64.c Make address_space_map() take a MemTxAttrs argument 2018-05-31 16:32:35 +01:00
mmu-hash64.h target/ppc: Add ppc_store_lpcr() helper 2018-05-04 11:15:19 +10:00
mmu-radix64.c
mmu-radix64.h
mmu_helper.c target/ppc: add basic support for PTCR on POWER9 2018-05-04 09:56:27 +10:00
monitor.c
timebase_helper.c
trace-events
translate.c target/ppc: extend eieio for POWER9 2018-06-12 10:44:36 +10:00
translate_init.inc.c target/ppc, spapr: Move VPA information to machine_data 2018-06-16 16:32:50 +10:00
user_only_helper.c