qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH qemu v14] spapr: Implement Open Firmware client interface


From: BALATON Zoltan
Subject: Re: [PATCH qemu v14] spapr: Implement Open Firmware client interface
Date: Tue, 2 Mar 2021 10:37:59 +0100 (CET)

On Tue, 2 Mar 2021, Alexey Kardashevskiy wrote:
On 02/03/2021 14:35, David Gibson wrote:
Alexey or Zoltan, any thoughts on how non-PAPR versions of this would
call into qemu to get the non-guest parts of VOF to execute?

Non-PAPR could do it as we do it for soft breakpoints in KVM - some predefined illegal instruction which KVM knows that it is used for soft breakpoints.

So far I've thought I'd need to implement TYPE_PPC_VIRTUAL_HYPERVISOR interface in the machine for the code in target/ppc/excp_helper.c to forward client syscalls to QEMU where I could handle the VOF related calls but not sure this is the best way. This could be OK for the initial boot when nothing else should use syscalls yet but with RTAS this may not work as the guest OS could also use syscalls so to avoid conflicts we may need to shut down the virtual hypervisor on quiesce which means I may need a minimal guest only rtas for pegasos2 (which would be OK as I think it's only used for shutdown/reboot anyway). Also may need some changes to allow empty callbacks in vhyp to be ignored when I only want to implement hypercall method but that's just adding checks to only call non-NULL callbacks in PPCVirtualHypervisorClass.

There's also an old patch from Benjamin Herrenschmidt to add MOL OSI which is a similar hypercall interface:
https://github.com/ozbenh/qemu/commit/6dc8803641e323030ffd01ad8ce0dcf081896698
This might also be useful later to use MOL paravirtual drivers to speed up MacOSX emulation. but I haven't looked at the details yet.

Any other ideas?

Regards,
BALATON Zoltan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]