Four ways RH could help with xen-ia64

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

 



Hi guys,

There are four ways you could be a big help to the xen-ia64 effort.
I have mentioned these in the past but never pulled them together into
a single request.

1. Publish Juan's tree which is the result of his merge of
   linux-2.6.tip-xen, linux-2.6 and linux-2.6-xen.  How about
   http://people.redhat.com/quintela/linux-2.6.tip-xen-fedora.hg?
   As things stand right now, it's very difficult for ia64 devs to
   contribute to Juan's patch, for 2 reasons: (1) we never see it
   until after a new kernel rpm is published, (2) all we get is the
   final result, lacking the extremely helpful changeset history.

2. Use matched xenlinux/hypervisor pairs.  At the OLS Xen mini-summit
   there was some discussion of compatibility.  The statements were:
	- old domU should run on new hypervisor
	- new domU NOT guaranteed to run on old hypervisor
	- dom0 and hypervisor should be MATCHED

   Presently (kernel-2.6.17-1.2432.fc6.src.rpm) it appears that the
   hypervisor and xen patch are both dated 20060719.  That's a good
   sign! :-)   It would be great if you could provide some indication
   of your intent to continue using matched pairs.  Are they actually
   based on the same xen-unstable changeset?  We, the users, can't
   tell because the tarball is dated instead of cset-stamped, and
   Juan's tree isn't available.  See #1 ;-)

3. Apply my kernel.spec and config changes at the end of this email.
   This would make it much easier for the ia64 developers to do test
   builds and track down failures.  Presently it's a pain for me to
   maintain this out of tree.

4. Apply the xen.spec and libvirt.spec changes.
	https://www.redhat.com/archives/fedora-xen/2006-July/msg00022.html
	https://www.redhat.com/archives/fedora-xen/2006-July/msg00021.html

   Regarding libvirt.spec, I've talked with Daniel and he's just
   waiting for xen.spec to be ia64-enabled...

Objections/comments?  I'll attempt to update any relevant BZs today.

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

--

Fedora-xen@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-xen

[Index of Archives]     [Fedora General]     [Fedora Music]     [Linux Kernel]     [Fedora Desktop]     [Fedora Directory]     [PAM]     [Big List of Linux Books]     [Gimp]     [Yosemite News]

  Powered by Linux