[PATCH 1/5] sapi: New implementation of rtems_panic()

2017-11-21 Thread Sebastian Huber
The previous rtems_panic() implementation was quite heavy weight.  It
depended on _exit() which calls the global destructors.  It used
fprintf(stderr, ...) for output which depends on an initialized console
device and the complex fprintf().

Introduce a new fatal source RTEMS_FATAL_SOURCE_PANIC for rtems_panic()
and output via vprintk().

Update #3244.
---
 cpukit/libcsupport/include/rtems/error.h  | 10 +-
 cpukit/libcsupport/src/error.c| 15 ---
 cpukit/sapi/Makefile.am   |  1 +
 cpukit/sapi/include/rtems/fatal.h | 12 
 cpukit/sapi/src/panic.c   | 32 +++
 cpukit/score/include/rtems/score/interr.h |  7 +++
 testsuites/sptests/sperror03/init.c   | 15 +--
 7 files changed, 58 insertions(+), 34 deletions(-)
 create mode 100644 cpukit/sapi/src/panic.c

diff --git a/cpukit/libcsupport/include/rtems/error.h 
b/cpukit/libcsupport/include/rtems/error.h
index f72d78c700..617f59642b 100644
--- a/cpukit/libcsupport/include/rtems/error.h
+++ b/cpukit/libcsupport/include/rtems/error.h
@@ -48,7 +48,7 @@
 #define _RTEMS_RTEMS_ERROR_H
 
 #include 
-#include 
+#include 
 
 #include 
 
@@ -124,14 +124,6 @@ int rtems_verror(
   va_list arglist
 );
 
-/**
- * rtems_panic is shorthand for rtems_error(RTEMS_ERROR_PANIC, ...)
- */
-void rtems_panic(
-  const char *printf_format,
-  ...
-) RTEMS_NO_RETURN;
-
 extern int rtems_panic_in_progress;
 
 #ifdef __cplusplus
diff --git a/cpukit/libcsupport/src/error.c b/cpukit/libcsupport/src/error.c
index 44cc1ee688..0e65f8929b 100644
--- a/cpukit/libcsupport/src/error.c
+++ b/cpukit/libcsupport/src/error.c
@@ -98,18 +98,3 @@ int rtems_error(
 
   return chars_written;
 }
-
-void rtems_panic(
-  const char *printf_format,
-  ...
-)
-{
-  va_list arglist;
-
-  va_start(arglist, printf_format);
-  (void) rtems_verror(RTEMS_ERROR_PANIC, printf_format, arglist);
-  va_end(arglist);
-
-  rtems_error(0, "fatal error, exiting");
-  _exit(errno);
-}
diff --git a/cpukit/sapi/Makefile.am b/cpukit/sapi/Makefile.am
index 85d89ef494..326d67f193 100644
--- a/cpukit/sapi/Makefile.am
+++ b/cpukit/sapi/Makefile.am
@@ -43,6 +43,7 @@ libsapi_a_SOURCES += src/delaynano.c
 libsapi_a_SOURCES += src/rbtree.c
 libsapi_a_SOURCES += src/rbtreefind.c
 libsapi_a_SOURCES += src/rbtreeinsert.c
+libsapi_a_SOURCES += src/panic.c
 libsapi_a_SOURCES += src/profilingiterate.c
 libsapi_a_SOURCES += src/profilingreportxml.c
 libsapi_a_SOURCES += src/tcsimpleinstall.c
diff --git a/cpukit/sapi/include/rtems/fatal.h 
b/cpukit/sapi/include/rtems/fatal.h
index 80929cd274..291af42c6e 100644
--- a/cpukit/sapi/include/rtems/fatal.h
+++ b/cpukit/sapi/include/rtems/fatal.h
@@ -89,6 +89,18 @@ RTEMS_NO_RETURN RTEMS_INLINE_ROUTINE void rtems_fatal(
 }
 
 /**
+ * @brief Prints the specified message via printk() and terminates the system.
+ *
+ * @param[in] fmt The message format.
+ * @param[in] ... The message parameters.
+ *
+ * @see _Terminate().
+ */
+RTEMS_NO_RETURN void rtems_panic(
+  const char *fmt, ...
+) RTEMS_PRINTFLIKE( 1, 2 );
+
+/**
  * @brief Returns a text for a fatal source.
  *
  * The text for each fatal source is the enumerator constant.
diff --git a/cpukit/sapi/src/panic.c b/cpukit/sapi/src/panic.c
new file mode 100644
index 00..34b6f75213
--- /dev/null
+++ b/cpukit/sapi/src/panic.c
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2017 embedded brains GmbH.  All rights reserved.
+ *
+ *  embedded brains GmbH
+ *  Dornierstr. 4
+ *  82178 Puchheim
+ *  Germany
+ *  
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.com/license/LICENSE.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include 
+
+#include 
+
+void rtems_panic( const char *fmt, ... )
+{
+  va_list ap;
+
+  va_start( ap, fmt );
+  vprintk( fmt, ap );
+  va_end( ap);
+
+  _Terminate( RTEMS_FATAL_SOURCE_PANIC, (Internal_errors_t) fmt );
+}
diff --git a/cpukit/score/include/rtems/score/interr.h 
b/cpukit/score/include/rtems/score/interr.h
index 4de9406200..a93eaf659c 100644
--- a/cpukit/score/include/rtems/score/interr.h
+++ b/cpukit/score/include/rtems/score/interr.h
@@ -124,6 +124,13 @@ typedef enum {
   RTEMS_FATAL_SOURCE_SMP = 10,
 
   /**
+   * @brief Fatal source of rtems_panic().
+   *
+   * @see rtem
+   */
+  RTEMS_FATAL_SOURCE_PANIC = 11,
+
+  /**
* @brief The last available fatal source.
*
* This enum value ensures that the enum type needs at least 32-bits for
diff --git a/testsuites/sptests/sperror03/init.c 
b/testsuites/sptests/sperror03/init.c
index f4323a5001..ad42d96a47 100644
--- a/testsuites/sptests/sperror03/init.c
+++ b/testsuites/sptests/sperror03/init.c
@@ -16,8 +16,7 @@
 
 const char rtems_test_name[] = "SPERROR 3";
 
-/* forward declarations to avoid warnings */
-rtems_task Init(rtems_task_argument argument);
+static const char fmt[] = "Dummy panic\n";
 
 static void fatal_extensi

[PATCH 5/5] bsps: Add BSP_VERBOSE_FATAL_EXTENSION

2017-11-21 Thread Sebastian Huber
Add BSP_VERBOSE_FATAL_EXTENSION to RTEMS_BSP_CLEANUP_OPTIONS to
optionally print the RTEMS version, the fatal source and the fatal code
in the shared bsp_fatal_extension().

Close #3248.
---
 c/src/aclocal/bsp-bspcleanup-options.m4 |  7 ++-
 c/src/lib/libbsp/shared/bspclean.c  | 20 +++-
 2 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/c/src/aclocal/bsp-bspcleanup-options.m4 
b/c/src/aclocal/bsp-bspcleanup-options.m4
index 1c2ac586b1..60be886070 100644
--- a/c/src/aclocal/bsp-bspcleanup-options.m4
+++ b/c/src/aclocal/bsp-bspcleanup-options.m4
@@ -21,4 +21,9 @@ RTEMS_BSPOPTS_HELP([BSP_RESET_BOARD_AT_EXIT],
 RTEMS_BSPOPTS_SET([BSP_PRINT_EXCEPTION_CONTEXT],[*],[1])
 RTEMS_BSPOPTS_HELP([BSP_PRINT_EXCEPTION_CONTEXT],
 [If defined to a non-zero value, prints the exception context when an
-unexpected exception occurs.])])
+unexpected exception occurs.])
+
+RTEMS_BSPOPTS_SET([BSP_VERBOSE_FATAL_EXTENSION],[*],[1])
+RTEMS_BSPOPTS_HELP([BSP_VERBOSE_FATAL_EXTENSION],
+[If defined to a non-zero value, prints the some information in case of a fatal
+error.])])
diff --git a/c/src/lib/libbsp/shared/bspclean.c 
b/c/src/lib/libbsp/shared/bspclean.c
index e045512da0..bae9d21889 100644
--- a/c/src/lib/libbsp/shared/bspclean.c
+++ b/c/src/lib/libbsp/shared/bspclean.c
@@ -10,6 +10,7 @@
 #include 
 #include 
 #include 
