On Sun, May 04, 2008 at 09:26:49PM +0300, Dan Armak wrote:

> > >  Xen however is a bit of a chore. should/could I use KVM
> > > instead? will it support the hardware access I need?
> >
> > AFAIR, yes.

> KVM doesn't AFAIK support direct hardware access by guest VMs. This
> is related to the fact that KVM and Xen have different
> architectures.

This is wrong. KVM doesn't support direct access *in the tree* at the
moment, because it hasn't been merged yet (but see link to our git
tree I posted in this thread earlier). It does work, and there's no
architectural reason with KVM why it shouldn't. In fact, having worked
on direct access with both the Xen and KVM code bases, I can tell you
that KVM is much better suited to direct access by virtue of its
simpler architecture.

> Xen boots a small hypervisor which then brings up several domains
> including the privileged domain 0. The hypervisor is responsible for
> PCI enumeration and mapping devices to domains,

Actually, dom0 does PCI enumeration with recent Xens, although it used
to be this way. I hear they're thinking of changing it again. This is
one area where the hypervisor/dom0 split really hurts you, as opposed
to KVM where there's no artificial split and everything is done and
managed by just one entity, so you don't have to come up with
contrived interfaces when the hypervisor needs access to a PCI device
for whatever reason.

> another domain can be given (exclusive) access to a device by
> passing the appropriate bootloader parameters to the hypervisor.

You can do it in run-time too.

> KVM is a Linux kernel module that sets up an ordinary Linux machine
> as a VM host, much like VMWare Workstation. The host always claims
> all devices at boot,

Wrong. If you don't load a module for the device, or even load and
unload it, the device isn't "claimed" and you can dedicate it to a
guest.

> and so guests can't be given direct access to them. (I suppose the
> architecture doesn't make this inherently impossible, but it's not
> supported.)

See my comments above.

Cheers,
Muli

=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]

Reply via email to