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

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



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

 


Rackspace

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