[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC PATCH 00/13] FWNMI fixes / changes
From: |
Nicholas Piggin |
Subject: |
[RFC PATCH 00/13] FWNMI fixes / changes |
Date: |
Wed, 4 Mar 2020 15:28:37 +1000 |
Hi,
I've got a bunch of FWNMI fixes, including an incompatible migration
state change that may be okay to squeeze in if FWNMI has not seen a
a released version yet.
The major problem is PAPR requires system reset to also be delivered
to the address registered by nmi-register when FWNMI is enabled.
There's a few other less major issues I noticed along the way with
the machine check implementation, some of which may be due to my
misunderstandings, so feedback would be welcome on those. I haven't
tested this on KVM with machine check injection yet, would appreciate
help with that if you have a set of tests ready to go Ganesh,
otherwise I'll try to get to it in the next day or two.
This does work with system reset injection, although unfortunately
Linux also possibly has a bug in its fwnmi sreset handler due to
PAPR misreading, so I need to do some archaeology and testing of
what PowerVM does. This series does not make the situation any worse:
Linux routes 0x100 and fwnmi sreset entry points to the same place,
then the bug is within a if (fwnmi_enabled()) test.
Thanks,
Nick
Nicholas Piggin (13):
ppc/spapr: Change FWNMI names
ppc/spapr: Add FWNMI System Reset state
ppc/spapr: Disable FWNMI capability with TCG
ppc/spapr: Disable FWNMI capability if KVM does not support it
ppc/spapr: Fix FWNMI machine check interrupt delivery
ppc/spapr: Fix FWNMI machine check failure handling
ppc/spapr: Improve FWNMI machine check delivery corner case comments
ppc/spapr: Add FWNMI machine check delivery warnings
ppc/spapr: Don't kill the guest if a recovered FWNMI machine check
delivery fails
target/ppc: allow ppc_cpu_do_system_reset to take an alternate vector
ppc/spapr: Implement FWNMI System Reset delivery
ppc/spapr: Allow FWNMI on TCG
ppc/spapr: KVM should not enable FWNMI until the guest requests it
hw/ppc/spapr.c | 35 ++++++++++--------
hw/ppc/spapr_caps.c | 30 ++++++++-------
hw/ppc/spapr_events.c | 72 ++++++++++++++++++------------------
hw/ppc/spapr_rtas.c | 44 ++++++++++++++++++----
include/hw/ppc/spapr.h | 28 +++++++++-----
target/ppc/cpu.h | 3 +-
target/ppc/excp_helper.c | 79 ++++++++++++++++++++++++++++------------
target/ppc/kvm.c | 7 ++++
target/ppc/kvm_ppc.h | 6 +++
9 files changed, 198 insertions(+), 106 deletions(-)
--
2.23.0
- [RFC PATCH 00/13] FWNMI fixes / changes,
Nicholas Piggin <=