qemu-e2k/target/ppc
Aravinda Prasad 81fe70e443 target/ppc: Build rtas error log upon an MCE
Upon a machine check exception (MCE) in a guest address space,
KVM causes a guest exit to enable QEMU to build and pass the
error to the guest in the PAPR defined rtas error log format.

This patch builds the rtas error log, copies it to the rtas_addr
and then invokes the guest registered machine check handler. The
handler in the guest takes suitable action(s) depending on the type
and criticality of the error. For example, if an error is
unrecoverable memory corruption in an application inside the
guest, then the guest kernel sends a SIGBUS to the application.
For recoverable errors, the guest performs recovery actions and
logs the error.

Signed-off-by: Aravinda Prasad <arawinda.p@gmail.com>
[Assume SLOF has allocated enough room for rtas error log]
Signed-off-by: Ganesh Goudar <ganeshgr@linux.ibm.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Message-Id: <20200130184423.20519-5-ganeshgr@linux.ibm.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2020-02-03 11:33:10 +11:00
..
translate target/ppc: Fix for optimized vsl/vsr instructions 2019-10-24 09:36:55 +11:00
arch_dump.c
compat.c target/ppc: Add POWER10 DD1.0 model information 2019-12-17 10:39:48 +11:00
cpu-models.c target/ppc: Add POWER10 DD1.0 model information 2019-12-17 10:39:48 +11:00
cpu-models.h target/ppc: Add POWER10 DD1.0 model information 2019-12-17 10:39:48 +11:00
cpu-param.h
cpu-qom.h
cpu.c
cpu.h target/ppc/cpu.h: Put macro parameter in parentheses 2020-02-03 11:33:10 +11:00
dfp_helper.c
excp_helper.c target/ppc: add support for Hypervisor Facility Unavailable Exception 2020-02-02 14:07:57 +11:00
fpu_helper.c
gdbstub.c
helper_regs.h ppc: Ignore the CPU_INTERRUPT_EXITTB interrupt with KVM 2019-12-17 10:39:48 +11:00
helper.h target/ppc: Add privileged message send facilities 2020-02-02 14:07:57 +11:00
int_helper.c target/ppc: use Vsr macros in BCD helpers 2019-10-04 19:08:21 +10:00
internal.h
kvm_ppc.h target/ppc: Handle NMI guest exit 2020-02-03 11:33:10 +11:00
kvm-stub.c
kvm.c target/ppc: Build rtas error log upon an MCE 2020-02-03 11:33:10 +11:00
machine.c
Makefile.objs
mem_helper.c tcg: Search includes from the project root source directory 2020-01-15 15:13:10 -10:00
mfrom_table_gen.c
mfrom_table.inc.c
misc_helper.c target/ppc: add support for Hypervisor Facility Unavailable Exception 2020-02-02 14:07:57 +11:00
mmu_helper.c
mmu-book3s-v3.c
mmu-book3s-v3.h
mmu-hash32.c
mmu-hash32.h
mmu-hash64.c
mmu-hash64.h
mmu-radix64.c ppc/pnv: Add support for HRMOR on Radix host 2020-02-02 14:07:57 +11:00
mmu-radix64.h
monitor.c
timebase_helper.c target/ppc: Add SPR TBU40 2019-12-17 10:39:48 +11:00
trace-events target/ppc: Handle NMI guest exit 2020-02-03 11:33:10 +11:00
translate_init.inc.c target/ppc: Add privileged message send facilities 2020-02-02 14:07:57 +11:00
translate.c target/ppc: Add privileged message send facilities 2020-02-02 14:07:57 +11:00
user_only_helper.c