qemu/target-ppc
Benjamin Herrenschmidt 9b2fadda3e ppc: Rework generation of priv and inval interrupts
Recent server processors use the Hypervisor Emulation Assistance
interrupt for illegal instructions and *some* type of SPR accesses.

Also the code was always generating inval instructions even for priv
violations due to setting the wrong flags

Finally, the checking for PR/HV was open coded everywhere.

This reworks it all, using little helper macros for checking, and
adding the HV interrupt (which gets converted back to program check
in the slow path of excp_helper.c on CPUs that don't want it).

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
[clg: fixed checkpatch.pl errors ]
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2016-06-23 12:43:54 +10:00
..
arch_dump.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
cpu-models.c target-ppc: Add PVR for POWER8NVL processor 2016-03-16 09:55:05 +11:00
cpu-models.h target-ppc: Add PVR for POWER8NVL processor 2016-03-16 09:55:05 +11:00
cpu-qom.h ppc: Split pcr_mask settings into supported bits and the register mask 2016-06-14 10:41:38 +10:00
cpu.h ppc: Fix POWER7 and POWER8 exception definitions 2016-06-23 12:43:25 +10:00
dfp_helper.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
excp_helper.c ppc: Rework generation of priv and inval interrupts 2016-06-23 12:43:54 +10:00
fpu_helper.c target-ppc/fpu_helper: Fix efscmp* instructions handling 2016-06-07 10:17:44 +10:00
gdbstub.c qemu-common: push cpu.h inclusion out of qemu-common.h 2016-05-19 16:42:29 +02:00
helper_regs.h ppc: Batch TLB flushes on 32-bit 6xx/7xx/7xxx in hash mode 2016-06-07 13:10:44 +10:00
helper.h ppc: Improve emulation of THRM registers 2016-06-22 11:12:17 +10:00
int_helper.c cpu: move exec-all.h inclusion out of cpu.h 2016-05-19 16:42:29 +02:00
kvm_ppc.h ppc: Provide function to get CPU class of the host CPU 2016-06-14 10:41:38 +10:00
kvm-stub.c qemu-common: push cpu.h inclusion out of qemu-common.h 2016-05-19 16:42:29 +02:00
kvm.c spapr: Abstract CPU core device and type specific core devices 2016-06-17 16:33:48 +10:00
machine.c ppc: Use split I/D mmu modes to avoid flushes on interrupts 2016-05-30 13:20:04 +10:00
Makefile.objs kvm_ppc: remove kvmppc_timer_hack 2015-09-20 22:48:38 +02:00
mem_helper.c cpu: move exec-all.h inclusion out of cpu.h 2016-05-19 16:42:29 +02:00
mfrom_table_gen.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
mfrom_table.c
misc_helper.c ppc: Improve emulation of THRM registers 2016-06-22 11:12:17 +10:00
mmu_helper.c ppc: Batch TLB flushes on 32-bit 6xx/7xx/7xxx in hash mode 2016-06-07 13:10:44 +10:00
mmu-hash32.c cpu: move exec-all.h inclusion out of cpu.h 2016-05-19 16:42:29 +02:00
mmu-hash32.h target-ppc: do not use target_ulong in cpu-qom.h 2016-05-19 13:08:05 +02:00
mmu-hash64.c ppc: Fix generation if ISI/DSI vs. HV mode 2016-06-23 12:43:25 +10:00
mmu-hash64.h target-ppc: do not use target_ulong in cpu-qom.h 2016-05-19 13:08:05 +02: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 cpu: move exec-all.h inclusion out of cpu.h 2016-05-19 16:42:29 +02:00
trace-events trace: split out trace events for target-ppc/ directory 2016-06-20 17:22:17 +01:00
translate_init.c ppc: Fix POWER7 and POWER8 exception definitions 2016-06-23 12:43:25 +10:00
translate.c ppc: Rework generation of priv and inval interrupts 2016-06-23 12:43:54 +10:00
user_only_helper.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00