Module: xenomai-3
Branch: next
Commit: eb314853e93b81da595b79061dabb7d2c55351fe
URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=eb314853e93b81da595b79061dabb7d2c55351fe

Author: Philippe Gerum <[email protected]>
Date:   Mon May 21 12:42:46 2018 +0200

powerpc64: drop architecture support

The powerpc64 architecture does not seem to have any active Xenomai
user, at least none who may be concerned enough to be willing to help
in maintaining this Xenomai port.

---

 configure.ac                                       |    2 +-
 doc/asciidoc/README.INSTALL.adoc                   |   18 ++---------
 doc/asciidoc/TROUBLESHOOTING.COBALT.adoc           |   10 ------
 .../arch/powerpc/include/asm/xenomai/calibration.h |    4 ---
 .../arch/powerpc/include/asm/xenomai/machine.h     |    5 ---
 .../arch/powerpc/include/asm/xenomai/uapi/arith.h  |   32 --------------------
 lib/cobalt/arch/powerpc/include/asm/xenomai/tsc.h  |    7 -----
 7 files changed, 3 insertions(+), 75 deletions(-)

diff --git a/configure.ac b/configure.ac
index a6b1200..e2a2d47 100644
--- a/configure.ac
+++ b/configure.ac
@@ -126,7 +126,7 @@ case "$build_for" in
        target_cpu_arch=x86
        CONFIG_XENO_DEFAULT_PERIOD=100000
        ;;
- ppc-*|powerpc-*|powerpc64-*|ppc64-*)
+ ppc-*|powerpc-*)
        use_tls=yes
        target_cpu_arch=powerpc
        CONFIG_XENO_DEFAULT_PERIOD=100000
diff --git a/doc/asciidoc/README.INSTALL.adoc b/doc/asciidoc/README.INSTALL.adoc
index 4fe6867..cbd2adc 100644
--- a/doc/asciidoc/README.INSTALL.adoc
+++ b/doc/asciidoc/README.INSTALL.adoc
@@ -248,8 +248,8 @@ have to install the proper cross-compilation toolchain for 
the target
 system first.
 
 [[cobalt-core-powerpc]]
-Building a _Cobalt/powerpc_ kernel (32/64bit)
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Building a _Cobalt/powerpc_ kernel
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 A typical cross-compilation setup, in order to build Xenomai for a
 ppc-6xx architecture running a 3.10.32 kernel. We use the DENX ELDK
@@ -758,20 +758,6 @@ $ $xenomai_root/configure --host=powerpc-linux 
--with-core=cobalt \
 $ make DESTDIR=$staging_dir install
 ------------------------------------------------------------------------------
 
-Building the PPC64 libraries
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Same process than for a 32bit PowerPC target, using a crosstool-built
-toolchain for ppc64/SMP.
-
-------------------------------------------------------------------------------
-$ cd $build_root
-$ $xenomai_root/configure --host=powerpc64-unknown-linux-gnu \
-  --with-core=cobalt --enable-smp
-$ make DESTDIR=$staging_dir install
-------------------------------------------------------------------------------
-
-
 Building the ARM libraries
 ~~~~~~~~~~~~~~~~~~~~~~~~~~
 
diff --git a/doc/asciidoc/TROUBLESHOOTING.COBALT.adoc 
b/doc/asciidoc/TROUBLESHOOTING.COBALT.adoc
index db5673a..778e74f 100644
--- a/doc/asciidoc/TROUBLESHOOTING.COBALT.adoc
+++ b/doc/asciidoc/TROUBLESHOOTING.COBALT.adoc
@@ -125,16 +125,6 @@ article] from the Knowledge Base.
 
 See <<no-timer, this entry>>.
 
-==== system init failed, code -22
-
-On the ppc64 platform, check whether +CONFIG_PPC_64K_PAGES+ is defined
-in your kernel configuration. If so, then you likely need to raise all
-Xenomai parameters defining the size of internal heaps, such as
-+CONFIG_XENO_OPT_SYS_HEAPSZ+, +CONFIG_XENO_OPT_GLOBAL_SEM_HEAPSZ+ and
-+CONFIG_XENO_OPT_SEM_HEAPSZ+, so that (size / 64k) > 2. The default
-values for these parameters are currently based on the assumption that
-PAGE_SIZE = 4k.
-
 ==== Local APIC absent or disabled!
 
 The Xenomai 2.x _nucleus_ issues this warning if the kernel
diff --git a/kernel/cobalt/arch/powerpc/include/asm/xenomai/calibration.h 
b/kernel/cobalt/arch/powerpc/include/asm/xenomai/calibration.h
index 07dee5f..9f06c3f 100644
--- a/kernel/cobalt/arch/powerpc/include/asm/xenomai/calibration.h
+++ b/kernel/cobalt/arch/powerpc/include/asm/xenomai/calibration.h
@@ -94,12 +94,8 @@ static inline void xnarch_get_latencies(struct 
xnclock_gravity *p)
 
 #ifndef __sched_latency
 /* Platform is unknown: pick a default value. */
