qemu/target/ppc
Nicholas Piggin 6c242e79b8 target/ppc: Fix nested-hv HEAI delivery
ppc hypervisors turn HEAI interrupts into program interrupts injected
into the guest that executed the illegal instruction, if the hypervisor
doesn't handle it some other way.

The nested-hv implementation failed to account for this HEAI->program
conversion. The virtual hypervisor wants to see the HEAI when running
a nested guest, so that interrupt type can be returned to its KVM
caller.

Fixes: 7cebc5db2e ("target/ppc: Introduce a vhyp framework for nested HV support")
Cc: balaton@eik.bme.hu
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Message-Id: <20230530132127.385001-1-npiggin@gmail.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
2023-06-10 10:19:24 -03:00
..
translate target/ppc: Inline gen_icount_io_start() 2023-06-05 12:04:29 -07:00
arch_dump.c
compat.c
cpu_init.c target/ppc: Add POWER9 DD2.2 model 2023-05-28 13:25:11 -03:00
cpu-models.c target/ppc: Add POWER9 DD2.2 model 2023-05-28 13:25:11 -03:00
cpu-models.h target/ppc: Add POWER9 DD2.2 model 2023-05-28 13:25:11 -03:00
cpu-param.h target/ppc: Remove NB_MMU_MODES define 2023-03-13 06:44:37 -07:00
cpu-qom.h
cpu.c ppc: spapr: cleanup cr get/set with helpers. 2023-05-05 12:34:22 -03:00
cpu.h tcg: Remove NO_CPU_IO_DEFS 2023-06-05 12:04:29 -07:00
dfp_helper.c
excp_helper.c target/ppc: Fix nested-hv HEAI delivery 2023-06-10 10:19:24 -03:00
fpu_helper.c target/ppc: Merge COMPUTE_CLASS and COMPUTE_FPRF 2023-05-28 07:13:54 -03:00
gdbstub.c ppc: spapr: cleanup cr get/set with helpers. 2023-05-05 12:34:22 -03:00
helper_regs.c target/ppc: Fix width of some 32-bit SPRs 2023-05-27 08:25:19 -03:00
helper_regs.h
helper.h target/ppc: Use tcg_gen_qemu_{ld,st}_i128 for LQARX, LQ, STQ 2023-05-23 16:51:19 -07:00
insn32.decode target/ppc: Fix fallback to MFSS for MFFS* instructions on pre 3.0 ISAs 2023-05-27 08:25:19 -03:00
insn64.decode
int_helper.c
internal.h
Kconfig
kvm_ppc.h spapr: Add SPAPR_CAP_AIL_MODE_3 for AIL mode 3 support for H_SET_MODE hcall 2023-05-28 07:13:54 -03:00
kvm-stub.c
kvm.c spapr: Add SPAPR_CAP_AIL_MODE_3 for AIL mode 3 support for H_SET_MODE hcall 2023-05-28 07:13:54 -03:00
machine.c
mem_helper.c target/ppc: Use tcg_gen_qemu_{ld,st}_i128 for LQARX, LQ, STQ 2023-05-23 16:51:19 -07:00
meson.build
misc_helper.c target/ppc: Fix width of some 32-bit SPRs 2023-05-27 08:25:19 -03:00
mmu_common.c
mmu_helper.c
mmu-book3s-v3.c
mmu-book3s-v3.h
mmu-books.h
mmu-hash32.c
mmu-hash32.h
mmu-hash64.c
mmu-hash64.h
mmu-radix64.c
mmu-radix64.h
power8-pmu-regs.c.inc target/ppc: Inline gen_icount_io_start() 2023-06-05 12:04:29 -07:00
power8-pmu.c target/ppc: Fix width of some 32-bit SPRs 2023-05-27 08:25:19 -03:00
power8-pmu.h
ppc-qmp-cmds.c ppc: spapr: cleanup cr get/set with helpers. 2023-05-05 12:34:22 -03:00
spr_common.h target/ppc: Fix width of some 32-bit SPRs 2023-05-27 08:25:19 -03:00
tcg-stub.c
timebase_helper.c
trace-events
trace.h
translate.c target/ppc: Inline gen_icount_io_start() 2023-06-05 12:04:29 -07:00
user_only_helper.c