[PATCH 11/19] KVM: PPC: Book3S HV: add support for the XIVE native exploitation mode hcalls
Benjamin Herrenschmidt
benh at kernel.crashing.org
Wed Jan 23 17:44:15 AEDT 2019
On Tue, 2019-01-22 at 16:23 +1100, Paul Mackerras wrote:
>
> Which ones of these could be implemented in QEMU? Are there any that
> can't possibly be implemented in QEMU because they need to do things
> that require calling internal interfaces that userspace doesn't have
> access to?
Implementing them in qemu doesn't make a lot of sense. Qemu doesn't
have access to most of the XIVE HW state. There's a XIVE model for full
emulation but when using the real thing, almost none of it is visible.
A lot of those hcalls effectively turn into OPAL calls.
> How often do we expect each of these hypercalls to be called?
It depends, I can't tell for AIX. For Linux, not often with one
exception: H_INT_ESB which will be used whenever you EOI an emulated
LSI.
.../...
> Why do we need to provide real-mode versions of these hypercall
> handlers? I thought these hypercalls would only get called
> infrequently, and in any case certainly much less frequently than once
> per interrupt delivered. If they are infrequent, then let's leave out
> the real-mode version and just handle them in book3s_hv.c.
Agreed with the exception maybe of H_INT_ESB
> > @@ -5153,6 +5169,19 @@ static unsigned int default_hcall_list[] = {
> > H_IPOLL,
> > H_XIRR,
> > H_XIRR_X,
> > +#endif
> > +#ifdef CONFIG_KVM_XIVE
> > + H_INT_GET_SOURCE_INFO,
> > + H_INT_SET_SOURCE_CONFIG,
> > + H_INT_GET_SOURCE_CONFIG,
> > + H_INT_GET_QUEUE_INFO,
> > + H_INT_SET_QUEUE_CONFIG,
> > + H_INT_GET_QUEUE_CONFIG,
> > + H_INT_SET_OS_REPORTING_LINE,
> > + H_INT_GET_OS_REPORTING_LINE,
> > + H_INT_ESB,
> > + H_INT_SYNC,
> > + H_INT_RESET,
> > #endif
>
> The policy is not to add new hcalls to default_hcall_list[]. Is there
> a strong reason for adding them here?
>
> Paul.
More information about the Linuxppc-dev
mailing list