-#ifdef CONFIG_PPC64
-#define __sched_latency 1000
-#else
 #define __sched_latency 4000
 #endif
-#endif
        p->user = xnclock_ns_to_ticks(&nkclock, __sched_latency);
        p->kernel = xnclock_ns_to_ticks(&nkclock, 
CONFIG_XENO_OPT_TIMING_KSCHEDLAT);
        p->irq = xnclock_ns_to_ticks(&nkclock, CONFIG_XENO_OPT_TIMING_IRQLAT);
diff --git a/kernel/cobalt/arch/powerpc/include/asm/xenomai/machine.h 
b/kernel/cobalt/arch/powerpc/include/asm/xenomai/machine.h
index 6737ddc..0e41fd6 100644
--- a/kernel/cobalt/arch/powerpc/include/asm/xenomai/machine.h
+++ b/kernel/cobalt/arch/powerpc/include/asm/xenomai/machine.h
@@ -29,13 +29,8 @@
 
 static inline __attribute_const__ unsigned long ffnz(unsigned long ul)
 {
-#ifdef CONFIG_PPC64
-       __asm__ ("cntlzd %0, %1" : "=r" (ul) : "r" (ul & (-ul)));
-       return 63 - ul;
-#else
        __asm__ ("cntlzw %0, %1":"=r"(ul):"r"(ul & (-ul)));
        return 31 - ul;
-#endif
 }
 
 /* Read this last to enable default settings. */
diff --git a/kernel/cobalt/arch/powerpc/include/asm/xenomai/uapi/arith.h 
b/kernel/cobalt/arch/powerpc/include/asm/xenomai/uapi/arith.h
index 3efd411..160a7d8 100644
--- a/kernel/cobalt/arch/powerpc/include/asm/xenomai/uapi/arith.h
+++ b/kernel/cobalt/arch/powerpc/include/asm/xenomai/uapi/arith.h
@@ -20,36 +20,6 @@
 
 #include <asm/xenomai/uapi/features.h>
 
-#ifdef __powerpc64__
-
-#define xnarch_nodiv_ullimd(op, frac, integ) \
-       mach_powerpc_nodiv_ullimd((op), (frac), (integ))
-
-static inline __attribute__((__const__)) unsigned long long
-mach_powerpc_nodiv_ullimd(const unsigned long long op,
-                            const unsigned long long frac,
-                            const unsigned rhs_integ)
-{
-       unsigned long h, l, m;
-
-       __asm__("mulhdu   %0, %3, %4\n\t"                       \
-               "mulld    %1, %3, %4\n\t"                       \
-               "rlwinm   %2, %1, 0, 0, 0\n\t"                  \
-               "sldi     %2, %2, 1\n\t"                        \
-               "addc     %1, %1, %2\n\t"                       \
-               "addze    %0, %0\n\t"                           \
-               "mr       %2, %5\n\t"                           \
-               "clrldi   %2, %2, 32\n\t"                       \
-               "mulld    %2, %3, %2\n\t"                       \
-               "adde     %0, %0, %2\n\t"                       \
-               : "=&r"(h), "=&r"(l), "=&r"(m)                  \
-               : "r"(op), "r"(frac), "r"(rhs_integ) : "cc");   \
-
-       return h;
-}
-
-#else /* !__powerpc64__ */
-
 #define xnarch_add96and64(l0, l1, l2, s0, s1)          \
        do {                                            \
                __asm__ ("addc %2, %2, %4\n\t"          \
@@ -59,8 +29,6 @@ mach_powerpc_nodiv_ullimd(const unsigned long long op,
                         : "r"(s0), "r"(s1) : "cc");    \
        } while (0)
 
-#endif /* !__powerpc64__ */
-
 #include <cobalt/uapi/asm-generic/arith.h>
 
 #endif /* _COBALT_POWERPC_ASM_UAPI_ARITH_H */
diff --git a/lib/cobalt/arch/powerpc/include/asm/xenomai/tsc.h 
b/lib/cobalt/arch/powerpc/include/asm/xenomai/tsc.h
index 3aeebf0..f6fc24a 100644
--- a/lib/cobalt/arch/powerpc/include/asm/xenomai/tsc.h
+++ b/lib/cobalt/arch/powerpc/include/asm/xenomai/tsc.h
@@ -20,12 +20,6 @@
 
 static inline unsigned long long cobalt_read_tsc(void)
 {
-#if defined(__powerpc64__)
-       unsigned long long t;
-
-       __asm__ __volatile__("mftb %0\n":"=r"(t));
-       return t;
-#else  /* !__powerpc64__ */
        union {
                unsigned long long t;
                unsigned long v[2];
@@ -39,7 +33,6 @@ static inline unsigned long long cobalt_read_tsc(void)
                             "bne- 1b\n":"=r"(u.v[0]),
                             "=r"(u.v[1]), "=r"(__tbu));
        return u.t;
-#endif /* __powerpc64__ */
 }
 
 #endif /* !_LIB_COBALT_POWERPC_TSC_H */


_______________________________________________
Xenomai-git mailing list
[email protected]
https://xenomai.org/mailman/listinfo/xenomai-git

Reply via email to