WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] status of PV drivers in Xen 4.0

On Mon, Apr 12, 2010 at 05:05:37PM +0100, Andrew Lyon wrote:
> >
> >> The unmodified_drivers build process is designed to work with a
> >> separate kernel "objects" folder, so instead of configuring and
> >> compiling your kernel in-place you need to do something like this,
> >> note that while this step uses a xenified kernel you should not enable
> >> Xen in the processor type options, configure the kernel as you would
> >> for the hvm guest.
> >>
> >> cd /usr/src/linux-2.6.31-xen-r14
> >> mkdir ../linux-2.6.31-xen-r14-obj
> >> mv .config ../linux-2.6.31-xen-r14-obj/ (or copy in your usual default
> >> config file)
> >> make mrproper
> >> cd ../linux-2.6.31-xen-r14-obj/
> >> make -C /usr/src/linux-2.6.31-xen-r14 menuconfig
> >> O=/usr/src/linux-2.6.31-xen-r14-obj/
> >> make -C /usr/src/linux-2.6.31-xen-r14 bzImage (or vmlinuz) modules
> >> modules_install O=/usr/src/linux-2.6.31-xen-r14-obj/
> >>
> >> Now change to wherever you put the unmodified_drivers/linux-2.6/:
> >>
> >> export XL=/usr/src/linux-2.6.31-xen-r14
> >> export XEN=/usr/src/linux-2.6.31-xen-r14/include/xen/
> >>
> >> Notice how XEN is set to linux/include/xen ? the Xen documentation
> >> states that it should be set to a folder containing the Xen sources,
> >> I've tried that and it does not work, I think the folder is only used
> >> for header files so they could in theory come from Xen or from a
> >> Xenified kernel, but on openSUSE the kernel include files are used
> >> instead of the Xen ones, and that is the only way that seems to work.
> >>
> >> ./mkbuildtree
> >> Defaulting to this machine's architecture, x86_64, for linking.
> >> This may be overridden on the command line (i386,x86_64,ia64).
> >> Xen tree: /usr/src/linux-2.6.31-xen-r14/include/xen
> >> Linux tree: /usr/src/linux-2.6.31-xen-r14
> >>
> >> You can now compile the drivers:
> >>
> >> make -C /usr/src/linux-2.6.31-xen-r14-obj/ modules M=$PWD
> >>
> >> If you attempt to do the same process without putting the kernel
> >> object files into a separate folder the build will fail, I believe
> >> this is because declarations in the kernel override those in the
> >> unmodified_drivers.
> >>
> >> Likewise the process fails if you try to use a generic kernel source
> >> tree which has not been patched for Xen dom0, in which case the header
> >> files are missing various Xen declarations required for successful
> >> compilation.
> >>
> >> And here is a final proof, Xenified 2.6.31 with all XEN options
> >> disabled, with pv-on-hvm drivers:
> >>
> >> localhost ~ # uname -a
> >> Linux localhost 2.6.31-xen-r14 #2 SMP Mon Apr 12 13:34:27 GMT 2010
> >> x86_64 Intel(R) Xeon(R) CPU E5420 @ 2.50GHz GenuineIntel GNU/Linux
> >> localhost ~ # zgrep XEN /proc/config.gz
> >> # CONFIG_X86_64_XEN is not set
> >> localhost ~ # lsmod
> >> Module                  Size  Used by
> >> xen_vnif               28288  0
> >> xen_balloon            14496  1 xen_vnif
> >> xen_vbd                19084  3
> >> xen_platform_pci       78808  3 xen_vnif,xen_balloon,xen_vbd,[permanent]
> >>
> >> I'm not sure where to go next with this but I hope this info is useful.
> >>
> >
> > Congratulations!
> >
> > This is valuable information, thanks for going through that.
> >
> > Can you reproduce this with Xen 4.0.0 ? ie. does opensuse xen have
> > some patches related to pv-on-hvm drivers?
> 
> I believe SLES11SP1 will have Xen 4.0 but I have been unable to find
> anywhere to download srpms, apparently they are on dvd2 but as it is
> still in beta there are no iso images either, however opensuse factory
> does have a Xen 4.0 srpm:
> 
> http://download.opensuse.org/factory/repo/src-oss/suse/src/xen-4.0.0_20978_01-1.4.src.rpm
> 
> So the same process could be followed using that, I'm going to give it
> a try tomorrow.
> 

Ok.

> >
> > If there are some patches, those should be upstreamed to Xen.
> 
> Hmm, the patches may simply be there to allow building using the
> /usr/src/linux/include/xen headers instead of /usr/src/xen/ , and as
> xensource does not have a newer "classic" kernel than 2.6.18 why would
> they upsteam them.
> 

Actually there is nowadays.. :)

http://xenbits.xen.org/XCP/linux-2.6.27.pq.hg
(The kernel tree used by XCP/XenServer/XCI.)

-- Pasi


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel