Thanks,
Aron
b/devel/configs/config-xen-ia64 | 20 ++++++++++++++++
devel/Makefile.config | 18 ++++++++++++--
devel/kernel-2.6.spec | 50 +++++++++++++++++++++++++++++-----------
3 files changed, 72 insertions(+), 16 deletions(-)
diff -r 658c33aa557a -r 250cc32cdde6 devel/Makefile.config
--- a/devel/Makefile.config Sat Jul 22 09:19:48 2006 -0400
+++ b/devel/Makefile.config Sat Jul 22 09:25:25 2006 -0400
@@ -12,7 +12,8 @@ CONFIGFILES = \
$(CFG)-s390.config $(CFG)-s390x.config \
$(CFG)-ppc.config $(CFG)-ppc-smp.config \
$(CFG)-ppc64.config $(CFG)-ppc64-kdump.config $(CFG)-ia64.config \
- $(CFG)-i686-xen.config $(CFG)-x86_64-xen.config
+ $(CFG)-i686-xen.config $(CFG)-x86_64-xen.config \
+ $(CFG)-ia64-xen.config
PLATFORMS = x86 x86_64 powerpc powerpc32 powerpc64 s390 ia64 # sparc sparc64
TEMPFILES = $(addprefix temp-, $(addsuffix -generic, $(PLATFORMS)))
@@ -20,8 +21,10 @@ configs: $(CONFIGFILES)
configs: $(CONFIGFILES)
@rm -f kernel-*-config
@rm -f $(TEMPFILES)
- @rm -f temp-xen-generic temp-x86-xen-generic temp-x86_64-xen-generic \
- temp-generic temp-x86_64-xen-generic-tmp
+ @rm -f temp-generic temp-xen-generic \
+ temp-x86-xen-generic \
+ temp-x86_64-xen-generic temp-x86_64-xen-generic-tmp \
+ temp-ia64-xen-generic temp-ia64-xen-generic-tmp
# Augment the clean target to clean up our own cruft
clean ::
@@ -67,6 +70,12 @@ temp-x86_64-xen-generic-tmp: configs/con
perl merge.pl $^ > $@
temp-x86_64-xen-generic: configs/config-xen-x86_64 temp-x86_64-xen-generic-tmp
+ perl merge.pl $^ > $@
+
+temp-ia64-xen-generic-tmp: configs/config-xen-generic temp-ia64-generic
+ perl merge.pl $^ > $@
+
+temp-ia64-xen-generic: configs/config-xen-ia64 temp-ia64-xen-generic-tmp
perl merge.pl $^ > $@
kernel-$(VERSION)-i686.config: configs/config-i686 temp-x86-generic
@@ -132,3 +141,6 @@ kernel-$(VERSION)-x86_64-xen.config: con
kernel-$(VERSION)-x86_64-xen.config: configs/config-x86_64 temp-x86_64-xen-generic
perl merge.pl $^ x86_64 > $@
+kernel-$(VERSION)-ia64-xen.config: configs/config-xen-xen temp-ia64-xen-generic
+ perl merge.pl $^ ia64 > $@
+
diff -r 658c33aa557a -r 250cc32cdde6 devel/kernel-2.6.spec
--- a/devel/kernel-2.6.spec Sat Jul 22 09:19:48 2006 -0400
+++ b/devel/kernel-2.6.spec Sat Jul 22 09:25:25 2006 -0400
@@ -36,6 +36,9 @@ Summary: The Linux kernel (the core of t
%define xen_version 20060719
%define make_target bzImage
%define kernel_image x86
+%define xen_flags verbose=y debug=y crash_debug=y pae=y
+%define xen_target vmlinuz
+%define xen_image vmlinuz
%define KVERREL %{PACKAGE_VERSION}-%{PACKAGE_RELEASE}
@@ -56,10 +59,14 @@ Summary: The Linux kernel (the core of t
%define all_arch_configs $RPM_SOURCE_DIR/kernel-%{kversion}-*.config
%endif
-# Xen and kdump only build on i686 and x86_64 ...
+# kdump only builds on i686 and x86_64
%ifnarch i686 x86_64
+%define buildkdump 0
+%endif
+
+# Xen only builds on i686, x86_64 and ia64 ...
+%ifnarch i686 x86_64 ia64
%define buildxen 0
-%define buildkdump 0
%endif
%ifarch ppc64
@@ -134,11 +141,15 @@ Summary: The Linux kernel (the core of t
%endif
%ifarch ia64
-%define all_arch_configs $RPM_SOURCE_DIR/kernel-%{kversion}-ia64.config
+%define all_arch_configs $RPM_SOURCE_DIR/kernel-%{kversion}-ia64*.config
%define image_install_path boot/efi/EFI/redhat
#define signmodules 1
%define make_target compressed
%define kernel_image vmlinux.gz
+# ia64 doesn't building with debug=y at the moment
+%define xen_flags verbose=y crash_debug=y
+%define xen_target compressed
+%define xen_image vmlinux.gz
%endif
#
@@ -237,6 +248,7 @@ Source33: kernel-%{kversion}-i686-xen.co
Source33: kernel-%{kversion}-i686-xen.config
Source34: kernel-%{kversion}-x86_64-xen.config
Source35: kernel-%{kversion}-i686-kdump.config
+Source36: kernel-%{kversion}-ia64-xen.config
#Source66: kernel-%{kversion}-sparc.config
#Source67: kernel-%{kversion}-sparc64.config
@@ -785,17 +797,29 @@ cd linux-%{kversion}.%{_target_cpu}
#
%patch950 -p1 -b .p.xen
#
-# ... and back out all the ia64-specific sections, as they currently prevent
+# ... and back out all the tpm-specific sections, as they currently prevent
# non-xen builds from working.
-# Now also with tpm
-#
-for f in `find drivers/char/tpm arch/ia64/ include/asm-ia64/ include/xen/interface/arch-ia64.h* -type f -name "*.p.xen"` ; do \
+#
+for f in `find drivers/char/tpm -type f -name "*.p.xen"` ; do \
g=`dirname $f`/`basename $f .p.xen`; \
mv "$f" "$g"; \
if [ ! -s "$g" ] ; then rm -f "$g" ; fi; \
done
# Delete the rest of the backup files, they just confuse the build later
find -name "*.p.xen" | xargs rm -f
+
+# These are fixed in xen-ia64-unstable, they will announce their retirement
+# automatically when the changes propogate down the chain to Juan
+if [[ ! -f arch/ia64/kernel/asm-offsets.c ]]; then
+ ln -sf ../../../../xen/include/asm-ia64/asm-xsi-offsets.h include/asm-ia64/xen/
+else
+ printf "*\n* please retire asm-xsi-offsets.h symlink from kernel-2.6.spec\n*\n"
+fi
+if grep -q xenia64_init drivers/xen/core/Makefile; then
+ ln -sf ../../../arch/ia64/xen/drivers/xenia64_init.c drivers/xen/core/
+else
+ printf "*\n* please retire xenia64_init.c symlink from kernel-2.6.spec\n*\n"
+fi
%patch951 -p1
%patch952 -p1
@@ -1235,9 +1259,9 @@ mkdir -p $RPM_BUILD_ROOT/boot
%if %{includexen}
%if %{buildxen}
cd xen
- mkdir -p $RPM_BUILD_ROOT/%{image_install_path}
- make debug=y verbose=y crash_debug=y pae=y
- install -m 644 xen.gz $RPM_BUILD_ROOT/boot/xen.gz-%{KVERREL}
+ mkdir -p $RPM_BUILD_ROOT/%{image_install_path} $RPM_BUILD_ROOT/boot
+ make %{?_smp_mflags} %{xen_flags}
+ install -m 644 xen.gz $RPM_BUILD_ROOT/%{image_install_path}/xen.gz-%{KVERREL}
install -m 755 xen-syms $RPM_BUILD_ROOT/boot/xen-syms-%{KVERREL}
cd ..
mkdir -p $RPM_BUILD_ROOT/usr/src/kernels/%{KVERREL}-xen-%{_target_cpu}
@@ -1261,7 +1285,7 @@ BuildKernel %make_target %kernel_image s
%if %{includexen}
%if %{buildxen}
-BuildKernel vmlinuz vmlinuz xen
+BuildKernel %xen_target %xen_image xen
%endif
%endif
@@ -1432,7 +1456,7 @@ fi
%post xen
[ ! -x /usr/sbin/module_upgrade ] || /usr/sbin/module_upgrade %{rpmversion}-%{release}-xen
if [ -e /proc/xen/xsd_kva -o ! -d /proc/xen ]; then
- /sbin/new-kernel-pkg --package kernel-xen --mkinitrd --depmod --install --multiboot=/boot/xen.gz-%{KVERREL} %{KVERREL}xen
+ /sbin/new-kernel-pkg --package kernel-xen --mkinitrd --depmod --install --multiboot=/%{image_install_path}/xen.gz-%{KVERREL} %{KVERREL}xen
else
/sbin/new-kernel-pkg --package kernel-xen --mkinitrd --depmod --install %{KVERREL}xen
fi
@@ -1565,7 +1589,7 @@ fi
/boot/symvers-%{KVERREL}xen.gz
/boot/symsets-%{KVERREL}xen.tar.gz
/boot/config-%{KVERREL}xen
-/boot/xen.gz-%{KVERREL}
+/%{image_install_path}/xen.gz-%{KVERREL}
/boot/xen-syms-%{KVERREL}
%dir /lib/modules/%{KVERREL}xen
/lib/modules/%{KVERREL}xen/kernel
diff -r 658c33aa557a -r 250cc32cdde6 devel/configs/config-xen-ia64
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/configs/config-xen-ia64 Sat Jul 22 09:25:25 2006 -0400
@@ -0,0 +1,20 @@
+# override i686 xen
+
+# CONFIG_X86 is not set
+# CONFIG_X86_XEN is not set
+CONFIG_IA64=y
+CONFIG_XEN=y
+CONFIG_XEN_IA64_DOM0_VP=y
+CONFIG_XEN_DISABLE_SERIAL=y
+
+# override ia64 generic
+
+# CONFIG_IA64_GENERIC is not set
+CONFIG_IA64_DIG=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM_MANUAL=y
+CONFIG_FORCE_MAX_ZONEORDER=11
+
+# internal #defines conflict with xen-ia64
+# CONFIG_FB_NEOMAGIC is not set