xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Andrew Lyon <andrew.lyon@gmail.com>
To: "Pasi Kärkkäinen" <pasik@iki.fi>
Cc: Guillaume Rousse <Guillaume.Rousse@inria.fr>,
	xen-devel@lists.xensource.com
Subject: Re: status of PV drivers in Xen 4.0
Date: Sat, 10 Apr 2010 14:17:57 +0100	[thread overview]
Message-ID: <h2mf4527be1004100617vf42fa222v45313bbb98304409@mail.gmail.com> (raw)
In-Reply-To: <20100410125850.GH1878@reaktio.net>

On Sat, Apr 10, 2010 at 1:58 PM, Pasi Kärkkäinen <pasik@iki.fi> 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@inria.fr> 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

  reply	other threads:[~2010-04-10 13:17 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-29 21:02 status of PV drivers in Xen 4.0 Guillaume Rousse
2010-03-30  6:04 ` Pasi Kärkkäinen
2010-03-30  7:49   ` Jan Beulich
2010-03-30  7:52     ` Pasi Kärkkäinen
2010-03-30 11:27     ` Guillaume Rousse
2010-03-30 12:10       ` Jan Beulich
2010-03-30  8:17   ` Guillaume Rousse
2010-03-30 10:04     ` Pasi Kärkkäinen
2010-04-05 16:50   ` Guillaume Rousse
2010-04-10 12:31     ` Andrew Lyon
2010-04-10 12:58       ` Pasi Kärkkäinen
2010-04-10 13:17         ` Andrew Lyon [this message]
2010-04-12 11:21           ` Pasi Kärkkäinen
2010-04-12 11:27         ` Guillaume Rousse
2010-04-12 15:40           ` Andrew Lyon
2010-04-12 15:50             ` Pasi Kärkkäinen
2010-04-12 16:05               ` Andrew Lyon
2010-04-12 16:51                 ` Pasi Kärkkäinen
2010-04-20 16:16                 ` Pasi Kärkkäinen
2010-04-20 16:52                   ` Stefano Stabellini
2010-04-20 17:05                     ` Pasi Kärkkäinen
2010-04-20 17:07                       ` Stefano Stabellini
2010-04-13 21:35             ` Guillaume Rousse

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=h2mf4527be1004100617vf42fa222v45313bbb98304409@mail.gmail.com \
    --to=andrew.lyon@gmail.com \
    --cc=Guillaume.Rousse@inria.fr \
    --cc=pasik@iki.fi \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).