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