+#include 
 
 void bsp_fatal_extension(
   rtems_fatal_source source,
@@ -17,7 +18,24 @@ void bsp_fatal_extension(
   rtems_fatal_code code
 )
 {
-  #if (BSP_PRINT_EXCEPTION_CONTEXT)
+  #if BSP_VERBOSE_FATAL_EXTENSION
+printk(
+  "\n"
+  "*** FATAL ***\n"
+  "fatal source: %i (%s)\n"
+  "fatal code: %ju (0x%08jx)\n"
+  "RTEMS version: %s\n"
+  "RTEMS tools: %s\n",
+  source,
+  rtems_fatal_source_text( source ),
+  (uintmax_t) code,
+  (uintmax_t) code,
+  rtems_version(),
+  __VERSION__
+);
+  #endif
+
+  #if (BSP_PRINT_EXCEPTION_CONTEXT) || BSP_VERBOSE_FATAL_EXTENSION
 if ( source == RTEMS_FATAL_SOURCE_EXCEPTION ) {
   rtems_exception_frame_print( (const rtems_exception_frame *) code );
 }
-- 
2.12.3

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


[PATCH 4/5] bsps: Simplify RTEMS_BSP_CLEANUP_OPTIONS

2017-11-21 Thread Sebastian Huber
Remove BSP-specific defaults for RTEMS_BSP_CLEANUP_OPTIONS to simplify
the BSP configuration and documentation.  Change defaults to:

BSP_PRESS_KEY_FOR_RESET=0
BSP_RESET_BOARD_AT_EXIT=1
BSP_PRINT_EXCEPTION_CONTEXT=1
---
 c/src/aclocal/bsp-bspcleanup-options.m4| 31 +-
 c/src/lib/libbsp/arm/altera-cyclone-v/configure.ac |  2 +-
 c/src/lib/libbsp/arm/atsam/configure.ac|  2 +-
 c/src/lib/libbsp/arm/beagle/configure.ac   |  2 +-
 c/src/lib/libbsp/arm/csb336/configure.ac   |  2 +-
 c/src/lib/libbsp/arm/csb337/configure.ac   |  2 +-
 c/src/lib/libbsp/arm/edb7312/configure.ac  |  2 +-
 c/src/lib/libbsp/arm/gdbarmsim/configure.ac|  2 +-
 c/src/lib/libbsp/arm/gumstix/configure.ac  |  2 +-
 c/src/lib/libbsp/arm/imx/configure.ac  |  2 +-
 c/src/lib/libbsp/arm/lm3s69xx/configure.ac |  2 +-
 c/src/lib/libbsp/arm/lpc176x/configure.ac  |  2 +-
 c/src/lib/libbsp/arm/lpc24xx/configure.ac  |  2 +-
 c/src/lib/libbsp/arm/lpc32xx/configure.ac  |  2 +-
 c/src/lib/libbsp/arm/raspberrypi/configure.ac  |  2 +-
 c/src/lib/libbsp/arm/realview-pbx-a9/configure.ac  |  2 +-
 c/src/lib/libbsp/arm/rtl22xx/configure.ac  |  2 +-
 c/src/lib/libbsp/arm/smdk2410/configure.ac |  2 +-
 c/src/lib/libbsp/arm/stm32f4/configure.ac  |  2 +-
 c/src/lib/libbsp/arm/tms570/configure.ac   |  2 +-
 c/src/lib/libbsp/arm/xilinx-zynq/configure.ac  |  2 +-
 c/src/lib/libbsp/bfin/TLL6527M/configure.ac|  2 +-
 c/src/lib/libbsp/bfin/bf537Stamp/configure.ac  |  2 +-
 c/src/lib/libbsp/bfin/eZKit533/configure.ac|  2 +-
 .../lib/libbsp/epiphany/epiphany_sim/configure.ac  |  2 +-
 c/src/lib/libbsp/i386/pc386/configure.ac   |  2 +-
 c/src/lib/libbsp/lm32/lm32_evr/configure.ac|  2 +-
 c/src/lib/libbsp/lm32/milkymist/configure.ac   |  4 +--
 c/src/lib/libbsp/m32c/m32cbsp/configure.ac |  2 +-
 c/src/lib/libbsp/m68k/av5282/configure.ac  |  2 +-
 c/src/lib/libbsp/m68k/csb360/configure.ac  |  2 +-
 c/src/lib/libbsp/m68k/gen68340/configure.ac|  2 +-
 c/src/lib/libbsp/m68k/gen68360/configure.ac|  2 +-
 c/src/lib/libbsp/m68k/genmcf548x/configure.ac  |  2 +-
 c/src/lib/libbsp/m68k/mcf5206elite/configure.ac|  2 +-
 c/src/lib/libbsp/m68k/mcf52235/configure.ac|  2 +-
 c/src/lib/libbsp/m68k/mcf5225x/configure.ac|  2 +-
 c/src/lib/libbsp/m68k/mcf5235/configure.ac |  2 +-
 c/src/lib/libbsp/m68k/mcf5329/configure.ac |  2 +-
 c/src/lib/libbsp/m68k/mrm332/configure.ac  |  2 +-
 c/src/lib/libbsp/m68k/mvme147/configure.ac |  2 +-
 c/src/lib/libbsp/m68k/mvme147s/configure.ac|  2 +-
 c/src/lib/libbsp/m68k/mvme162/configure.ac |  2 +-
 c/src/lib/libbsp/m68k/mvme167/configure.ac |  2 +-
 c/src/lib/libbsp/m68k/uC5282/configure.ac  |  2 +-
 c/src/lib/libbsp/mips/csb350/configure.ac  |  2 +-
 c/src/lib/libbsp/mips/hurricane/configure.ac   |  2 +-
 c/src/lib/libbsp/mips/jmr3904/configure.ac |  2 +-
 c/src/lib/libbsp/mips/malta/configure.ac   |  2 +-
 c/src/lib/libbsp/mips/rbtx4925/configure.ac|  2 +-
 c/src/lib/libbsp/mips/rbtx4938/configure.ac|  2 +-
 c/src/lib/libbsp/moxie/moxiesim/configure.ac   |  2 +-
 c/src/lib/libbsp/nios2/nios2_iss/configure.ac  |  2 +-
 c/src/lib/libbsp/no_cpu/no_bsp/configure.ac|  2 +-
 c/src/lib/libbsp/or1k/generic_or1k/configure.ac|  2 +-
 c/src/lib/libbsp/powerpc/gen5200/configure.ac  |  2 +-
 c/src/lib/libbsp/powerpc/gen83xx/configure.ac  |  2 +-
 c/src/lib/libbsp/powerpc/haleakala/configure.ac|  2 +-
 .../libbsp/powerpc/motorola_powerpc/configure.ac   |  2 +-
 c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac   |  2 +-
 c/src/lib/libbsp/powerpc/mpc8260ads/configure.ac   |  2 +-
 c/src/lib/libbsp/powerpc/mvme3100/configure.ac |  2 +-
 c/src/lib/libbsp/powerpc/mvme5500/configure.ac |  2 +-
 c/src/lib/libbsp/powerpc/psim/configure.ac |  2 +-
 c/src/lib/libbsp/powerpc/qemuppc/configure.ac  |  2 +-
 c/src/lib/libbsp/powerpc/qoriq/configure.ac|  2 +-
 c/src/lib/libbsp/powerpc/ss555/configure.ac|  2 +-
 c/src/lib/libbsp/powerpc/t32mppc/configure.ac  |  2 +-
 c/src/lib/libbsp/powerpc/tqm8xx/configure.ac   |  2 +-
 c/src/lib/libbsp/powerpc/virtex/configure.ac   |  2 +-
 c/src/lib/libbsp/powerpc/virtex4/configure.ac  |  2 +-
 c/src/lib/libbsp/powerpc/virtex5/configure.ac  |  2 +-
 c/src/lib/libbsp/riscv/riscv_generic/configure.ac  |  2 +-
 c/src/lib/libbsp/sh/gensh1/configure.ac|  2 +-
 c/src/lib/libbsp/sh/gensh2/configure.ac|  2 +-
 c/src/lib/libbsp/sh/gensh4/configure.ac|  2 +-
 c/src/lib/libbsp/sh/shsim/configure.ac |  2 +-
 c/src/lib/libbsp/sparc/erc32/Makefile.am   |  1 +
 c/src/lib/libbsp/sparc/erc32/configure.ac  |  2 +-
 c/src/lib/libbsp/s

[PATCH 2/5] powerpc: Replace BSP_panic() with rtems_panic()

2017-11-21 Thread Sebastian Huber
Due to a new rtems_panic() implementation, it is possible to replace the
PowerPC-specific BSP_panic() with rtems_panic().  Remove BSP_panic()
implementations.

Close #3245.
---
 c/src/lib/libbsp/powerpc/beatnik/include/bsp.h   |  3 +--
 c/src/lib/libbsp/powerpc/beatnik/irq/discovery_pic.c |  2 +-
 c/src/lib/libbsp/powerpc/beatnik/irq/irq_init.c  |  2 +-
 c/src/lib/libbsp/powerpc/beatnik/marvell/discovery.c |  4 ++--
 c/src/lib/libbsp/powerpc/beatnik/pci/gt_pci_init.c   |  2 +-
 c/src/lib/libbsp/powerpc/beatnik/pci/motload_fixup.c |  2 +-
 c/src/lib/libbsp/powerpc/beatnik/pci/pci_io_remap.c  |  8 
 c/src/lib/libbsp/powerpc/gen5200/startup/bspstart.c  |  6 --
 c/src/lib/libbsp/powerpc/gen83xx/startup/bspstart.c  | 16 +---
 c/src/lib/libbsp/powerpc/haleakala/irq/irq_init.c|  2 +-
 c/src/lib/libbsp/powerpc/haleakala/startup/bspstart.c|  6 --
 c/src/lib/libbsp/powerpc/motorola_powerpc/include/bsp.h  |  1 -
 c/src/lib/libbsp/powerpc/mpc8260ads/startup/bspstart.c   |  7 ---
 c/src/lib/libbsp/powerpc/mvme3100/include/bsp.h  |  1 -
 c/src/lib/libbsp/powerpc/mvme3100/irq/irq_init.c |  2 +-
 c/src/lib/libbsp/powerpc/mvme3100/startup/bspstart.c | 10 ++
 c/src/lib/libbsp/powerpc/mvme5500/include/bsp.h  |  1 -
 c/src/lib/libbsp/powerpc/mvme5500/irq/irq_init.c |  2 +-
 c/src/lib/libbsp/powerpc/mvme5500/pci/pci.c  |  2 +-
 c/src/lib/libbsp/powerpc/mvme5500/startup/bspstart.c |  6 --
 c/src/lib/libbsp/powerpc/psim/irq/irq_init.c |  4 ++--
 c/src/lib/libbsp/powerpc/psim/startup/bspstart.c |  6 --
 c/src/lib/libbsp/powerpc/qemuppc/irq/irq_init.c  |  2 +-
 c/src/lib/libbsp/powerpc/qemuppc/startup/bsppanic.c  |  6 --
 c/src/lib/libbsp/powerpc/qemuppc/startup/bspstart.c  |  2 +-
 c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c| 14 --
 c/src/lib/libbsp/powerpc/shared/irq/irq_init.c   |  4 ++--
 c/src/lib/libbsp/powerpc/shared/irq/openpic_i8259_irq.c  |  4 ++--
 c/src/lib/libbsp/powerpc/shared/openpic/openpic.c|  2 +-
 .../lib/libbsp/powerpc/shared/pci/detect_raven_bridge.c  |  2 +-
 c/src/lib/libbsp/powerpc/shared/startup/bspstart.c   |  6 --
 c/src/lib/libbsp/powerpc/shared/startup/panic.c  |  6 --
 c/src/lib/libbsp/powerpc/shared/vme/vme_universe.c   |  2 +-
 c/src/lib/libbsp/powerpc/ss555/startup/bspstart.c|  6 --
 c/src/lib/libbsp/powerpc/t32mppc/startup/bspstart.c  | 14 --
 c/src/lib/libbsp/powerpc/tqm8xx/console/console.c|  2 +-
 c/src/lib/libbsp/powerpc/tqm8xx/startup/bspstart.c   | 16 +---
 c/src/lib/libbsp/powerpc/virtex4/include/bsp.h   |  1 -
 c/src/lib/libbsp/powerpc/virtex4/irq/irq_init.c  |  2 +-
 c/src/lib/libbsp/powerpc/virtex4/startup/bspstart.c  | 12 
 c/src/lib/libbsp/powerpc/virtex5/include/bsp.h   |  1 -
 c/src/lib/libbsp/powerpc/virtex5/irq/irq_init.c  |  2 +-
 c/src/lib/libbsp/powerpc/virtex5/startup/bspstart.c  | 12 
 c/src/lib/libbsp/shared/vmeUniverse/vmeTsi148.c  |  6 +++---
 c/src/lib/libbsp/shared/vmeUniverse/vmeUniverse.c|  8 
 c/src/lib/libcpu/powerpc/mpc5xx/irq/irq_init.c   |  6 +++---
 cpukit/score/cpu/powerpc/rtems/score/cpu.h   |  2 --
 47 files changed, 43 insertions(+), 192 deletions(-)

diff --git a/c/src/lib/libbsp/powerpc/beatnik/include/bsp.h 
b/c/src/lib/libbsp/powerpc/beatnik/include/bsp.h
index 8678404130..e980f1a056 100644
--- a/c/src/lib/libbsp/powerpc/beatnik/include/bsp.h
+++ b/c/src/lib/libbsp/powerpc/beatnik/include/bsp.h
@@ -52,7 +52,7 @@ typedef enum {
  * is cached and repeated calls just return the cached value.
  *
  * If a non-zero argument is passed, the routine panics
- * (BSP_panic) if no recognized bridge is found;
+ * (rtems_panic) if no recognized bridge is found;
  */
 DiscoveryVersion BSP_getDiscoveryVersion(int assertion);
 
@@ -233,7 +233,6 @@ extern char *BSP_commandline_string;
   ((unsigned long long) unsigned long long)BSP_time_base_divisor) * 
100ULL) /((unsigned long long) BSP_bus_frequency)) * ((unsigned long long) 
(_value)))
 
 extern rtems_configuration_table  BSP_Configuration;
