[Qemu-devel] [patch-for-4.2 PATCH v11 0/6] target-ppc/spapr: Add FWNMI support in QEMU for PowerKVM guests

Aravinda Prasad posted 6 patches 16 weeks ago
Failed in applying to current master (apply log)
cpus.c                   |    5 +
hw/ppc/spapr.c           |   78 +++++++++++++
hw/ppc/spapr_caps.c      |   29 +++++
hw/ppc/spapr_events.c    |  268 ++++++++++++++++++++++++++++++++++++++++++++++
hw/ppc/spapr_rtas.c      |   78 +++++++++++++
include/hw/ppc/spapr.h   |   25 ++++
include/qemu/main-loop.h |    8 +
target/ppc/cpu.h         |    1
target/ppc/kvm.c         |   38 +++++++
target/ppc/kvm_ppc.h     |   13 ++
target/ppc/trace-events  |    1
11 files changed, 542 insertions(+), 2 deletions(-)

[Qemu-devel] [patch-for-4.2 PATCH v11 0/6] target-ppc/spapr: Add FWNMI support in QEMU for PowerKVM guests

Posted by Aravinda Prasad 16 weeks ago
This patch set adds support for FWNMI in PowerKVM guests.

System errors such as SLB multihit and memory errors
that cannot be corrected by hardware is passed on to
the kernel for handling by raising machine check
exception (an NMI). Upon such machine check exceptions,
if the address in error belongs to guest then KVM
invokes guests' 0x200 interrupt vector if the guest
is not FWNMI capable. For FWNMI capable guest
KVM passes the control to QEMU by exiting the guest.

This patch series adds functionality to QEMU to pass
on such machine check exceptions to the FWNMI capable
guest kernel by building an error log and invoking
the guest registered machine check handling routine.

The KVM changes are now part of the upstream kernel
(commit e20bbd3d). This series contain QEMU changes.

Change Log v11:
  - Moved FWNMI SPAPR cap defaults to 4.2 class option
  - Fixed issues with handling fwnmi KVM capability

Change Log v10:
  - Reshuffled the patch sequence + minor fixes

Change Log v9:
  - Fixed kvm cap and spapr cap issues

Change Log v8:
  - Added functionality to check FWNMI capability during
    VM migration
---

Aravinda Prasad (6):
      Wrapper function to wait on condition for the main loop mutex
      ppc: spapr: Introduce FWNMI capability
      target/ppc: Handle NMI guest exit
      target/ppc: Build rtas error log upon an MCE
      ppc: spapr: Handle "ibm,nmi-register" and "ibm,nmi-interlock" RTAS calls
      migration: Include migration support for machine check handling


 cpus.c                   |    5 +
 hw/ppc/spapr.c           |   78 +++++++++++++
 hw/ppc/spapr_caps.c      |   29 +++++
 hw/ppc/spapr_events.c    |  268 ++++++++++++++++++++++++++++++++++++++++++++++
 hw/ppc/spapr_rtas.c      |   78 +++++++++++++
 include/hw/ppc/spapr.h   |   25 ++++
 include/qemu/main-loop.h |    8 +
 target/ppc/cpu.h         |    1 
 target/ppc/kvm.c         |   38 +++++++
 target/ppc/kvm_ppc.h     |   13 ++
 target/ppc/trace-events  |    1 
 11 files changed, 542 insertions(+), 2 deletions(-)

--
Signature

Re: [Qemu-devel] [patch-for-4.2 PATCH v11 0/6] target-ppc/spapr: Add FWNMI support in QEMU for PowerKVM guests

Posted by Greg Kurz 14 weeks ago
On Wed, 14 Aug 2019 11:40:50 +0530
Aravinda Prasad <aravinda@linux.vnet.ibm.com> wrote:

> This patch set adds support for FWNMI in PowerKVM guests.
> 
> System errors such as SLB multihit and memory errors
> that cannot be corrected by hardware is passed on to
> the kernel for handling by raising machine check
> exception (an NMI). Upon such machine check exceptions,
> if the address in error belongs to guest then KVM
> invokes guests' 0x200 interrupt vector if the guest
> is not FWNMI capable. For FWNMI capable guest
> KVM passes the control to QEMU by exiting the guest.
> 
> This patch series adds functionality to QEMU to pass
> on such machine check exceptions to the FWNMI capable
> guest kernel by building an error log and invoking
> the guest registered machine check handling routine.
> 
> The KVM changes are now part of the upstream kernel
> (commit e20bbd3d). This series contain QEMU changes.
> 
> Change Log v11:
>   - Moved FWNMI SPAPR cap defaults to 4.2 class option
>   - Fixed issues with handling fwnmi KVM capability
> 

