Messages in this thread | | | Date | Tue, 18 Aug 2009 13:45:05 +0300 | From | Avi Kivity <> | Subject | Re: [PATCH v3 3/6] vbus: add a "vbus-proxy" bus model for vbus_driver objects |
| |
On 08/18/2009 01:28 PM, Michael S. Tsirkin wrote: > >> Suppose a nested guest has two devices. One a virtual device backed by >> its host (our guest), and one a virtual device backed by us (the real >> host), and assigned by the guest to the nested guest. If both devices >> use hypercalls, there is no way to distinguish between them. >> > Not sure I understand. What I had in mind is that devices would have to > either use different hypercalls and map hypercall to address during > setup, or pass address with each hypercall. We get the hypercall, > translate the address as if it was pio access, and know the destination? >
There are no different hypercalls. There's just one hypercall instruction, and there's no standard on how it's used. If a nested call issues a hypercall instruction, you have no idea if it's calling a Hyper-V hypercall or a vbus/virtio kick.
You could have a protocol where you register the hypercall instruction's address with its recipient, but it quickly becomes a tangled mess. And for what? pio and hypercalls have the same performance characteristics.
-- error compiling committee.c: too many arguments to function
| |