Thread (135 messages) 135 messages, 5 authors, 2019-02-14

Re: [PATCH 11/19] KVM: PPC: Book3S HV: add support for the XIVE native exploitation mode hcalls

flat view

From: Cédric Le Goater <clg@kaod.org>
Date: 2019-01-23 08:51:38
Also in: kvm

On 1/23/19 7:44 AM, Benjamin Herrenschmidt wrote:
On Tue, 2019-01-22 at 16:23 +1100, Paul Mackerras wrote:
quoted
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.
quoted
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.
yes. This one is only doing loads and stores.
 .../...
quoted
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
ok. 

Some of these hcalls are really simple and only getting local info from 
the host (h_int_get_*). I thought handling the hcall ASAP was a preferred 
practice, even if the hcall is not called frequently. Isn't it ?

 
quoted
quoted
@@ -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?
I don't remember. I will check for v2.

Thanks, 

C.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help