Hi Aravinda,

I'm afraid this series needs rebasing. It doesn't apply
cleanly on current ppc-for-4.2 (SHA1 b1e8156743).

Cheers,

--
Greg

> Change Log v10:
>   - Reshuffled the patch sequence + minor fixes
> 
> Change Log v9:
>   - Fixed kvm cap and spapr cap issues
> 
> Change Log v8:
>   - Added functionality to check FWNMI capability during
>     VM migration
> ---
> 
> Aravinda Prasad (6):
>       Wrapper function to wait on condition for the main loop mutex
>       ppc: spapr: Introduce FWNMI capability
>       target/ppc: Handle NMI guest exit
>       target/ppc: Build rtas error log upon an MCE
>       ppc: spapr: Handle "ibm,nmi-register" and "ibm,nmi-interlock" RTAS calls
>       migration: Include migration support for machine check handling
> 
> 
>  cpus.c                   |    5 +
>  hw/ppc/spapr.c           |   78 +++++++++++++
>  hw/ppc/spapr_caps.c      |   29 +++++
>  hw/ppc/spapr_events.c    |  268 ++++++++++++++++++++++++++++++++++++++++++++++
>  hw/ppc/spapr_rtas.c      |   78 +++++++++++++
>  include/hw/ppc/spapr.h   |   25 ++++
>  include/qemu/main-loop.h |    8 +
>  target/ppc/cpu.h         |    1 
>  target/ppc/kvm.c         |   38 +++++++
>  target/ppc/kvm_ppc.h     |   13 ++
>  target/ppc/trace-events  |    1 
>  11 files changed, 542 insertions(+), 2 deletions(-)
> 
> --
> Signature


Re: [Qemu-devel] [Qemu-ppc] [patch-for-4.2 PATCH v11 0/6] target-ppc/spapr: Add FWNMI support in QEMU for PowerKVM guests

Posted by Aravinda Prasad 14 weeks ago

On Thursday 29 August 2019 03:51 PM, Greg Kurz wrote:
> On Wed, 14 Aug 2019 11:40:50 +0530
> Aravinda Prasad <aravinda@linux.vnet.ibm.com> wrote:
> 
>> This patch set adds support for FWNMI in PowerKVM guests.
>>
>> System errors such as SLB multihit and memory errors
>> that cannot be corrected by hardware is passed on to
>> the kernel for handling by raising machine check
>> exception (an NMI). Upon such machine check exceptions,
>> if the address in error belongs to guest then KVM
>> invokes guests' 0x200 interrupt vector if the guest
>> is not FWNMI capable. For FWNMI capable guest
>> KVM passes the control to QEMU by exiting the guest.
>>
>> This patch series adds functionality to QEMU to pass
>> on such machine check exceptions to the FWNMI capable
>> guest kernel by building an error log and invoking
>> the guest registered machine check handling routine.
>>
>> The KVM changes are now part of the upstream kernel
>> (commit e20bbd3d). This series contain QEMU changes.
>>
>> Change Log v11:
>>   - Moved FWNMI SPAPR cap defaults to 4.2 class option
>>   - Fixed issues with handling fwnmi KVM capability
>>
> 
> Hi Aravinda,
> 
> I'm afraid this series needs rebasing. It doesn't apply
> cleanly on current ppc-for-4.2 (SHA1 b1e8156743).

This was based on the latest 4.2 at the time of posting (14th Aug).
Meanwhile may be due to changes to 4.2 it is not applying cleanly. I
will rebase it to the latest 4.2 and post it again.

Regards,
Aravinda

> 
> Cheers,
> 
> --
> Greg
> 
>> Change Log v10:
>>   - Reshuffled the patch sequence + minor fixes
>>
>> Change Log v9:
>>   - Fixed kvm cap and spapr cap issues
>>
>> Change Log v8:
>>   - Added functionality to check FWNMI capability during
>>     VM migration
>> ---
>>
>> Aravinda Prasad (6):
>>       Wrapper function to wait on condition for the main loop mutex
>>       ppc: spapr: Introduce FWNMI capability
>>       target/ppc: Handle NMI guest exit
>>       target/ppc: Build rtas error log upon an MCE
>>       ppc: spapr: Handle "ibm,nmi-register" and "ibm,nmi-interlock" RTAS calls
>>       migration: Include migration support for machine check handling
>>
>>
>>  cpus.c                   |    5 +
>>  hw/ppc/spapr.c           |   78 +++++++++++++
>>  hw/ppc/spapr_caps.c      |   29 +++++
>>  hw/ppc/spapr_events.c    |  268 ++++++++++++++++++++++++++++++++++++++++++++++
>>  hw/ppc/spapr_rtas.c      |   78 +++++++++++++
>>  include/hw/ppc/spapr.h   |   25 ++++
>>  include/qemu/main-loop.h |    8 +
>>  target/ppc/cpu.h         |    1 
>>  target/ppc/kvm.c         |   38 +++++++
>>  target/ppc/kvm_ppc.h     |   13 ++
>>  target/ppc/trace-events  |    1 
>>  11 files changed, 542 insertions(+), 2 deletions(-)
>>
>> --
>> Signature
> 
> 

