[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Paravirtualised drivers for fully virtualised domains

I've just put an updated version of these patches up at
http://www.cl.cam.ac.uk/~sos22/pv-on-hvm/rev2 .  There's also an
equivalent single big patch at
http://www.cl.cam.ac.uk/~sos22/pv-on-hvm/rev2.combined .  Thank you to
everyone who gave feedback on the previous version.

The main changes since last time are:

-- Support for SMP guests
-- Support for 64 bit guests on a 64 bit hypervisor
-- Partial support for 32 bit guests on a 64 bit hypervisor: the network
   interface works, but the block device doesn't.

The block device can be made to work by #define'ing ALIEN_INTERFACES
in blkif.h, but drivers compiled in that way won't work with 32 on 32.
The problem here is that blkif_request_t contains extra padding in 64
bit builds, and so is a different size, and so the block ring layout
is different.

Other structures with similar problems are handled either by run time
tests in the drivers (shared_info_t) or translation wrappers in the
hypervisor (xen_feature_info_t, xen_add_to_physmap_t), but trying to
do this for the block rings would require far more painful and
extensive surgery.  I'm inclined to stick with multiply compiling the
frontend drivers in the short term, although it'll obviously need
doing in a slightly less grotty way.


Attachment: signature.asc
Description: Digital signature

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.