Commit bfabba5e authored by Philippe Gerum's avatar Philippe Gerum
Browse files

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.
parent 907185a6
......@@ -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
......
......@@ -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
~~~~~~~~~~~~~~~~~~~~~~~~~~
......
......@@ -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
......
......@@ -94,11 +94,7 @@ 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);
......
......@@ -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. */
......
......@@ -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 */
......@@ -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 */
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment