xemu/target-ppc
Alexey Kardashevskiy 03ae4133ab target-ppc: Add pvr_match() callback
So far it was enough to have a base PVR value and mask per CPU
family such as POWER7 or POWER8. However there CPUs which are
completely architecturally compatible but have different PVRs such
as POWER7/POWER7+ and POWER8/POWER8E. For these CPUs, top 16 bits
are CPU family and low 16 bits are the version. The families have
PVR base values different enough so defining a mask which
would cover both (or potentially more) CPUs within the family is
not possible.

This adds a pvr_match() callback to PowerPCCPUClass. The default
handler simply compares PVR defined in the class.

This implements ppc_pvr_match_power7/ppc_pvr_match_power8 callbacks
for POWER7/8 families. These check for POWER7/POWER7+ and POWER8/POWER8E.

This changes ppc_cpu_compare_class_pvr_mask() not to check masks but
use the pvr_match() callback.

Since all server CPUs use the same mask, this defines one mask
value - CPU_POWERPC_POWER_SERVER_MASK - which is used everywhere now.
This removes other mask definitions.

This removes pvr_mask from PowerPCCPUClass as it is not used anymore.
This removes pvr initialization for POWER7/8 families as it is not used
to find the class, the pvr_match() callback is used instead.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: Alexander Graf <agraf@suse.de>
2014-07-08 12:10:36 +02:00
..
arch_dump.c target-ppc: Set the correct endianness in ELF dump header 2014-06-16 13:24:36 +02:00
cpu-models.c target-ppc: Add pvr_match() callback 2014-07-08 12:10:36 +02:00
cpu-models.h target-ppc: Add pvr_match() callback 2014-07-08 12:10:36 +02:00
cpu-qom.h target-ppc: Add pvr_match() callback 2014-07-08 12:10:36 +02:00
cpu.h target-ppc: enable virtio endian ambivalent support 2014-06-29 19:39:43 +03:00
dfp_helper.c target-ppc: Fix compiler warning 2014-06-24 20:01:24 +04:00
excp_helper.c spapr_hcall: Add address-translation-mode-on-interrupt resource in H_SET_MODE 2014-06-16 13:24:45 +02:00
fpu_helper.c powerpc: use float64 for frsqrte 2014-06-16 13:24:46 +02:00
gdbstub.c target-ppc: Fix gdbstub for ppc64le-linux-user 2014-07-08 12:10:36 +02: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: Add POWER8's TM SPRs 2014-06-16 13:24:45 +02:00
int_helper.c target-ppc: Refactor AES Instructions 2014-06-16 13:24:33 +02:00
kvm_ppc.c PPC: KVM: Compile fix for qemu_notify_event 2013-09-02 10:06:42 +02:00
kvm_ppc.h spapr_iommu: Make in-kernel TCE table optional 2014-06-27 13:48:23 +02:00
kvm-stub.c kvm/openpic: in-kernel mpic support 2013-07-01 01:11:14 +02:00
kvm.c spapr_iommu: Make in-kernel TCE table optional 2014-06-27 13:48:23 +02:00
machine.c KVM: target-ppc: Enable TM state migration 2014-06-16 13:24:45 +02:00
Makefile.objs target-ppc: Introduce DFP Helper Utilities 2014-06-16 13:24:29 +02:00
mem_helper.c target-ppc: Allow little-endian user mode. 2014-06-16 13:24:40 +02:00
mfrom_table_gen.c fix spelling in target sub directory 2011-12-02 10:50:57 +00:00
mfrom_table.c
misc_helper.c target-ppc: Add POWER8's TM SPRs 2014-06-16 13:24:45 +02:00
mmu_helper.c PPC: Fix booke206 TLB with phys addrs > 32bit 2014-07-08 12:10:36 +02:00
mmu-hash32.c tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
mmu-hash32.h target-ppc: Use PowerPCCPU in PowerPCCPUClass::handle_mmu_fault hook 2014-03-13 19:20:48 +01:00
mmu-hash64.c tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
mmu-hash64.h target-ppc: Use PowerPCCPU in PowerPCCPUClass::handle_mmu_fault hook 2014-03-13 19:20:48 +01:00
STATUS target-ppc: remove powerpc 970gx 2014-03-05 03:06:23 +01:00
timebase_helper.c tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
translate_init.c target-ppc: Add pvr_match() callback 2014-07-08 12:10:36 +02:00
translate.c target-ppc: Remove unused gen_qemu_ld8s() 2014-06-27 13:48:23 +02:00
user_only_helper.c cpu: Move exception_index field from CPU_COMMON to CPUState 2014-03-13 19:20:46 +01:00