Alex Williamson wrote: [Thu May 25 2006, 01:20:48AM EDT]
> This is definitely something we need to clean up. A couple issues
> with the patch though; it doesn't apply cleanly on current xen-unstable
> and it drops evtchn_ia64 vs evtchn. The latter is gone from the
> xen-ia64-unstable tree, but still exists in xen-unstable. Otherwise, I
> like it. Thanks,
Thanks for catching both of these problems. Here is a new patch which
applies to xen-unstable. This builds successfully on x86, x86_64,
ia64-vp and ia64-non-vp.
Signed-off-by: Aron Griffis <aron@xxxxxx>
# HG changeset patch
# User agriffis@xxxxxxxxxxxxxxxxx
# Node ID 86bcc332bedd3c05ad30d2b0378f532eca8f7503
# Parent da7fe04d8e80beeda874b89f8c6e6dc80bfec4c7
Take a bite out of arch/ia64/xen-mkbuildtree-pre, which needs to go
away for inclusion of xen-ia64 in Fedora.
Converge the ia64-specific and general versions of
xen/drivers/Makefile and xen/drivers/core/Makefile. Use Kconfig
settings instead to control whether specific pieces are built. These
config settings might disappear when the ia64 p2m/vp conversion is
complete, but for the moment it's a clean way of handling the two
personalities of xen-ia64.
Handle evtchn/evtchn_ia64 with ifeq ($(ARCH),ia64) since this will go away with
the next pull of xen-ia64-unstable into xen-unstable, and I think this creates
less work to undo when that occurs.
diff -r da7fe04d8e80 -r 86bcc332bedd linux-2.6-xen-sparse/arch/ia64/Kconfig
--- a/linux-2.6-xen-sparse/arch/ia64/Kconfig Thu May 25 16:00:36 2006 +0100
+++ b/linux-2.6-xen-sparse/arch/ia64/Kconfig Thu May 25 14:24:26 2006 -0400
@@ -73,7 +73,7 @@ config XEN_IA64_DOM0_VP
config XEN_IA64_DOM0_NON_VP
bool
- depends on !(XEN && XEN_IA64_DOM0_VP)
+ depends on XEN && !XEN_IA64_DOM0_VP
default y
help
dom0 P=M model
@@ -496,15 +496,42 @@ source "security/Kconfig"
source "crypto/Kconfig"
+#
# override default values of drivers/xen/Kconfig
-if !XEN_IA64_DOM0_VP
+#
+if XEN
+config XEN_UTIL
+ default n if XEN_IA64_DOM0_VP
+
config HAVE_ARCH_ALLOC_SKB
- bool
- default n
+ default n if !XEN_IA64_DOM0_VP
config HAVE_ARCH_DEV_ALLOC_SKB
- bool
- default n
+ default n if !XEN_IA64_DOM0_VP
+
+config XEN_NETUTIL
+ default n if !XEN_IA64_DOM0_VP
+
+config XEN_BALLOON
+ default n if !XEN_IA64_DOM0_VP
+
+config XEN_SKBUFF
+ default n if !XEN_IA64_DOM0_VP
+
+config XEN_NETDEV_BACKEND
+ default n if !XEN_IA64_DOM0_VP
+
+config XEN_NETDEV_FRONTEND
+ default n if !XEN_IA64_DOM0_VP
+
+config XEN_CHAR
+ default n
+
+config XEN_REBOOT
+ default n
+
+config XEN_SMPBOOT
+ default n
endif
source "drivers/xen/Kconfig"
diff -r da7fe04d8e80 -r 86bcc332bedd
linux-2.6-xen-sparse/arch/ia64/xen-mkbuildtree-pre
--- a/linux-2.6-xen-sparse/arch/ia64/xen-mkbuildtree-pre Thu May 25
16:00:36 2006 +0100
+++ b/linux-2.6-xen-sparse/arch/ia64/xen-mkbuildtree-pre Thu May 25
14:24:26 2006 -0400
@@ -9,12 +9,6 @@
#eventually asm-xsi-offsets needs to be part of hypervisor.h/hypercall.h
ln -sf ../../../../xen/include/asm-ia64/asm-xsi-offsets.h include/asm-ia64/xen/
-
-#ia64 drivers/xen isn't fully functional yet, workaround...
-#also ignore core/evtchn.c which uses a different irq mechanism than ia64
-#(warning: there be dragons here if these files diverge)
-ln -sf ../../arch/ia64/xen/drivers/Makefile drivers/xen/Makefile
-ln -sf ../../../arch/ia64/xen/drivers/coreMakefile drivers/xen/core/Makefile
#not sure where these ia64-specific files will end up in the future
ln -sf ../../../arch/ia64/xen/drivers/xenia64_init.c drivers/xen/core
diff -r da7fe04d8e80 -r 86bcc332bedd linux-2.6-xen-sparse/drivers/xen/Kconfig
--- a/linux-2.6-xen-sparse/drivers/xen/Kconfig Thu May 25 16:00:36 2006 +0100
+++ b/linux-2.6-xen-sparse/drivers/xen/Kconfig Thu May 25 14:24:26 2006 -0400
@@ -228,4 +228,34 @@ config NO_IDLE_HZ
bool
default y
+config XEN_UTIL
+ bool
+ default y
+
+config XEN_NETUTIL
+ bool
+ default y
+
+config XEN_BALLOON
+ bool
+ default y
+
+config XEN_CHAR
+ bool
+ default y
+
+config XEN_SKBUFF
+ bool
+ default y
+ depends on NET
+
+config XEN_REBOOT
+ bool
+ default y
+
+config XEN_SMPBOOT
+ bool
+ default y
+ depends on SMP
+
endif
diff -r da7fe04d8e80 -r 86bcc332bedd linux-2.6-xen-sparse/drivers/xen/Makefile
--- a/linux-2.6-xen-sparse/drivers/xen/Makefile Thu May 25 16:00:36 2006 +0100
+++ b/linux-2.6-xen-sparse/drivers/xen/Makefile Thu May 25 14:24:26 2006 -0400
@@ -1,15 +1,13 @@
-
-obj-y += net_driver_util.o
-obj-y += util.o
-
obj-y += core/
-obj-y += char/
obj-y += console/
obj-y += evtchn/
-obj-y += balloon/
obj-y += privcmd/
obj-y += xenbus/
+obj-$(CONFIG_XEN_UTIL) += util.o
+obj-$(CONFIG_XEN_NETUTIL) += net_driver_util.o
+obj-$(CONFIG_XEN_BALLOON) += balloon/
+obj-$(CONFIG_XEN_CHAR) += char/
obj-$(CONFIG_XEN_BLKDEV_BACKEND) += blkback/
obj-$(CONFIG_XEN_NETDEV_BACKEND) += netback/
obj-$(CONFIG_XEN_TPMDEV_BACKEND) += tpmback/
diff -r da7fe04d8e80 -r 86bcc332bedd
linux-2.6-xen-sparse/drivers/xen/core/Makefile
--- a/linux-2.6-xen-sparse/drivers/xen/core/Makefile Thu May 25 16:00:36
2006 +0100
+++ b/linux-2.6-xen-sparse/drivers/xen/core/Makefile Thu May 25 14:24:26
2006 -0400
@@ -2,11 +2,21 @@
# Makefile for the linux kernel.
#
-obj-y := evtchn.o reboot.o gnttab.o features.o
+obj-y := gnttab.o features.o
-obj-$(CONFIG_PROC_FS) += xen_proc.o
-obj-$(CONFIG_NET) += skbuff.o
-obj-$(CONFIG_SMP) += smpboot.o
-obj-$(CONFIG_HOTPLUG_CPU) += cpu_hotplug.o
-obj-$(CONFIG_SYSFS) += hypervisor_sysfs.o
-obj-$(CONFIG_XEN_SYSFS) += xen_sysfs.o
+obj-$(CONFIG_PROC_FS) += xen_proc.o
+obj-$(CONFIG_SYSFS) += hypervisor_sysfs.o
+obj-$(CONFIG_HOTPLUG_CPU) += cpu_hotplug.o
+obj-$(CONFIG_XEN_SYSFS) += xen_sysfs.o
+obj-$(CONFIG_IA64) += xenia64_init.o
+obj-$(CONFIG_XEN_SKBUFF) += skbuff.o
+obj-$(CONFIG_XEN_REBOOT) += reboot.o
+obj-$(CONFIG_XEN_SMPBOOT) += smpboot.o
+
+# This special handling should go away with the next pull of xen-ia64-unstable
+# into xen-unstable
+ifeq ($(ARCH),ia64)
+obj-y += evtchn_ia64.o
+else
+obj-y += evtchn.o
+endif
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|