lkml.org 
[lkml]   [2009]   [May]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC PATCH 0/3] generic hypercall support
Gregory Haskins wrote:
> I see. I had designed it slightly different where KVM could assign any
> top level vector it wanted and thus that drove the guest-side interface
> you see here to be more "generic hypercall". However, I think your
> proposal is perfectly fine too and it makes sense to more narrowly focus
> these calls as specifically "dynamic"...as thats the only vectors that
> we could technically use like this anyway.
>
> So rather than allocate a top-level vector, I will add "KVM_HC_DYNAMIC"
> to kvm_para.h, and I will change the interface to follow suit (something
> like s/hypercall/dynhc). Sound good?
>

Yeah.

Another couple of points:

- on the host side, we'd rig this to hit an eventfd. Nothing stops us
from rigging pio to hit an eventfd as well, giving us kernel handling
for pio trigger points.
- pio actually has an advantage over hypercalls with nested guests.
Since hypercalls don't have an associated port number, the lowermost
hypervisor must interpret a hypercall as going to a guest's hypervisor,
and not any lower-level hypervisors. What it boils down to is that you
cannot use device assignment to give a guest access to a virtio/vbus
device from a lower level hypervisor.

(Bah, that's totally unreadable. What I want is

instead of

hypervisor[eth0/virtio-server] ---->
intermediate[virtio-driver/virtio-server] ----> guest[virtio-driver]
do

hypervisor[eth0/virtio-server] ----> intermediate[assign virtio
device] ----> guest[virtio-driver]
well, it's probably still unreadable)

--
error compiling committee.c: too many arguments to function



\
 
 \ /
  Last update: 2009-05-05 17:05    [from the cache]
©2003-2011 Jasper Spaans