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
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html