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

[patch] make xenomai userspace tools compile on arch powerpcspe



The attached patch against xenomai 2.5.6-2 from debian sid fixes
compilation for architecture powerpcspe.  It just adds a few #ifdef
__NO_FPRS__ around assembler code that messes with powerpc fpu
registers.  This code is only used for test-cases (switchtest.c)
anyways, so doesn't have any effects on run-time behaviour.

Unless nobody objects, I'm going to file a bug-reports with the BTS and
upstream in a few days.

cheers,

David
-- 
GnuPG public key: http://dvdkhlng.users.sourceforge.net/dk.gpg
Fingerprint: B17A DC95 D293 657B 4205  D016 7DEF 5323 C174 7D40

diff -Nru xenomai-2.5.6/debian/changelog xenomai-2.5.6/debian/changelog
--- xenomai-2.5.6/debian/changelog	2011-05-05 21:09:55.000000000 +0200
+++ xenomai-2.5.6/debian/changelog	2011-07-11 15:38:28.000000000 +0200
@@ -1,3 +1,9 @@
+xenomai (2.5.6-2+powerpcspe1) unstable; urgency=low
+
+  *  fixes for powerpcspe
+
+ -- David Kuehling <dvdkhlng@gmx.de>  Mon, 11 Jul 2011 15:35:46 +0200
+
 xenomai (2.5.6-2) unstable; urgency=low
 
   * Removed usage of dh-kpatches in the build process (and from Build-Depends)
diff -Nru xenomai-2.5.6/debian/control xenomai-2.5.6/debian/control
--- xenomai-2.5.6/debian/control	2011-05-05 21:09:55.000000000 +0200
+++ xenomai-2.5.6/debian/control	2011-07-11 16:42:31.000000000 +0200
@@ -8,7 +8,7 @@
 
 Package: xenomai-runtime
 Section: devel
-Architecture: amd64 arm armeb armel i386 powerpc
+Architecture: amd64 arm armeb armel i386 powerpc powerpcspe
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Suggests: linux-patch-xenomai, xenomai-doc
 Replaces: xenomai
@@ -47,7 +47,7 @@
 
 Package: libxenomai1
 Section: libs
-Architecture: amd64 arm armeb armel i386 powerpc
+Architecture: amd64 arm armeb armel i386 powerpc powerpcspe
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Suggests: linux-patch-xenomai, xenomai-doc
 Replaces: xenomai
@@ -64,7 +64,7 @@
 
 Package: libxenomai-dev
 Section: libdevel
-Architecture: amd64 arm armeb armel i386 powerpc
+Architecture: amd64 arm armeb armel i386 powerpc powerpcspe
 Depends: libxenomai1 (= ${binary:Version}), ${misc:Depends}
 Suggests: linux-patch-xenomai, xenomai-doc
 Replaces: xenomai
diff -Nru xenomai-2.5.6/debian/patches/03_fix-powerpcspe-no-fprs.patch xenomai-2.5.6/debian/patches/03_fix-powerpcspe-no-fprs.patch
--- xenomai-2.5.6/debian/patches/03_fix-powerpcspe-no-fprs.patch	1970-01-01 01:00:00.000000000 +0100
+++ xenomai-2.5.6/debian/patches/03_fix-powerpcspe-no-fprs.patch	2011-07-11 15:47:36.000000000 +0200
@@ -0,0 +1,37 @@
+Index: xenomai-2.5.6/include/asm-powerpc/fptest.h
+===================================================================
+--- xenomai-2.5.6.orig/include/asm-powerpc/fptest.h	2011-07-11 15:43:50.000000000 +0200
++++ xenomai-2.5.6/include/asm-powerpc/fptest.h	2011-07-11 15:47:28.000000000 +0200
+@@ -37,6 +37,7 @@
+ 
+ static inline void fp_regs_set(unsigned val)
+ {
++#ifndef __NO_FPRS__
+ 	uint64_t fpval = val;
+ 	__asm__ __volatile__("lfd	0, %0\n"
+ 			     "	fmr	1, 0\n"
+@@ -70,6 +71,7 @@
+ 			     "	fmr	29, 0\n"
+ 			     "	fmr	30, 0\n"
+ 			     "	fmr	31, 0\n"::"m"(fpval));
++#endif
+ }
+ 
+ #define FPTEST_REGVAL(n) {						\
+@@ -81,6 +83,8 @@
+ static inline unsigned fp_regs_check(unsigned val)
+ {
+ 	unsigned i, result = val;
++
++#ifndef __NO_FPRS__
+ 	uint32_t e[32];
+ 
+ 	FPTEST_REGVAL(0);
+@@ -121,6 +125,7 @@
+ 			printk("r%d: %u != %u\n", i, e[i], val);
+ 			result = e[i];
+ 		}
++#endif
+ 
+ 	return result;
+ }
diff -Nru xenomai-2.5.6/debian/patches/series xenomai-2.5.6/debian/patches/series
--- xenomai-2.5.6/debian/patches/series	2011-05-05 21:09:55.000000000 +0200
+++ xenomai-2.5.6/debian/patches/series	2011-07-11 15:40:57.000000000 +0200
@@ -1,2 +1,3 @@
 01_support_debian_kernel_2.6.32.patch
 02_dh-kpatches-removal.patch
+03_fix-powerpcspe-no-fprs.patch

Attachment: pgpecrLx5YsXW.pgp
Description: PGP signature


Reply to: