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

Re: [Xen-devel] [PATCH] Fix linux compilation on x86-64


  • To: "Keir Fraser" <Keir.Fraser@xxxxxxxxxxxx>
  • From: "B Thomas" <bjthomas3@xxxxxxxxx>
  • Date: Mon, 22 Jan 2007 09:42:29 -0500
  • Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, Stefan Berger <stefanb@xxxxxxxxxx>
  • Delivery-date: Mon, 22 Jan 2007 06:42:05 -0800
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=b/lt2bRUOgZ9QPwJxUl3ijCC2hPRo0lgfWTaeGSz+LrHuk04986rJEf37ripbqOxnL8flsXV8tBRjCjTvuaQrCxpXjCssXfvvfbzyEiu8U+QtJKsT9mpJxC4GD8ZFERJJnRsrwFqsA0GoI23r/fpPSh+T3au2DimJsfX2QaQvrc=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

It's pretty clearly broken. On an FC6-based development system, I see the swiotlb_force problem, but I haven't had the time to chase down a fix. My first, no-time-involved guess would be the static int and extern int combination, which is pretty much what the error message indicates. But, as I've noted, composing this email is the most time that I've spent on this.

-b


  CC      lib/percpu_counter.o
  CC      lib/../arch/i386/kernel/swiotlb.o
/home/ben/src/xen-unstable.hg/linux-2.6.18-xen/lib/../arch/i386/kernel/swiotlb.c:50: error: static declaration of 'swiotlb_force' follows non-static declaration
include2/asm/swiotlb.h:45: error: previous declaration of 'swiotlb_force' was here
make[6]: *** [lib/../arch/i386/kernel/swiotlb.o] Error 1
make[5]: *** [lib] Error 2
make[4]: *** [vmlinuz] Error 2
make[3]: *** [vmlinuz] Error 2
make[3]: Leaving directory `/home/ben/src/xen-unstable.hg/build-linux-2.6.18-xen_x86_64'
make[2]: *** [build] Error 2
make[2]: Leaving directory `/home/ben/src/xen-unstable.hg'
make[1]: *** [linux-2.6-xen-install ] Error 2
make[1]: Leaving directory `/home/ben/src/xen-unstable.hg'
make: *** [install-kernels] Error 1
[ben@bthomas2 xen-unstable.hg]$ grep -rI swiotlb_force *
build-linux-2.6.18-xen_x86_64/include2/asm/swiotlb.h:extern int swiotlb_force;
linux-2.6.18-xen/arch/i386/kernel/swiotlb.c:static int swiotlb_force;
linux-2.6.18-xen/arch/i386/kernel/swiotlb.c:            swiotlb_force = 1;
linux-2.6.18-xen/arch/i386/kernel/swiotlb.c:            swiotlb_force = -1;
linux-2.6.18-xen/arch/i386/kernel/swiotlb.c:    if (swiotlb_force == 1) {
linux-2.6.18-xen/arch/i386/kernel/swiotlb.c:    } else if ((swiotlb_force != -1) &&
linux-2.6.18-xen/arch/x86_64/kernel/pci-swiotlb-xen.c :  if (swiotlb_force)
linux-2.6.18-xen/arch/x86_64/kernel/pci-swiotlb.c:      if (swiotlb_force)
linux-2.6.18-xen/include/asm-x86_64/swiotlb.h:extern int swiotlb_force;
linux-2.6.18-xen/lib/swiotlb.c:int swiotlb_force;
linux-2.6.18-xen/lib/swiotlb.c:         swiotlb_force = 1;
linux-2.6.18-xen/lib/swiotlb.c: if (!address_needs_mapping(hwdev, dev_addr) && !swiotlb_force)
linux-2.6.18-xen/lib/swiotlb.c:         if (swiotlb_force || address_needs_mapping(hwdev, dev_addr)) {
linux-2.6-xen-sparse/arch/i386/kernel/swiotlb.c:static int swiotlb_force;
linux-2.6-xen-sparse/arch/i386/kernel/swiotlb.c:                swiotlb_force = 1;
linux-2.6-xen-sparse/arch/i386/kernel/swiotlb.c:                swiotlb_force = -1;
linux-2.6-xen-sparse/arch/i386/kernel/swiotlb.c:        if (swiotlb_force == 1) {
linux-2.6-xen-sparse/arch/i386/kernel/swiotlb.c:        } else if ((swiotlb_force != -1) &&
linux-2.6-xen-sparse/arch/x86_64/kernel/pci- swiotlb-xen.c:      if (swiotlb_force)
pristine-linux-2.6.18/arch/x86_64/kernel/pci-swiotlb.c: if (swiotlb_force)
pristine-linux-2.6.18/include/asm-x86_64/swiotlb.h:extern int swiotlb_force;
pristine-linux-2.6.18 /lib/swiotlb.c:int swiotlb_force;
pristine-linux-2.6.18/lib/swiotlb.c:            swiotlb_force = 1;
pristine-linux-2.6.18/lib/swiotlb.c:    if (!address_needs_mapping(hwdev, dev_addr) && !swiotlb_force)
pristine-linux-2.6.18/lib/swiotlb.c:            if (swiotlb_force || address_needs_mapping(hwdev, dev_addr)) {
ref-linux-2.6.18/arch/x86_64/kernel/pci-swiotlb.c:      if (swiotlb_force)
ref-linux-2.6.18/include/asm-x86_64/swiotlb.h:extern int swiotlb_force;
ref-linux-2.6.18/lib/swiotlb.c:int swiotlb_force;
ref-linux-2.6.18/lib/swiotlb.c:         swiotlb_force = 1;
ref-linux-2.6.18/lib/swiotlb.c: if (!address_needs_mapping(hwdev, dev_addr) && !swiotlb_force)
ref-linux-2.6.18/lib/swiotlb.c:         if (swiotlb_force || address_needs_mapping(hwdev, dev_addr)) {
[ben@bthomas2 xen-unstable.hg]$


On 1/21/07, Keir Fraser <Keir.Fraser@xxxxxxxxxxxx> wrote:
I don't see swiotlb_force used outside of swiotlb.c. How is the build broken
(it works for me)?

-- Keir

On 20/1/07 5:22 pm, "Stefan Berger" <stefanb@xxxxxxxxxx > wrote:

> This patch fixes Linux 2.6.18 compilation on x86-64 and also works on
> i386.
>
> Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxx>
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel



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

_______________________________________________
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®.