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-ia64-devel

Re: [Xen-ia64-devel] xen on hp rx2600

To: "Magenheimer, Dan (HP Labs Fort Collins)" <dan.magenheimer@xxxxxx>
Subject: Re: [Xen-ia64-devel] xen on hp rx2600
From: "Griffis, Aron" <aron@xxxxxx>
Date: Thu, 10 Nov 2005 15:56:01 -0500
Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Thu, 10 Nov 2005 20:57:01 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <516F50407E01324991DD6D07B0531AD57E7F62@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
References: <1131573235.9751.4.camel@tdi> <516F50407E01324991DD6D07B0531AD57E7F62@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.9i
Magenheimer, Dan (HP Labs Fort Collins) wrote:  [Wed Nov 09 2005, 05:04:42PM 
EST]
> It's possible that the problem will go away if you turn
> on CONFIG_SMP in Xen (xen/include/asm-ia64/config.h).

I made this change:

diff -r 7d81d6b8c302 xen/include/asm-ia64/config.h
--- a/xen/include/asm-ia64/config.h     Tue Nov  8 18:15:55 2005
+++ b/xen/include/asm-ia64/config.h     Thu Nov 10 12:01:29 2005
@@ -24,7 +24,7 @@
 #define CONFIG_EFI_PCDP
 #define CONFIG_SERIAL_SGI_L1_CONSOLE

-#undef CONFIG_XEN_SMP
+#define CONFIG_XEN_SMP 1

 #ifdef CONFIG_XEN_SMP
 #define CONFIG_SMP 1

Running make at the top level failed:

gcc -nostdinc -fno-builtin -fno-common -fno-strict-aliasing -O2 -iwithprefix 
include -Wall -fomit-frame-pointer 
-I/home/agriffis/xen/xen-ia64-unstable.hg/xen/include -D__KERNEL__ 
-I/home/agriffis/xen/xen-ia64-unstable.hg/xen/include/asm-ia64 
-I/home/agriffis/xen/xen-ia64-unstable.hg/xen/include/asm-ia64/linux 
-I/home/agriffis/xen/xen-ia64-unstable.hg/xen/include/asm-ia64/linux 
-I/home/agriffis/xen/xen-ia64-unstable.hg/xen/include/asm-ia64/linux-xen 
-I/home/agriffis/xen/xen-ia64-unstable.hg/xen/include/asm-ia64/linux-null 
-I/home/agriffis/xen/xen-ia64-unstable.hg/xen/arch/ia64/linux 
-I/home/agriffis/xen/xen-ia64-unstable.hg/xen/arch/ia64/linux-xen 
-Wno-pointer-arith -Wredundant-decls -DIA64 -DXEN -DLINUX_2_6 -ffixed-r13 
-mfixed-range=f12-f15,f32-f127 -w -g -DNDEBUG -c linux-xen/sal.c -o sal.o
In file included from 
/home/agriffis/xen/xen-ia64-unstable.hg/xen/include/xen/bitmap.h:7,
                 from 
/home/agriffis/xen/xen-ia64-unstable.hg/xen/include/linux/cpumask.h:77,
                 from 
/home/agriffis/xen/xen-ia64-unstable.hg/xen/include/asm-ia64/linux/asm/smp.h:17,
                 from 
/home/agriffis/xen/xen-ia64-unstable.hg/xen/include/linux/smp.h:13,
                 from linux-xen/sal.c:21:
/home/agriffis/xen/xen-ia64-unstable.hg/xen/include/xen/lib.h:55: error: 
conflicting types for 'sprintf'
/home/agriffis/xen/xen-ia64-unstable.hg/xen/include/xen/lib.h:55: note: a 
parameter list with an ellipsis can't match an empty parameter name list 
declaration
/home/agriffis/xen/xen-ia64-unstable.hg/xen/include/asm-ia64/linux/efi.h:283: 
error: previous implicit declaration of 'sprintf' was here
make[2]: *** [sal.o] Error 1
make[2]: Leaving directory 
`/home/agriffis/xen/xen-ia64-unstable.hg/xen/arch/ia64'
make[1]: *** [/home/agriffis/xen/xen-ia64-unstable.hg/xen/xen] Error 2
make[1]: Leaving directory `/home/agriffis/xen/xen-ia64-unstable.hg/xen'
make: *** [install-xen] Error 2

In ref-linux-2.6.12, sprintf() is declared by linux/kernel.h, but
xen's version of linux/kernel.h is stripped down.  In xen, sprintf()
is declared instead by xen/lib.h

When sal.c is built without SMP, sprintf() is only implicitly declared
by its usage in efi.h.  When sal.c is built with SMP, more headers get
pulled in that eventually lead to xen/lib.h, so the implicit
declaration conflicts with the later explicit declaration.

How is this usually solved in xen?  Ideally I think you'd like to
#include xen/lib.h explicitly in efi.h so that sprintf() is properly
defined.  However efi.h currently has no changes between
ref-linux-2.6.12 and linux-2.6.12-xen0, so maybe there's a better
approach...

-- 
Aron Griffis
hp Open Source & Linux Organization R&D

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
<Prev in Thread] Current Thread [Next in Thread>