[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 4/5] ppc/spapr: Don't kill the guest if a recovered FWNMI mac
From: |
Nicholas Piggin |
Subject: |
Re: [PATCH 4/5] ppc/spapr: Don't kill the guest if a recovered FWNMI machine check delivery fails |
Date: |
Thu, 19 Mar 2020 12:29:48 +1000 |
User-agent: |
astroid/0.15.0 (https://github.com/astroidmail/astroid) |
Greg Kurz's on March 18, 2020 2:57 am:
> On Tue, 17 Mar 2020 15:02:14 +1000
> Nicholas Piggin <address@hidden> wrote:
>
>> Try to be tolerant of errors if the machine check had been recovered
>> by the host.
>>
>> Signed-off-by: Nicholas Piggin <address@hidden>
>> ---
>
> Same comment as previous patch on multi-line error strings and
> warn_report() in the !recovered case.
>
>> hw/ppc/spapr_events.c | 25 ++++++++++++++++++-------
>> 1 file changed, 18 insertions(+), 7 deletions(-)
>>
>> diff --git a/hw/ppc/spapr_events.c b/hw/ppc/spapr_events.c
>> index d35151eeb0..3f524cb0ca 100644
>> --- a/hw/ppc/spapr_events.c
>> +++ b/hw/ppc/spapr_events.c
>> @@ -807,13 +807,20 @@ static void spapr_mce_dispatch_elog(PowerPCCPU *cpu,
>> bool recovered)
>> /* get rtas addr from fdt */
>> rtas_addr = spapr_get_rtas_addr();
>> if (!rtas_addr) {
>> - warn_report("FWNMI: Unable to deliver machine check to guest: "
>> - "rtas_addr not found.");
>> - qemu_system_guest_panicked(NULL);
>> + if (!recovered) {
>> + warn_report("FWNMI: Unable to deliver machine check to guest: "
>> + "rtas_addr not found.");
>> + qemu_system_guest_panicked(NULL);
>> + } else {
>> + warn_report("FWNMI: Unable to deliver machine check to guest: "
>> + "rtas_addr not found. Machine check recovered.");
>> + }
>> g_free(ext_elog);
>> return;
>> }
>>
>> + spapr->fwnmi_machine_check_interlock = cpu->vcpu_id;
>> +
>
> I don't understand this change.
If we bail out without delivering the interrupt, we can't take the
interlock otherwise the guest can never release it.
Thanks,
Nick
- [PATCH 1/5] ppc/spapr: KVM FWNMI should not be enabled until guest requests it, (continued)
- [PATCH 1/5] ppc/spapr: KVM FWNMI should not be enabled until guest requests it, Nicholas Piggin, 2020/03/17
- [PATCH 2/5] ppc/spapr: Improve FWNMI machine check delivery corner case comments, Nicholas Piggin, 2020/03/17
- [PATCH 3/5] ppc/spapr: Add FWNMI machine check delivery warnings, Nicholas Piggin, 2020/03/17
- [PATCH 4/5] ppc/spapr: Don't kill the guest if a recovered FWNMI machine check delivery fails, Nicholas Piggin, 2020/03/17
- [PATCH 5/5] target/ppc: Implement simple monitor mce injection, Nicholas Piggin, 2020/03/17