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

To: Pasi Kärkkäinen <pasik@xxxxxx>
Subject: Re: [Xen-devel] status of PV drivers in Xen 4.0
From: Andrew Lyon <andrew.lyon@xxxxxxxxx>
Date: Sat, 10 Apr 2010 14:17:57 +0100
Cc: Guillaume Rousse <Guillaume.Rousse@xxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Sat, 10 Apr 2010 06:18:55 -0700
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=2lp+1Fy/xNEpam1WuP/J3mTlVighy3yP0lkyFCOn2Wg=; b=IrQ+xTRHlpBo7Zz1apP4J7nfnNzgRkf0iTkdNJfnS2qqU3IXlVTW69UEw6LGK8OF3H zbVi3mqbuMHuJMizIX0pifXwRG7MRTgcubgnGjfAv8UGJ01fp8EVCEYQeKFx2n1qCllF 6jtvRZzEJGW1yZOdqoTqfKolja7s9Voitp5sk=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=gN14yfe0pioGhMX4B35PtwPh/Q5OJaum6Qnp8DBlu3UJlTwNq55mFra3LDQuvk7XqE Yd0MCZhW8MffAgmA2WbzGhXQx7gkvsz0xYSuktDf3+tDGiShwThU1n/iad02Zfm9m7HE jIIp1hINWfY1CY9Wn5R5o1rR6g3to1wh5gQbI=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20100410125850.GH1878@xxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <4BB11551.5010707@xxxxxxxx> <20100330060411.GT1878@xxxxxxxxxxx> <4BBA14E6.70208@xxxxxxxx> <x2gf4527be1004100531z52aa55c0hf58b193c1df9434c@xxxxxxxxxxxxxx> <20100410125850.GH1878@xxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
On Sat, Apr 10, 2010 at 1:58 PM, Pasi Kärkkäinen <pasik@xxxxxx> wrote:
> On Sat, Apr 10, 2010 at 01:31:08PM +0100, Andrew Lyon wrote:
>> On Mon, Apr 5, 2010 at 5:50 PM, Guillaume Rousse
>> <Guillaume.Rousse@xxxxxxxx> wrote:
>> > Le 30/03/2010 08:04, Pasi Kärkkäinen a écrit :
>> >> On Mon, Mar 29, 2010 at 11:02:09PM +0200, Guillaume Rousse wrote:
>> >>> Hello.
>> >>>
>> >>> The directory 'unmodified_drivers', in Xen-4.0rc8, seems to still
>> >>> requires a 2.6.18 XenLinux kernel to build. For instance, overrides.mk
>> >>> still refers to $(objtree)/include/linux/autoconf.h, instead of
>> >>> $(objtree)/include/generated/autoconf.h in recent kernels.
>> >>>
>> >>
>> >> I believe it should compile with 2.6.27 aswell.. or if it doesn't,
>> >> please let us know.
>> >>
>> >> See here for PV-on-HVM drivers building instructions for SLES11 2.6.27:
>> >> http://wp.colliertech.org/cj/?p=653
>> >>
>> >> If the unmodified_drivers from Xen 4.0 doesn't build for 2.6.27,
>> >> then we should definitely add the (possible) patches from Novell.
>> > Whatever XenLinux tree I tried (xensource 2.6.18, or novell 2.6.32), it
>> > fails to build for 2.6.33. It's probably a trivial error, such as a
>> > missing header file, but I'm really not enough kernel-aware to find
>> > which one:
>> >
>>
>> Have you been successful building the drivers for .31 or .32?
>>
>> I'd like to make a set of patches available to apply to Xen 3.4.2 or
>> 4.0 to enable building the drivers with recent kernels and the forward
>> ported kernels I usually use, but while I've been able to rebuild them
>> on a opensuse 11.2 system running 2.6.31.12 I am finding it hard to
>> work out which patches need to be applied and what else the rpm build
>> process does to enable compilation.
>>
>> Any pointers would be much appreciated.
>>
>
> Did you take a look at novell's sles11 sp1 kernel? it's 2.6.32 and
> should have pv-on-hvm drivers included?
>
> -- Pasi
>
>> Andy

Yes, thats where I take the 2.6.32 kernel patches from, .31 from
openSUSE-11.2 and .32 from SLE11-SP1, but they both fail to compile in
similar ways, I followed a similar process to
http://wp.colliertech.org/cj/?p=653 :

 pwd
/home/admin/hg/xen-3.4-testing.hg
cd unmodified_drivers/linux-2.6/
ubermicro linux-2.6 # XEN=/home/admin/hg/xen-3.4-testing.hg/
XL=/usr/src/linux-2.6.32-xen/ ./mkbuildtree x86_64
Xen tree: /home/admin/hg/xen-3.4-testing.hg
Linux tree: /usr/src/linux-2.6.32-xen
/usr/src/linux-2.6.32-xen/include/xen/interface:
interface: File exists

To start with I tried to build the modules for the same kernel:

make -C /usr/src/linux-2.6.32-xen/ M=$PWD modules
make: Entering directory `/usr/src/linux-2.6.32-xen'
  CC [M]  
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.o
<command-line>: warning: "__XEN_INTERFACE_VERSION__" redefined
<command-line>: warning: this is the location of the previous definition
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:
In function 'balloon_init':
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:583:
error: implicit declaration of function 'pagevec_init'
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:583:
error: 'free_pagevec' undeclared (first use in this function)
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:583:
error: (Each undeclared identifier is reported only once
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:583:
error: for each function it appears in.)
make[2]: *** 
[/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.o]
Error 1
make[1]: *** 
[/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon]
Error 2
make: *** 
[_module_/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6]
Error 2
make: Leaving directory `/usr/src/linux-2.6.32-xen'


But it also fails with a non-xen kernel:

 make -C /usr/src/linux-2.6.32-gentoo-r8/ M=$PWD modules
make: Entering directory `/usr/src/linux-2.6.32-gentoo-r8'

  WARNING: Symbol version dump /usr/src/linux-2.6.32-gentoo-r8/Module.symvers
           is missing; modules will have no dependencies and modversions.

  CC [M]  
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.o
In file included from
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:51:
include/xen/interface/memory.h:32: error: expected
specifier-qualifier-list before 'GUEST_HANDLE'
include/xen/interface/memory.h:53: warning: data definition has no
type or storage class
include/xen/interface/memory.h:53: warning: type defaults to 'int' in
declaration of 'DEFINE_GUEST_HANDLE_STRUCT'
include/xen/interface/memory.h:53: warning: parameter names (without
types) in function declaration
include/xen/interface/memory.h:89: error: expected
specifier-qualifier-list before 'GUEST_HANDLE'
include/xen/interface/memory.h:97: warning: data definition has no
type or storage class
include/xen/interface/memory.h:97: warning: type defaults to 'int' in
declaration of 'DEFINE_GUEST_HANDLE_STRUCT'
include/xen/interface/memory.h:97: warning: parameter names (without
types) in function declaration
include/xen/interface/memory.h:107: error: expected
specifier-qualifier-list before 'domid_t'
include/xen/interface/memory.h:120: warning: data definition has no
type or storage class
include/xen/interface/memory.h:120: warning: type defaults to 'int' in
declaration of 'DEFINE_GUEST_HANDLE_STRUCT'
include/xen/interface/memory.h:120: warning: parameter names (without
types) in function declaration
include/xen/interface/memory.h:129: error: expected
specifier-qualifier-list before 'domid_t'
include/xen/interface/memory.h:143: warning: data definition has no
type or storage class
include/xen/interface/memory.h:143: warning: type defaults to 'int' in
declaration of 'DEFINE_GUEST_HANDLE_STRUCT'
include/xen/interface/memory.h:143: warning: parameter names (without
types) in function declaration
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:
In function 'increase_reservation':
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:286:
error: unknown field 'address_bits' specified in initializer
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:286:
warning: excess elements in struct initializer
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:286:
warning: (near initialization for 'reservation')
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:287:
error: unknown field 'extent_order' specified in initializer
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:287:
warning: excess elements in struct initializer
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:287:
warning: (near initialization for 'reservation')
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:288:
error: unknown field 'domid' specified in initializer
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:289:
warning: excess elements in struct initializer
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:289:
warning: (near initialization for 'reservation')
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:303:
error: 'struct xen_memory_reservation' has no member named
'extent_start'
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:304:
error: 'struct xen_memory_reservation' has no member named
'nr_extents'
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:305:
error: implicit declaration of function 'HYPERVISOR_memory_op'
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:
In function 'decrease_reservation':
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:364:
error: unknown field 'address_bits' specified in initializer
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:364:
warning: excess elements in struct initializer
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:364:
warning: (near initialization for 'reservation')
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:365:
error: unknown field 'extent_order' specified in initializer
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:365:
warning: excess elements in struct initializer
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:365:
warning: (near initialization for 'reservation')
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:366:
error: unknown field 'domid' specified in initializer
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:367:
warning: excess elements in struct initializer
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:367:
warning: (near initialization for 'reservation')
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:384:
error: implicit declaration of function 'scrub_pages'
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:414:
error: 'struct xen_memory_reservation' has no member named
'extent_start'
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:415:
error: 'struct xen_memory_reservation' has no member named
'nr_extents'
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:
In function 'balloon_init':
/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.c:577:
error: implicit declaration of function 'is_running_on_xen'
make[2]: *** 
[/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon/balloon.o]
Error 1
make[1]: *** 
[/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6/balloon]
Error 2
make: *** 
[_module_/home/admin/hg/xen-3.4-testing.hg/unmodified_drivers/linux-2.6]
Error 2
make: Leaving directory `/usr/src/linux-2.6.32-gentoo-r8'
ubermicro linux-2.6 #


Andy

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