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

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


  • To: Pasi Kärkkäinen <pasik@xxxxxx>
  • 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
  • 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=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

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


 


Rackspace

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