-- 
Regards,
Aravinda

Re: [Qemu-devel] [Qemu-ppc] [patch-for-4.2 PATCH v11 0/6] target-ppc/spapr: Add FWNMI support in QEMU for PowerKVM guests

Posted by Greg Kurz 14 weeks ago
On Thu, 29 Aug 2019 16:08:53 +0530
Aravinda Prasad <aravinda@linux.vnet.ibm.com> wrote:

> 
> 
> On Thursday 29 August 2019 03:51 PM, Greg Kurz wrote:
> > On Wed, 14 Aug 2019 11:40:50 +0530
> > Aravinda Prasad <aravinda@linux.vnet.ibm.com> wrote:
> > 
> >> This patch set adds support for FWNMI in PowerKVM guests.
> >>
> >> System errors such as SLB multihit and memory errors
> >> that cannot be corrected by hardware is passed on to
> >> the kernel for handling by raising machine check
> >> exception (an NMI). Upon such machine check exceptions,
> >> if the address in error belongs to guest then KVM
> >> invokes guests' 0x200 interrupt vector if the guest
> >> is not FWNMI capable. For FWNMI capable guest
> >> KVM passes the control to QEMU by exiting the guest.
> >>
> >> This patch series adds functionality to QEMU to pass
> >> on such machine check exceptions to the FWNMI capable
> >> guest kernel by building an error log and invoking
> >> the guest registered machine check handling routine.
> >>
> >> The KVM changes are now part of the upstream kernel
> >> (commit e20bbd3d). This series contain QEMU changes.
> >>
> >> Change Log v11:
> >>   - Moved FWNMI SPAPR cap defaults to 4.2 class option
> >>   - Fixed issues with handling fwnmi KVM capability
> >>
> > 
> > Hi Aravinda,
> > 
> > I'm afraid this series needs rebasing. It doesn't apply
> > cleanly on current ppc-for-4.2 (SHA1 b1e8156743).
> 
> This was based on the latest 4.2 at the time of posting (14th Aug).

I was on vacation at that time but you're probably right.

> Meanwhile may be due to changes to 4.2 it is not applying cleanly. I
> will rebase it to the latest 4.2 and post it again.
> 

Thanks !

> Regards,
> Aravinda
> 
> > 
> > Cheers,
> > 
> > --
> > Greg
> > 
> >> Change Log v10:
> >>   - Reshuffled the patch sequence + minor fixes
> >>
> >> Change Log v9:
> >>   - Fixed kvm cap and spapr cap issues
> >>
> >> Change Log v8:
> >>   - Added functionality to check FWNMI capability during
> >>     VM migration
> >> ---
> >>
> >> Aravinda Prasad (6):
> >>       Wrapper function to wait on condition for the main loop mutex
> >>       ppc: spapr: Introduce FWNMI capability
> >>       target/ppc: Handle NMI guest exit
> >>       target/ppc: Build rtas error log upon an MCE
> >>       ppc: spapr: Handle "ibm,nmi-register" and "ibm,nmi-interlock" RTAS calls
> >>       migration: Include migration support for machine check handling
> >>
> >>
> >>  cpus.c                   |    5 +
> >>  hw/ppc/spapr.c           |   78 +++++++++++++
> >>  hw/ppc/spapr_caps.c      |   29 +++++
> >>  hw/ppc/spapr_events.c    |  268 ++++++++++++++++++++++++++++++++++++++++++++++
> >>  hw/ppc/spapr_rtas.c      |   78 +++++++++++++
> >>  include/hw/ppc/spapr.h   |   25 ++++
> >>  include/qemu/main-loop.h |    8 +
> >>  target/ppc/cpu.h         |    1 
> >>  target/ppc/kvm.c         |   38 +++++++
> >>  target/ppc/kvm_ppc.h     |   13 ++
> >>  target/ppc/trace-events  |    1 
> >>  11 files changed, 542 insertions(+), 2 deletions(-)
> >>
> >> --
> >> Signature
> > 
> > 
>