-extern void BSP_panic(char *s);
 extern void bsp_reset(void);
 extern int BSP_disconnect_clock_handler (void);
 extern int BSP_connect_clock_handler (void);
diff --git a/c/src/lib/libbsp/powerpc/beatnik/irq/discovery_pic.c 
b/c/src/lib/libbsp/powerpc/beatnik/irq/discovery_pic.c
index 8efe2ce8bd..f77125c4a7 100644
--- a/c/src/lib/libbsp/powerpc/beatnik/irq/discovery_pic.c
+++ b/c/src/lib/libbsp/powerpc/beatnik/irq/discovery_pic.c
@@ -554,7 +554,7 @@ int i;
break;
 
default:
-   BSP_panic("Unable to initialize interrupt controller; 
unknown chip");
+   rtems_panic("Unable to initialize interr

[PATCH 3/5] powerpc: Remove _BSP_Fatal_error()

2017-11-21 Thread Sebastian Huber
BSPs can use the bsp_fatal_extension() to provide BSP-specific fatal
error handling.  There is no need for a _BSP_Fatal_error().

Close #3246.
---
 c/src/lib/libbsp/powerpc/beatnik/Makefile.am   |  1 -
 .../lib/libbsp/powerpc/gen5200/startup/bspstart.c  |  6 --
 .../lib/libbsp/powerpc/gen83xx/startup/bspstart.c  | 14 
 .../libbsp/powerpc/haleakala/startup/bspstart.c| 13 
 .../libbsp/powerpc/mpc55xxevb/startup/bspstart.c   | 12 
 .../libbsp/powerpc/mpc8260ads/startup/bspstart.c   |  8 ---
 .../lib/libbsp/powerpc/mvme3100/startup/bspstart.c |  6 --
 .../lib/libbsp/powerpc/mvme5500/startup/bspstart.c |  6 --
 c/src/lib/libbsp/powerpc/psim/startup/bspstart.c   |  6 --
 c/src/lib/libbsp/powerpc/qemuppc/Makefile.am   |  2 +-
 .../lib/libbsp/powerpc/qemuppc/startup/bsppanic.c  | 14 
 c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c  | 14 
 c/src/lib/libbsp/powerpc/shared/startup/bspstart.c |  9 ---
 c/src/lib/libbsp/powerpc/shared/startup/panic.c| 79 --
 c/src/lib/libbsp/powerpc/ss555/startup/bspstart.c  |  6 --
 .../lib/libbsp/powerpc/t32mppc/startup/bspstart.c  | 14 
 c/src/lib/libbsp/powerpc/tqm8xx/startup/bspstart.c | 14 
 c/src/lib/libbsp/powerpc/virtex/startup/bspstart.c | 12 
 c/src/lib/libbsp/powerpc/virtex4/include/bsp.h |  1 -
 .../lib/libbsp/powerpc/virtex4/startup/bspstart.c  | 12 
 c/src/lib/libbsp/powerpc/virtex5/include/bsp.h |  1 -
 .../lib/libbsp/powerpc/virtex5/startup/bspstart.c  | 12 
 cpukit/score/cpu/powerpc/rtems/score/cpu.h | 25 ---
 23 files changed, 13 insertions(+), 274 deletions(-)
 delete mode 100644 c/src/lib/libbsp/powerpc/qemuppc/startup/bsppanic.c
 delete mode 100644 c/src/lib/libbsp/powerpc/shared/startup/panic.c

diff --git a/c/src/lib/libbsp/powerpc/beatnik/Makefile.am 
b/c/src/lib/libbsp/powerpc/beatnik/Makefile.am
index e764c9e8eb..e359c08257 100644
--- a/c/src/lib/libbsp/powerpc/beatnik/Makefile.am
+++ b/c/src/lib/libbsp/powerpc/beatnik/Makefile.am
@@ -58,7 +58,6 @@ libbsp_a_SOURCES =
 
 libbsp_a_SOURCES += startup/bspstart.c \
 ../shared/motorola/vpd.c startup/bspreset.c startup/i2c_init.c \
-../../powerpc/shared/startup/panic.c \
 ../../powerpc/shared/startup/bspgetworkarea.c \
 ../../powerpc/shared/startup/probeMemEnd.c \
 ../../powerpc/shared/startup/bsppredriverhook.c \
diff --git a/c/src/lib/libbsp/powerpc/gen5200/startup/bspstart.c 
b/c/src/lib/libbsp/powerpc/gen5200/startup/bspstart.c
index f09d97e720..209cc7738e 100644
--- a/c/src/lib/libbsp/powerpc/gen5200/startup/bspstart.c
+++ b/c/src/lib/libbsp/powerpc/gen5200/startup/bspstart.c
@@ -112,12 +112,6 @@ uint32_t bsp_time_base_frequency;
 /* Legacy */
 uint32_t bsp_clicks_per_usec;
 
-void _BSP_Fatal_error(unsigned int v)
-{
-  printk("%s PANIC ERROR %x\n",_RTEMS_version, v);
-  __asm__ __volatile ("sc");
-}
-
 void bsp_start(void)
 {
   /*
diff --git a/c/src/lib/libbsp/powerpc/gen83xx/startup/bspstart.c 
b/c/src/lib/libbsp/powerpc/gen83xx/startup/bspstart.c
index db89f5e65f..cd729a8e17 100644
--- a/c/src/lib/libbsp/powerpc/gen83xx/startup/bspstart.c
+++ b/c/src/lib/libbsp/powerpc/gen83xx/startup/bspstart.c
@@ -51,20 +51,6 @@ static int mpc83xx_decrementer_exception_handler( 
BSP_Exception_frame *frame, un
   return 0;
 }
 
-void _BSP_Fatal_error(unsigned n)
-{
-  rtems_interrupt_level level;
-
-  rtems_interrupt_disable( level);
-  (void) level;
-
-  printk( "%s PANIC ERROR %u\n", rtems_get_version_string(), n);
-
-  while (1) {
-/* Do nothing */
-  }
-}
-
 void bsp_start( void)
 {
   rtems_status_code sc = RTEMS_SUCCESSFUL;
diff --git a/c/src/lib/libbsp/powerpc/haleakala/startup/bspstart.c 
b/c/src/lib/libbsp/powerpc/haleakala/startup/bspstart.c
index dc53ed7543..098145bfb2 100644
--- a/c/src/lib/libbsp/powerpc/haleakala/startup/bspstart.c
+++ b/c/src/lib/libbsp/powerpc/haleakala/startup/bspstart.c
@@ -200,16 +200,3 @@ void bsp_start( void )
*/
   BSP_rtems_irq_mng_init(0);
 }
-
-static void BSP_ask_for_reset(void)
-{
-  printk("system stopped, press RESET");
-  while(1) {};
-}
-
-void _BSP_Fatal_error(unsigned int v)
-{
-  printk("%s FATAL ERROR %x\n",_RTEMS_version, v);
-  BSP_ask_for_reset();
-}
-
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bspstart.c 
b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bspstart.c
index e218b2dd54..9042fc3864 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bspstart.c
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bspstart.c
@@ -49,18 +49,6 @@ unsigned int bsp_clock_speed = 0;
 
 uint32_t bsp_clicks_per_usec = 0;
 
-void _BSP_Fatal_error(unsigned n)
-{
-   rtems_interrupt_level level;
-
-   (void) level;
-   rtems_interrupt_disable( level);
-
-   while (true) {
-   mpc55xx_wait_for_interrupt();
-   }
-}
-
 static void null_pointer_protection(void)
 {
 #ifdef MPC55XX_NULL_POINTER_PROTECTION
diff --git a/c/src/lib/libbsp/powerpc/mpc8260ads/startup/bspstart.c 
b/c/src/lib/libbsp/powerpc/mpc8260ads/startup/bsps

Re: sptimecounter01 use of stack allocator/deallocator

2017-11-21 Thread Joel Sherrill
On Tue, Nov 21, 2017 at 1:12 AM, Sebastian Huber <
sebastian.hu...@embedded-brains.de> wrote:

> On 20/11/17 17:53, Joel Sherrill wrote:
>
>>
>> The purpose of defining these to NULL isn't documented in this test and
>> renders this test broken for what seems to be a reason orthogonal to the
>> test's apparent purpose.
>>
>
> This test runs in a minimal environment (test runs in boot_card()) to
> verify the static initialization of the timecounter infrastructure.
>
> Running in boot_card() is probably your problem, e.g. not bsp_start()
> invocation.


Actually, I spotted this based on redefine warnings, not running the test.
I will add
undef's before the defines. This should run fine since the starting stack
is in the right place.

--joel


>
>
> --
> Sebastian Huber, embedded brains GmbH
>
> Address : Dornier
> str. 4,
> D-82178 Puchheim, Germany
> Phone   : +49 89 189 47 41-16
> Fax : +49 89 189 47 41-09
> E-Mail  : sebastian.hu...@embedded-brains.de
> PGP : Public key available on request.
>
> Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
>
>
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [PATCH] Fix comments for object lookup err. -> status map

2017-11-21 Thread Joel Sherrill
Pushed. Thanks.

On Mon, Nov 20, 2017 at 11:53 AM, Martin Erik Werner <
martinerikwerner@gmail.com> wrote:

> Based on correlation with the enum for object lookup errors in
> cpukit/score/include/rtems/score/objectimpl.h:
>
> typedef enum {
>  OBJECTS_NAME_OR_ID_LOOKUP_SUCCESSFUL,
>  OBJECTS_INVALID_NAME,
>  OBJECTS_INVALID_ADDRESS,
>  OBJECTS_INVALID_ID,
>  OBJECTS_INVALID_NODE
> } Objects_Name_or_id_lookup_errors;
>
> update the comments regarding the object lookup error to status map to
> match.
>
> Signed-off-by: Martin Erik Werner 
> ---
>  cpukit/rtems/src/status.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/cpukit/rtems/src/status.c b/cpukit/rtems/src/status.c
> index 810c0e18de..3eadea59f0 100644
> --- a/cpukit/rtems/src/status.c
> +++ b/cpukit/rtems/src/status.c
> @@ -17,13 +17,13 @@
>  #include 
>
>  const rtems_status_code _Status_Object_name_errors_to_status[] = {
> -  /** This maps OBJECTS_SUCCESSFUL to RTEMS_SUCCESSFUL. */
> +  /** This maps OBJECTS_NAME_OR_ID_LOOKUP_SUCCESSFUL to
> RTEMS_SUCCESSFUL. */
>RTEMS_SUCCESSFUL,
>/** This maps OBJECTS_INVALID_NAME to RTEMS_INVALID_NAME. */
>RTEMS_INVALID_NAME,
> -  /** This maps OBJECTS_INVALID_ADDRESS to RTEMS_INVALID_NAME. */
> +  /** This maps OBJECTS_INVALID_ADDRESS to RTEMS_INVALID_ADDRESS. */
>RTEMS_INVALID_ADDRESS,
> -  /** This maps OBJECTS_INVALID_ID to RTEMS_INVALID_ADDRESS. */
> +  /** This maps OBJECTS_INVALID_ID to RTEMS_INVALID_ID. */
>RTEMS_INVALID_ID,
>/** This maps OBJECTS_INVALID_NODE to RTEMS_INVALID_NODE. */
>RTEMS_INVALID_NODE
> --
> 2.11.0
>
> ___
> devel mailing list
> devel@rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
>
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

[PATCH 2/3] powerpc/ss555/startup/linkcmds: Remove obsolete reference to bsp_specs

2017-11-21 Thread Joel Sherrill
Updates #3520.
---
 c/src/lib/libbsp/powerpc/ss555/startup/linkcmds | 4 
 1 file changed, 4 deletions(-)

diff --git a/c/src/lib/libbsp/powerpc/ss555/startup/linkcmds 
b/c/src/lib/libbsp/powerpc/ss555/startup/linkcmds
index ebc9e81..3f53aee 100644
--- a/c/src/lib/libbsp/powerpc/ss555/startup/linkcmds
+++ b/c/src/lib/libbsp/powerpc/ss555/startup/linkcmds
@@ -12,10 +12,6 @@
  * workspace will reside in RAM, starting at the beginning of the internal
  * RAM.  The system startup code will configure the external RAM to begin
  * where the internal RAM ends, so as to make one large RAM block.
- *
- * Debugging mode is chosen when the RTEMS_DEBUG symbol is defined.  The
- * RTEMS_DEBUG symbol is defined in the bsp_specs file whenever make(1) is
- * invoked with VARIANT=DEBUG.
  */
 
 OUTPUT_FORMAT("elf32-powerpc", "elf32-powerpc", "elf32-powerpc")
-- 
1.8.3.1

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


[PATCH 3/3] ampolish3: Remove reference to bsp_specs in comment

2017-11-21 Thread Joel Sherrill
Updates #3520.
---
 ampolish3 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ampolish3 b/ampolish3
index 23c2855..67f2d23 100755
--- a/ampolish3
+++ b/ampolish3
@@ -32,7 +32,7 @@ my %dirmap = (
 # noinst_*_LIBRARIES -> noinst
 # project_*_LIBRARIES -> tmpinstall
 # *_LIBRARIES -> ignore (no preinstallation)
-# dist_project_*_DATA -> preinstall (bsp_specs,linkcmds)
+# dist_project_*_DATA -> preinstall (linkcmds, etc)
 # project_*_DATA -> tmpinstall (*.o, *.a)
 # dist_*_DATA -> ignore (no preinstallation)
 # *SCRIPTS -> ignore (no preinstallation)
-- 
1.8.3.1

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


[PATCH 1/3] libbsp/*/*/configure.ac: Remove references to bsp_specs in AC_CONFIG_SRCDIR

2017-11-21 Thread Joel Sherrill
Updates #3250.
---
 c/src/lib/libbsp/arm/altera-cyclone-v/configure.ac | 2 +-
 c/src/lib/libbsp/arm/atsam/configure.ac| 2 +-
 c/src/lib/libbsp/arm/beagle/configure.ac   | 2 +-
 c/src/lib/libbsp/arm/csb336/configure.ac   | 2 +-
 c/src/lib/libbsp/arm/csb337/configure.ac   | 2 +-
 c/src/lib/libbsp/arm/edb7312/configure.ac  | 2 +-
 c/src/lib/libbsp/arm/gdbarmsim/configure.ac| 2 +-
 c/src/lib/libbsp/arm/gumstix/configure.ac  | 2 +-
 c/src/lib/libbsp/arm/imx/configure.ac  | 2 +-
 c/src/lib/libbsp/arm/lm3s69xx/configure.ac | 2 +-
 c/src/lib/libbsp/arm/lpc176x/configure.ac  | 2 +-
 c/src/lib/libbsp/arm/lpc24xx/configure.ac  | 2 +-
 c/src/lib/libbsp/arm/lpc32xx/configure.ac  | 2 +-
 c/src/lib/libbsp/arm/raspberrypi/configure.ac  | 2 +-
 c/src/lib/libbsp/arm/realview-pbx-a9/configure.ac  | 2 +-
 c/src/lib/libbsp/arm/rtl22xx/configure.ac  | 2 +-
 c/src/lib/libbsp/arm/smdk2410/configure.ac | 2 +-
 c/src/lib/libbsp/arm/stm32f4/configure.ac  | 2 +-
 c/src/lib/libbsp/arm/tms570/configure.ac   | 2 +-
 c/src/lib/libbsp/arm/xilinx-zynq/configure.ac  | 2 +-
 c/src/lib/libbsp/bfin/TLL6527M/configure.ac| 2 +-
 c/src/lib/libbsp/bfin/bf537Stamp/configure.ac  | 2 +-
 c/src/lib/libbsp/bfin/eZKit533/configure.ac| 2 +-
 c/src/lib/libbsp/epiphany/epiphany_sim/configure.ac| 2 +-
 c/src/lib/libbsp/i386/pc386/configure.ac   | 2 +-
 c/src/lib/libbsp/lm32/lm32_evr/configure.ac| 2 +-
 c/src/lib/libbsp/lm32/milkymist/configure.ac   | 2 +-
 c/src/lib/libbsp/m32c/m32cbsp/configure.ac | 2 +-
 c/src/lib/libbsp/m68k/av5282/configure.ac  | 2 +-
 c/src/lib/libbsp/m68k/csb360/configure.ac  | 2 +-
 c/src/lib/libbsp/m68k/gen68340/configure.ac| 2 +-
 c/src/lib/libbsp/m68k/gen68360/configure.ac| 2 +-
 c/src/lib/libbsp/m68k/genmcf548x/configure.ac  | 2 +-
 c/src/lib/libbsp/m68k/mcf5206elite/configure.ac| 2 +-
 c/src/lib/libbsp/m68k/mcf52235/configure.ac| 2 +-
 c/src/lib/libbsp/m68k/mcf5225x/configure.ac| 2 +-
 c/src/lib/libbsp/m68k/mcf5235/configure.ac | 2 +-
 c/src/lib/libbsp/m68k/mcf5329/configure.ac | 2 +-
 c/src/lib/libbsp/m68k/mrm332/configure.ac  | 2 +-
 c/src/lib/libbsp/m68k/mvme147/configure.ac | 2 +-
 c/src/lib/libbsp/m68k/mvme147s/configure.ac| 2 +-
 c/src/lib/libbsp/m68k/mvme162/configure.ac | 2 +-
 c/src/lib/libbsp/m68k/mvme167/configure.ac | 2 +-
 c/src/lib/libbsp/m68k/uC5282/configure.ac  | 2 +-
 c/src/lib/libbsp/mips/csb350/configure.ac  | 2 +-
 c/src/lib/libbsp/mips/hurricane/configure.ac   | 2 +-
 c/src/lib/libbsp/mips/jmr3904/configure.ac | 2 +-
 c/src/lib/libbsp/mips/malta/configure.ac   | 2 +-
 c/src/lib/libbsp/mips/rbtx4925/configure.ac| 2 +-
 c/src/lib/libbsp/mips/rbtx4938/configure.ac| 2 +-
 c/src/lib/libbsp/moxie/moxiesim/configure.ac   | 2 +-
 c/src/lib/libbsp/nios2/nios2_iss/configure.ac  | 2 +-
 c/src/lib/libbsp/no_cpu/no_bsp/configure.ac| 2 +-
 c/src/lib/libbsp/or1k/generic_or1k/configure.ac| 2 +-
 c/src/lib/libbsp/powerpc/beatnik/configure.ac  | 2 +-
 c/src/lib/libbsp/powerpc/gen5200/configure.ac  | 2 +-
 c/src/lib/libbsp/powerpc/gen83xx/configure.ac  | 2 +-
 c/src/lib/libbsp/powerpc/haleakala/configure.ac| 2 +-
 c/src/lib/libbsp/powerpc/motorola_powerpc/configure.ac | 2 +-
 c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac   | 2 +-
 c/src/lib/libbsp/powerpc/mpc8260ads/configure.ac   | 2 +-
 c/src/lib/libbsp/powerpc/mvme3100/configure.ac | 2 +-
 c/src/lib/libbsp/powerpc/mvme5500/configure.ac | 2 +-
 c/src/lib/libbsp/powerpc/psim/configure.ac | 2 +-
 c/src/lib/libbsp/powerpc/qemuppc/configure.ac  | 2 +-
 c/src/lib/libbsp/powerpc/qoriq/configure.ac| 2 +-
 c/src/lib/libbsp/powerpc/ss555/configure.ac| 2 +-
 c/src/lib/libbsp/powerpc/t32mppc/configure.ac  | 2 +-
 c/src/lib/libbsp/powerpc/tqm8xx/configure.ac   | 2 +-
 c/src/lib/libbsp/powerpc/virtex/configure.ac   | 2 +-
 c/src/lib/libbsp/powerpc/virtex4/configure.ac  | 2 +-
 c/src/lib/libbsp/powerpc/virtex5/configure.ac  | 2 +-
 c/src/lib/libbsp/riscv/riscv_generic/configure.ac  | 2 +-
 c/src/lib/libbsp/sh/gensh1/configure.ac| 2 +-
 c/src/lib/libbsp/sh/gensh2/configure.ac| 2 +-
 c/src/lib/libbsp/sh/gensh4/configure.ac| 2 +-
 c/src/lib/libbsp/sh/shsim/configure.ac | 2 +-
 c/src/lib/libbsp/sparc/erc32/configure.ac  | 2 +-
 c/src/lib/libbsp/sparc/leon2/configure.ac  | 2 +-
 c/

Re: parallel make failure?

2017-11-21 Thread Chris Johns
On 21/11/2017 18:04, Sebastian Huber wrote:
> On 21/11/17 04:33, Chris Johns wrote:
>> On 21/11/2017 04:27, Joel Sherrill wrote:
>>> I think we should push this off and focus on fixing the blocking issues.
>>> This will happen in time. Doing it now could push the release out many
>>> more months. I know Sebastian and I wanted it out earlier this year.
>> I think it is worth exploring a little more and so I think we need more 
>> detail
>> before being about to decide. It is not yet clear to me how big the actual 
>> task
>> it. It is complicated figuring out the actual mappings.
> 
> I hope we don't need months to figure out the new include directories. 

I do not think so. The raw data is:

 https://ftp.rtems.org/pub/rtems/people/chrisj/includes-move/inc-list.txt

I have not filtered the file to remove duplicates or other data so it is clear
what is happening. The missing piece of information is the directory base per
preinstall record, eg

preinstall,$(PROJECT_INCLUDE)/bsp/bootcard.h,../../shared/include/bootcard.h

Without that detail it is difficult to normalise the path in the source tree to
a specific file. I will add support to get that data soon. It is not difficult,
I just have no unfunded time this week.

Then you have:

preinstall,$(PROJECT_INCLUDE)/wd80x3.h,$(srcdir)/../../i386/pc386/include/wd80x3.h

preinstall,$(PROJECT_INCLUDE)/mvme16x_hw.h,$(top_srcdir)/../shared/mvme/mvme16x_hw.h

You cannot trust $(srcdir) or $(top_srcdir) to be what you think they are. In my
view $(top_srcdir) is a pretty serious hack because it is defined differently in
different places and so you see varying numbers of '../' to get places. All
these paths need to be normalised.

> I think
> we should do this before the release. This should have been done some years 
> ago.
> Moving the header files in the BSP area is likely a huge amount of work and 
> not
> necessary for back ports, since they usually are done for cpukit code. Moving
> the header files in the cpukit should be easy once we know where to move them.
> My current proposal is still:
> 
> cpukit/include
> cpukit/libnetworking/include
> cpukit/score/cpu/$arch/include
> 

Back porting BSP fixes is also important. I would like to get a clear understand
before we decide anything.

Someone needs to look at the Ada pieces at the end of the dump.

Chris
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


[PATCH v2 4/6] gumstix/bsp_specs: Correct permissions

2017-11-21 Thread Joel Sherrill
---
 c/src/lib/libbsp/arm/gumstix/bsp_specs | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 mode change 100755 => 100644 c/src/lib/libbsp/arm/gumstix/bsp_specs

diff --git a/c/src/lib/libbsp/arm/gumstix/bsp_specs 
b/c/src/lib/libbsp/arm/gumstix/bsp_specs
old mode 100755
new mode 100644
-- 
1.8.3.1

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


[PATCH v2 5/6] bootstrap: Remove reference to bsp_specs in determining BSP directories

2017-11-21 Thread Joel Sherrill
Updates #3520.
---
 bootstrap | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/bootstrap b/bootstrap
index 9c2efa8..391e848 100755
--- a/bootstrap
+++ b/bootstrap
@@ -42,7 +42,7 @@ AC_DEFUN([RTEMS_CHECK_BSPDIR],
   case "\$1" in
 EOF
 
-for i in `ls */bsp_specs | LANG=C LC_COLLATE=C sort`; do
+for i in `ls -1 */make | grep make | LANG=C LC_COLLATE=C sort`; do
   d=`dirname $i`
 cat << EOF >> acinclude.m4~
   $d )
-- 
1.8.3.1

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


[PATCH v2 0/6] Remove References to bsp_specs

2017-11-21 Thread Joel Sherrill
Hi

bsp_specs is a GCC specific file that is not only used when
interacting with GCC. It is also used by the build system 
when identifying BSP directories.

This patch eliminates all references to bsp_specs of this type.
sb-bootstrap also does this and there will be a separate patch.

The remaining references to bsp_specs in the source tree are
related to invoking GCC and will have to be addressed 
separately.

--joel

Joel Sherrill (6):
  libbsp/*/*/configure.ac: Remove references to bsp_specs in
AC_CONFIG_SRCDIR
  powerpc/ss555/startup/linkcmds: Remove obsolete reference to bsp_specs
  ampolish3: Remove reference to bsp_specs in comment
  gumstix/bsp_specs: Correct permissions
  bootstrap: Remove reference to bsp_specs in determining BSP
directories
  aclocal/check-bsps.m4: Do not rely on bsp_specs to find BSP families

 aclocal/check-bsps.m4  | 6 +++---
 ampolish3  | 2 +-
 bootstrap  | 2 +-
 c/src/lib/libbsp/arm/altera-cyclone-v/configure.ac | 2 +-
 c/src/lib/libbsp/arm/atsam/configure.ac| 2 +-
 c/src/lib/libbsp/arm/beagle/configure.ac   | 2 +-
 c/src/lib/libbsp/arm/csb336/configure.ac   | 2 +-
 c/src/lib/libbsp/arm/csb337/configure.ac   | 2 +-
 c/src/lib/libbsp/arm/edb7312/configure.ac  | 2 +-
 c/src/lib/libbsp/arm/gdbarmsim/configure.ac| 2 +-
 c/src/lib/libbsp/arm/gumstix/bsp_specs | 0
 c/src/lib/libbsp/arm/gumstix/configure.ac  | 2 +-
 c/src/lib/libbsp/arm/imx/configure.ac  | 2 +-
 c/src/lib/libbsp/arm/lm3s69xx/configure.ac | 2 +-
 c/src/lib/libbsp/arm/lpc176x/configure.ac  | 2 +-
 c/src/lib/libbsp/arm/lpc24xx/configure.ac  | 2 +-
 c/src/lib/libbsp/arm/lpc32xx/configure.ac  | 2 +-
 c/src/lib/libbsp/arm/raspberrypi/configure.ac  | 2 +-
 c/src/lib/libbsp/arm/realview-pbx-a9/configure.ac  | 2 +-
 c/src/lib/libbsp/arm/rtl22xx/configure.ac  | 2 +-
 c/src/lib/libbsp/arm/smdk2410/configure.ac | 2 +-
 c/src/lib/libbsp/arm/stm32f4/configure.ac  | 2 +-
 c/src/lib/libbsp/arm/tms570/configure.ac   | 2 +-
 c/src/lib/libbsp/arm/xilinx-zynq/configure.ac  | 2 +-
 c/src/lib/libbsp/bfin/TLL6527M/configure.ac| 2 +-
 c/src/lib/libbsp/bfin/bf537Stamp/configure.ac  | 2 +-
 c/src/lib/libbsp/bfin/eZKit533/configure.ac| 2 +-
 c/src/lib/libbsp/epiphany/epiphany_sim/configure.ac| 2 +-
 c/src/lib/libbsp/i386/pc386/configure.ac   | 2 +-
 c/src/lib/libbsp/lm32/lm32_evr/configure.ac| 2 +-
 c/src/lib/libbsp/lm32/milkymist/configure.ac   | 2 +-
 c/src/lib/libbsp/m32c/m32cbsp/configure.ac | 2 +-
 c/src/lib/libbsp/m68k/av5282/configure.ac  | 2 +-
 c/src/lib/libbsp/m68k/csb360/configure.ac  | 2 +-
 c/src/lib/libbsp/m68k/gen68340/configure.ac| 2 +-
 c/src/lib/libbsp/m68k/gen68360/configure.ac| 2 +-
 c/src/lib/libbsp/m68k/genmcf548x/configure.ac  | 2 +-
 c/src/lib/libbsp/m68k/mcf5206elite/configure.ac| 2 +-
 c/src/lib/libbsp/m68k/mcf52235/configure.ac| 2 +-
 c/src/lib/libbsp/m68k/mcf5225x/configure.ac| 2 +-
 c/src/lib/libbsp/m68k/mcf5235/configure.ac | 2 +-
 c/src/lib/libbsp/m68k/mcf5329/configure.ac | 2 +-
 c/src/lib/libbsp/m68k/mrm332/configure.ac  | 2 +-
 c/src/lib/libbsp/m68k/mvme147/configure.ac | 2 +-
 c/src/lib/libbsp/m68k/mvme147s/configure.ac| 2 +-
 c/src/lib/libbsp/m68k/mvme162/configure.ac | 2 +-
 c/src/lib/libbsp/m68k/mvme167/configure.ac | 2 +-
 c/src/lib/libbsp/m68k/uC5282/configure.ac  | 2 +-
 c/src/lib/libbsp/mips/csb350/configure.ac  | 2 +-
 c/src/lib/libbsp/mips/hurricane/configure.ac   | 2 +-
 c/src/lib/libbsp/mips/jmr3904/configure.ac | 2 +-
 c/src/lib/libbsp/mips/malta/configure.ac   | 2 +-
 c/src/lib/libbsp/mips/rbtx4925/configure.ac| 2 +-
 c/src/lib/libbsp/mips/rbtx4938/configure.ac| 2 +-
 c/src/lib/libbsp/moxie/moxiesim/configure.ac   | 2 +-
 c/src/lib/libbsp/nios2/nios2_iss/configure.ac  | 2 +-
 c/src/lib/libbsp/no_cpu/no_bsp/configure.ac| 2 +-
 c/src/lib/libbsp/or1k/generic_or1k/configure.ac| 2 +-
 c/src/lib/libbsp/powerpc/beatnik/configure.ac  | 2 +-
 c/src/lib/libbsp/powerpc/gen5200/configure.ac  | 2 +-
 c/src/lib/libbsp/powerpc/gen83xx/configure.ac  | 2 +-
 c/src/lib/libbsp/powerpc/haleakala/configure.ac| 2 +-
 c/src/lib/libbsp/powerpc/motorola_powerpc/configure.ac | 2 +-
 c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac   | 2 +-
 c/src/lib/libbsp/powerpc/mpc8260ads/configure.ac   | 2 +-
 c/src/lib/libbsp/powerpc/mvme3100/configure.ac | 2 

[PATCH v2 3/6] ampolish3: Remove reference to bsp_specs in comment

2017-11-21 Thread Joel Sherrill
Updates #3520.
---
 ampolish3 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ampolish3 b/ampolish3
index 23c2855..67f2d23 100755
--- a/ampolish3
+++ b/ampolish3
@@ -32,7 +32,7 @@ my %dirmap = (
 # noinst_*_LIBRARIES -> noinst
 # project_*_LIBRARIES -> tmpinstall
 # *_LIBRARIES -> ignore (no preinstallation)
-# dist_project_*_DATA -> preinstall (bsp_specs,linkcmds)
+# dist_project_*_DATA -> preinstall (linkcmds, etc)
 # project_*_DATA -> tmpinstall (*.o, *.a)
 # dist_*_DATA -> ignore (no preinstallation)
 # *SCRIPTS -> ignore (no preinstallation)
-- 
1.8.3.1

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


[PATCH v2 2/6] powerpc/ss555/startup/linkcmds: Remove obsolete reference to bsp_specs

2017-11-21 Thread Joel Sherrill
Updates #3520.
---
 c/src/lib/libbsp/powerpc/ss555/startup/linkcmds | 4 
 1 file changed, 4 deletions(-)

diff --git a/c/src/lib/libbsp/powerpc/ss555/startup/linkcmds 
b/c/src/lib/libbsp/powerpc/ss555/startup/linkcmds
index ebc9e81..3f53aee 100644
--- a/c/src/lib/libbsp/powerpc/ss555/startup/linkcmds
+++ b/c/src/lib/libbsp/powerpc/ss555/startup/linkcmds
@@ -12,10 +12,6 @@
  * workspace will reside in RAM, starting at the beginning of the internal
  * RAM.  The system startup code will configure the external RAM to begin
  * where the internal RAM ends, so as to make one large RAM block.
- *
- * Debugging mode is chosen when the RTEMS_DEBUG symbol is defined.  The
- * RTEMS_DEBUG symbol is defined in the bsp_specs file whenever make(1) is
- * invoked with VARIANT=DEBUG.
  */
 
 OUTPUT_FORMAT("elf32-powerpc", "elf32-powerpc", "elf32-powerpc")
-- 
1.8.3.1

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


[PATCH v2 1/6] libbsp/*/*/configure.ac: Remove references to bsp_specs in AC_CONFIG_SRCDIR

2017-11-21 Thread Joel Sherrill
Updates #3250.
---
 c/src/lib/libbsp/arm/altera-cyclone-v/configure.ac | 2 +-
 c/src/lib/libbsp/arm/atsam/configure.ac| 2 +-
 c/src/lib/libbsp/arm/beagle/configure.ac   | 2 +-
 c/src/lib/libbsp/arm/csb336/configure.ac   | 2 +-
 c/src/lib/libbsp/arm/csb337/configure.ac   | 2 +-
 c/src/lib/libbsp/arm/edb7312/configure.ac  | 2 +-
 c/src/lib/libbsp/arm/gdbarmsim/configure.ac| 2 +-
 c/src/lib/libbsp/arm/gumstix/configure.ac  | 2 +-
 c/src/lib/libbsp/arm/imx/configure.ac  | 2 +-
 c/src/lib/libbsp/arm/lm3s69xx/configure.ac | 2 +-
 c/src/lib/libbsp/arm/lpc176x/configure.ac  | 2 +-
 c/src/lib/libbsp/arm/lpc24xx/configure.ac  | 2 +-
 c/src/lib/libbsp/arm/lpc32xx/configure.ac  | 2 +-
 c/src/lib/libbsp/arm/raspberrypi/configure.ac  | 2 +-
 c/src/lib/libbsp/arm/realview-pbx-a9/configure.ac  | 2 +-
 c/src/lib/libbsp/arm/rtl22xx/configure.ac  | 2 +-
 c/src/lib/libbsp/arm/smdk2410/configure.ac | 2 +-
 c/src/lib/libbsp/arm/stm32f4/configure.ac  | 2 +-
 c/src/lib/libbsp/arm/tms570/configure.ac   | 2 +-
 c/src/lib/libbsp/arm/xilinx-zynq/configure.ac  | 2 +-
 c/src/lib/libbsp/bfin/TLL6527M/configure.ac| 2 +-
 c/src/lib/libbsp/bfin/bf537Stamp/configure.ac  | 2 +-
 c/src/lib/libbsp/bfin/eZKit533/configure.ac| 2 +-
 c/src/lib/libbsp/epiphany/epiphany_sim/configure.ac| 2 +-
 c/src/lib/libbsp/i386/pc386/configure.ac   | 2 +-
 c/src/lib/libbsp/lm32/lm32_evr/configure.ac| 2 +-
 c/src/lib/libbsp/lm32/milkymist/configure.ac   | 2 +-
 c/src/lib/libbsp/m32c/m32cbsp/configure.ac | 2 +-
 c/src/lib/libbsp/m68k/av5282/configure.ac  | 2 +-
 c/src/lib/libbsp/m68k/csb360/configure.ac  | 2 +-
 c/src/lib/libbsp/m68k/gen68340/configure.ac| 2 +-
 c/src/lib/libbsp/m68k/gen68360/configure.ac| 2 +-
 c/src/lib/libbsp/m68k/genmcf548x/configure.ac  | 2 +-
 c/src/lib/libbsp/m68k/mcf5206elite/configure.ac| 2 +-
 c/src/lib/libbsp/m68k/mcf52235/configure.ac| 2 +-
 c/src/lib/libbsp/m68k/mcf5225x/configure.ac| 2 +-
 c/src/lib/libbsp/m68k/mcf5235/configure.ac | 2 +-
 c/src/lib/libbsp/m68k/mcf5329/configure.ac | 2 +-
 c/src/lib/libbsp/m68k/mrm332/configure.ac  | 2 +-
 c/src/lib/libbsp/m68k/mvme147/configure.ac | 2 +-
 c/src/lib/libbsp/m68k/mvme147s/configure.ac| 2 +-
 c/src/lib/libbsp/m68k/mvme162/configure.ac | 2 +-
 c/src/lib/libbsp/m68k/mvme167/configure.ac | 2 +-
 c/src/lib/libbsp/m68k/uC5282/configure.ac  | 2 +-
 c/src/lib/libbsp/mips/csb350/configure.ac  | 2 +-
 c/src/lib/libbsp/mips/hurricane/configure.ac   | 2 +-
 c/src/lib/libbsp/mips/jmr3904/configure.ac | 2 +-
 c/src/lib/libbsp/mips/malta/configure.ac   | 2 +-
 c/src/lib/libbsp/mips/rbtx4925/configure.ac| 2 +-
 c/src/lib/libbsp/mips/rbtx4938/configure.ac| 2 +-
 c/src/lib/libbsp/moxie/moxiesim/configure.ac   | 2 +-
 c/src/lib/libbsp/nios2/nios2_iss/configure.ac  | 2 +-
 c/src/lib/libbsp/no_cpu/no_bsp/configure.ac| 2 +-
 c/src/lib/libbsp/or1k/generic_or1k/configure.ac| 2 +-
 c/src/lib/libbsp/powerpc/beatnik/configure.ac  | 2 +-
 c/src/lib/libbsp/powerpc/gen5200/configure.ac  | 2 +-
 c/src/lib/libbsp/powerpc/gen83xx/configure.ac  | 2 +-
 c/src/lib/libbsp/powerpc/haleakala/configure.ac| 2 +-
 c/src/lib/libbsp/powerpc/motorola_powerpc/configure.ac | 2 +-
 c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac   | 2 +-
 c/src/lib/libbsp/powerpc/mpc8260ads/configure.ac   | 2 +-
 c/src/lib/libbsp/powerpc/mvme3100/configure.ac | 2 +-
 c/src/lib/libbsp/powerpc/mvme5500/configure.ac | 2 +-
 c/src/lib/libbsp/powerpc/psim/configure.ac | 2 +-
 c/src/lib/libbsp/powerpc/qemuppc/configure.ac  | 2 +-
 c/src/lib/libbsp/powerpc/qoriq/configure.ac| 2 +-
 c/src/lib/libbsp/powerpc/ss555/configure.ac| 2 +-
 c/src/lib/libbsp/powerpc/t32mppc/configure.ac  | 2 +-
 c/src/lib/libbsp/powerpc/tqm8xx/configure.ac   | 2 +-
 c/src/lib/libbsp/powerpc/virtex/configure.ac   | 2 +-
 c/src/lib/libbsp/powerpc/virtex4/configure.ac  | 2 +-
 c/src/lib/libbsp/powerpc/virtex5/configure.ac  | 2 +-
 c/src/lib/libbsp/riscv/riscv_generic/configure.ac  | 2 +-
 c/src/lib/libbsp/sh/gensh1/configure.ac| 2 +-
 c/src/lib/libbsp/sh/gensh2/configure.ac| 2 +-
 c/src/lib/libbsp/sh/gensh4/configure.ac| 2 +-
 c/src/lib/libbsp/sh/shsim/configure.ac | 2 +-
 c/src/lib/libbsp/sparc/erc32/configure.ac  | 2 +-
 c/src/lib/libbsp/sparc/leon2/configure.ac  | 2 +-
 c/

[PATCH v2 6/6] aclocal/check-bsps.m4: Do not rely on bsp_specs to find BSP families

2017-11-21 Thread Joel Sherrill
Updates #3520.
---
 aclocal/check-bsps.m4 | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/aclocal/check-bsps.m4 b/aclocal/check-bsps.m4
index 500fcc8..381b2e3 100644
--- a/aclocal/check-bsps.m4
+++ b/aclocal/check-bsps.m4
@@ -8,10 +8,10 @@ AC_REQUIRE([RTEMS_TOP])dnl sets RTEMS_TOPdir
 
 AC_MSG_CHECKING([for available BSPs])
   $1=
-  for bsp_spec in `ls 
"$srcdir/$RTEMS_TOPdir/c/src/lib/libbsp/$RTEMS_CPU"/*/bsp_specs 2>/dev/null`; do
-bsp_family=`echo "$bsp_spec" | sed \
+  for bsp_make in `echo 
"$srcdir/$RTEMS_TOPdir/c/src/lib/libbsp/$RTEMS_CPU"/*/make 2>/dev/null`; do
+bsp_family=`echo "$bsp_make" | sed \
   -e "s,^$srcdir/$RTEMS_TOPdir/c/src/lib/libbsp/$RTEMS_CPU/,," \
-  -e "s,/bsp_specs$,,"`
+  -e "s,/make$,,"`
 for bsp_cfgs in `ls 
"$srcdir/$RTEMS_TOPdir/c/src/lib/libbsp/$RTEMS_CPU/$bsp_family/make/custom/"*.cfg
 2>/dev/null`; do
   bsp_cfg=`echo "$bsp_cfgs" | sed \
 -e 
"s,^$srcdir/$RTEMS_TOPdir/c/src/lib/libbsp/$RTEMS_CPU/$bsp_family/make/custom/,,"
 \
-- 
1.8.3.1

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


Re: [PATCH v2 0/6] Remove References to bsp_specs

2017-11-21 Thread Hesham Almatary
Looks much cleaner, thanks!

I came across other bsp_specs errors when compiling with Clang, and
had to remove it from the following files (not sure that's correct
though):

c/src/bsp.pc.in
c/src/make/compilers/gcc-target-default.cfg
testsuites/aclocal/prog-cc.m4

Also, what about -qrtems? I had to remove it as well in order to be
able to compile with Clang.


On Wed, Nov 22, 2017 at 10:07 AM, Joel Sherrill  wrote:
> Hi
>
> bsp_specs is a GCC specific file that is not only used when
> interacting with GCC. It is also used by the build system
> when identifying BSP directories.
>
> This patch eliminates all references to bsp_specs of this type.
> sb-bootstrap also does this and there will be a separate patch.
>
> The remaining references to bsp_specs in the source tree are
> related to invoking GCC and will have to be addressed
> separately.
>
> --joel
>
> Joel Sherrill (6):
>   libbsp/*/*/configure.ac: Remove references to bsp_specs in
> AC_CONFIG_SRCDIR
>   powerpc/ss555/startup/linkcmds: Remove obsolete reference to bsp_specs
>   ampolish3: Remove reference to bsp_specs in comment
>   gumstix/bsp_specs: Correct permissions
>   bootstrap: Remove reference to bsp_specs in determining BSP
> directories
>   aclocal/check-bsps.m4: Do not rely on bsp_specs to find BSP families
>
>  aclocal/check-bsps.m4  | 6 +++---
>  ampolish3  | 2 +-
>  bootstrap  | 2 +-
>  c/src/lib/libbsp/arm/altera-cyclone-v/configure.ac | 2 +-
>  c/src/lib/libbsp/arm/atsam/configure.ac| 2 +-
>  c/src/lib/libbsp/arm/beagle/configure.ac   | 2 +-
>  c/src/lib/libbsp/arm/csb336/configure.ac   | 2 +-
>  c/src/lib/libbsp/arm/csb337/configure.ac   | 2 +-
>  c/src/lib/libbsp/arm/edb7312/configure.ac  | 2 +-
>  c/src/lib/libbsp/arm/gdbarmsim/configure.ac| 2 +-
>  c/src/lib/libbsp/arm/gumstix/bsp_specs | 0
>  c/src/lib/libbsp/arm/gumstix/configure.ac  | 2 +-
>  c/src/lib/libbsp/arm/imx/configure.ac  | 2 +-
>  c/src/lib/libbsp/arm/lm3s69xx/configure.ac | 2 +-
>  c/src/lib/libbsp/arm/lpc176x/configure.ac  | 2 +-
>  c/src/lib/libbsp/arm/lpc24xx/configure.ac  | 2 +-
>  c/src/lib/libbsp/arm/lpc32xx/configure.ac  | 2 +-
>  c/src/lib/libbsp/arm/raspberrypi/configure.ac  | 2 +-
>  c/src/lib/libbsp/arm/realview-pbx-a9/configure.ac  | 2 +-
>  c/src/lib/libbsp/arm/rtl22xx/configure.ac  | 2 +-
>  c/src/lib/libbsp/arm/smdk2410/configure.ac | 2 +-
>  c/src/lib/libbsp/arm/stm32f4/configure.ac  | 2 +-
>  c/src/lib/libbsp/arm/tms570/configure.ac   | 2 +-
>  c/src/lib/libbsp/arm/xilinx-zynq/configure.ac  | 2 +-
>  c/src/lib/libbsp/bfin/TLL6527M/configure.ac| 2 +-
>  c/src/lib/libbsp/bfin/bf537Stamp/configure.ac  | 2 +-
>  c/src/lib/libbsp/bfin/eZKit533/configure.ac| 2 +-
>  c/src/lib/libbsp/epiphany/epiphany_sim/configure.ac| 2 +-
>  c/src/lib/libbsp/i386/pc386/configure.ac   | 2 +-
>  c/src/lib/libbsp/lm32/lm32_evr/configure.ac| 2 +-
>  c/src/lib/libbsp/lm32/milkymist/configure.ac   | 2 +-
>  c/src/lib/libbsp/m32c/m32cbsp/configure.ac | 2 +-
>  c/src/lib/libbsp/m68k/av5282/configure.ac  | 2 +-
>  c/src/lib/libbsp/m68k/csb360/configure.ac  | 2 +-
>  c/src/lib/libbsp/m68k/gen68340/configure.ac| 2 +-
>  c/src/lib/libbsp/m68k/gen68360/configure.ac| 2 +-
>  c/src/lib/libbsp/m68k/genmcf548x/configure.ac  | 2 +-
>  c/src/lib/libbsp/m68k/mcf5206elite/configure.ac| 2 +-
>  c/src/lib/libbsp/m68k/mcf52235/configure.ac| 2 +-
>  c/src/lib/libbsp/m68k/mcf5225x/configure.ac| 2 +-
>  c/src/lib/libbsp/m68k/mcf5235/configure.ac | 2 +-
>  c/src/lib/libbsp/m68k/mcf5329/configure.ac | 2 +-
>  c/src/lib/libbsp/m68k/mrm332/configure.ac  | 2 +-
>  c/src/lib/libbsp/m68k/mvme147/configure.ac | 2 +-
>  c/src/lib/libbsp/m68k/mvme147s/configure.ac| 2 +-
>  c/src/lib/libbsp/m68k/mvme162/configure.ac | 2 +-
>  c/src/lib/libbsp/m68k/mvme167/configure.ac | 2 +-
>  c/src/lib/libbsp/m68k/uC5282/configure.ac  | 2 +-
>  c/src/lib/libbsp/mips/csb350/configure.ac  | 2 +-
>  c/src/lib/libbsp/mips/hurricane/configure.ac   | 2 +-
>  c/src/lib/libbsp/mips/jmr3904/configure.ac | 2 +-
>  c/src/lib/libbsp/mips/malta/configure.ac   | 2 +-
>  c/src/lib/libbsp/mips/rbtx4925/configure.ac| 2 +-
>  c/src/lib/libbsp/mips/rbtx4938/configure.ac| 2 +-
>  c/src/lib/libbsp/moxie/moxiesim/configure.ac   | 2 +-
>  c/src/lib/libbsp/nios2/nios2_iss/configure.ac  | 2 +-
>  c/src/lib/libbsp/no_cpu/no_bsp/configure.ac

Re: sptimecounter01 use of stack allocator/deallocator

2017-11-21 Thread Sebastian Huber

On 21/11/17 16:23, Joel Sherrill wrote:



On Tue, Nov 21, 2017 at 1:12 AM, Sebastian Huber 
> wrote:


On 20/11/17 17:53, Joel Sherrill wrote:


The purpose of defining these to NULL isn't documented in this
test and renders this test broken for what seems to be a
reason orthogonal to the test's apparent purpose.


This test runs in a minimal environment (test runs in boot_card())
to verify the static initialization of the timecounter infrastructure.

Running in boot_card() is probably your problem, e.g. not
bsp_start() invocation.


Actually, I spotted this based on redefine warnings, not running the 
test. I will add

undef's before the defines. This should run fine since the starting stack
is in the right place.


Maybe we need

BSP_TASK_STACK_ALLOCATOR_INIT
BSP_TASK_STACK_ALLOCATOR
BSP_TASK_STACK_DEALLOCATOR

confdefs.h defines.

--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel