[PATCH] rtems: Remove Modes_Control

2018-11-08 Thread Sebastian Huber
Use rtems_mode directly.  This is in line with rtems_attribute and
rtems_option.

Update #3598.
---
 cpukit/include/rtems/rtems/asrdata.h   |  2 +-
 cpukit/include/rtems/rtems/modes.h |  4 ++--
 cpukit/include/rtems/rtems/modesimpl.h | 26 +-
 cpukit/include/rtems/rtems/types.h |  5 -
 cpukit/rtems/src/modes.c   |  2 +-
 cpukit/rtems/src/signalcatch.c |  2 +-
 testsuites/sptests/sp08/init.c |  3 +--
 testsuites/sptests/sp47/init.c |  3 +--
 8 files changed, 20 insertions(+), 27 deletions(-)

diff --git a/cpukit/include/rtems/rtems/asrdata.h 
b/cpukit/include/rtems/rtems/asrdata.h
index 1068bc2e48..8ad5a1ec57 100644
--- a/cpukit/include/rtems/rtems/asrdata.h
+++ b/cpukit/include/rtems/rtems/asrdata.h
@@ -39,7 +39,7 @@ typedef struct {
   /** This field indicates if address of the signal handler function. */
   rtems_asr_entry   handler;
   /** This field indicates if the task mode the signal will run with. */
-  Modes_Control mode_set;
+  rtems_mode mode_set;
   /** This field indicates the signal set that is posted. */
   rtems_signal_set  signals_posted;
   /** This field indicates the signal set that is pending. */
diff --git a/cpukit/include/rtems/rtems/modes.h 
b/cpukit/include/rtems/rtems/modes.h
index 547ae13e05..4c9f74edba 100644
--- a/cpukit/include/rtems/rtems/modes.h
+++ b/cpukit/include/rtems/rtems/modes.h
@@ -41,7 +41,7 @@ extern "C" {
  *  The following type defines the control block used to manage
  *  each a mode set.
  */
-typedef uint32_t   Modes_Control;
+typedef uint32_t   rtems_mode;
 
 /**
  *  The following constants define the individual modes and masks
@@ -118,7 +118,7 @@ extern const uint32_t rtems_interrupt_mask;
  * @note This variable is used by bindings from languages other than
  *   C and C++.
  */
-Modes_Control rtems_interrupt_level_body(
+rtems_mode rtems_interrupt_level_body(
   uint32_t   level
 );
 
diff --git a/cpukit/include/rtems/rtems/modesimpl.h 
b/cpukit/include/rtems/rtems/modesimpl.h
index 8c1acc7cb9..318cc36fd7 100644
--- a/cpukit/include/rtems/rtems/modesimpl.h
+++ b/cpukit/include/rtems/rtems/modesimpl.h
@@ -39,8 +39,8 @@ extern "C" {
  *  are set in mode_set, and FALSE otherwise.
  */
 RTEMS_INLINE_ROUTINE bool _Modes_Mask_changed (
-  Modes_Control mode_set,
-  Modes_Control masks
+  rtems_mode mode_set,
+  rtems_mode masks
 )
 {
return ( mode_set & masks ) ? true : false;
@@ -53,7 +53,7 @@ RTEMS_INLINE_ROUTINE bool _Modes_Mask_changed (
  *  Signal Processing is disabled, and FALSE otherwise.
  */
 RTEMS_INLINE_ROUTINE bool _Modes_Is_asr_disabled (
-  Modes_Control mode_set
+  rtems_mode mode_set
 )
 {
return (mode_set & RTEMS_ASR_MASK) == RTEMS_NO_ASR;
@@ -66,7 +66,7 @@ RTEMS_INLINE_ROUTINE bool _Modes_Is_asr_disabled (
  *  is enabled, and FALSE otherwise.
  */
 RTEMS_INLINE_ROUTINE bool _Modes_Is_preempt (
-  Modes_Control mode_set
+  rtems_mode mode_set
 )
 {
return (mode_set & RTEMS_PREEMPT_MASK) == RTEMS_PREEMPT;
@@ -79,7 +79,7 @@ RTEMS_INLINE_ROUTINE bool _Modes_Is_preempt (
  *  is enabled, and FALSE otherwise.
  */
 RTEMS_INLINE_ROUTINE bool _Modes_Is_timeslice (
-  Modes_Control mode_set
+  rtems_mode mode_set
 )
 {
   return (mode_set & RTEMS_TIMESLICE_MASK) == RTEMS_TIMESLICE;
@@ -91,7 +91,7 @@ RTEMS_INLINE_ROUTINE bool _Modes_Is_timeslice (
  *  This function returns the interrupt level portion of the mode_set.
  */
 RTEMS_INLINE_ROUTINE ISR_Level _Modes_Get_interrupt_level (
-  Modes_Control mode_set
+  rtems_mode mode_set
 )
 {
   return ( mode_set & RTEMS_INTERRUPT_MASK );
@@ -104,7 +104,7 @@ RTEMS_INLINE_ROUTINE ISR_Level _Modes_Get_interrupt_level (
  *  in the mode_set.
  */
 RTEMS_INLINE_ROUTINE void _Modes_Set_interrupt_level (
-  Modes_Control mode_set
+  rtems_mode mode_set
 )
 {
   _ISR_Set_level( _Modes_Get_interrupt_level( mode_set ) );
@@ -120,14 +120,14 @@ RTEMS_INLINE_ROUTINE void _Modes_Set_interrupt_level (
  *  is returned in changed.
  */
 RTEMS_INLINE_ROUTINE void _Modes_Change (
-  Modes_Control  old_mode_set,
-  Modes_Control  new_mode_set,
-  Modes_Control  mask,
-  Modes_Control *out_mode_set,
-  Modes_Control *changed
+  rtems_mode  old_mode_set,
+  rtems_mode  new_mode_set,
+  rtems_mode  mask,
+  rtems_mode *out_mode_set,
+  rtems_mode *changed
 )
 {
-  Modes_Control _out_mode;
+  rtems_mode _out_mode;
 
   _out_mode  =  old_mode_set;
   _out_mode &= ~mask;
diff --git a/cpukit/include/rtems/rtems/types.h 
b/cpukit/include/rtems/rtems/types.h
index 874b077b79..2028c427f0 100644
--- a/cpukit/include/rtems/rtems/types.h
+++ b/cpukit/include/rtems/rtems/types.h
@@ -167,11 +167,6 @@ typedef struct {
   uint32_t   ticks;
 }   rtems_time_of_day;
 
-/**
- * @brief Task mode type.
- */
-typedef Modes_Control rtems_mode;
-
 /*
  *  MPCI related entries
  */
diff --git a/cpukit/rtems/src/modes.c b/cpukit/rtems/src/modes.c
index acc499377c..198ce29329 100644
--- a/cpukit/rtems/src/modes.c
+++ b/cpukit/rtems/src/modes.c
@@ -26,

[PATCH] small typo

2018-11-08 Thread Malte Münch
---
 cpukit/include/rtems/score/basedefs.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/cpukit/include/rtems/score/basedefs.h 
b/cpukit/include/rtems/score/basedefs.h
index 5e425cedf0..43b837c22e 100644
--- a/cpukit/include/rtems/score/basedefs.h
+++ b/cpukit/include/rtems/score/basedefs.h
@@ -67,7 +67,7 @@
 
 /**
  *  The following macro is a compiler specific way to ensure that memory
- *  writes are not reordered around certian points.  This specifically can
+ *  writes are not reordered around certain points.  This specifically can
  *  impact interrupt disable and thread dispatching critical sections.
  */
 #ifdef __GNUC__
-- 
2.19.1

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


Re: [PATCH] small typo

2018-11-08 Thread Sebastian Huber

Thanks, committed.

--
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

[PATCH 03/21] rtems: Remove Modes_Control

2018-11-08 Thread Sebastian Huber
Use rtems_mode directly.  This is in line with rtems_attribute and
rtems_option.

Update #3598.
---
 cpukit/include/rtems/rtems/asrdata.h   |  2 +-
 cpukit/include/rtems/rtems/modes.h |  4 ++--
 cpukit/include/rtems/rtems/modesimpl.h | 26 +-
 cpukit/include/rtems/rtems/types.h |  5 -
 cpukit/rtems/src/modes.c   |  2 +-
 cpukit/rtems/src/signalcatch.c |  2 +-
 testsuites/sptests/sp08/init.c |  3 +--
 testsuites/sptests/sp47/init.c |  3 +--
 8 files changed, 20 insertions(+), 27 deletions(-)

diff --git a/cpukit/include/rtems/rtems/asrdata.h 
b/cpukit/include/rtems/rtems/asrdata.h
index 1068bc2e48..70b2416257 100644
--- a/cpukit/include/rtems/rtems/asrdata.h
+++ b/cpukit/include/rtems/rtems/asrdata.h
@@ -39,7 +39,7 @@ typedef struct {
   /** This field indicates if address of the signal handler function. */
   rtems_asr_entry   handler;
   /** This field indicates if the task mode the signal will run with. */
-  Modes_Control mode_set;
+  rtems_modemode_set;
   /** This field indicates the signal set that is posted. */
   rtems_signal_set  signals_posted;
   /** This field indicates the signal set that is pending. */
diff --git a/cpukit/include/rtems/rtems/modes.h 
b/cpukit/include/rtems/rtems/modes.h
index 547ae13e05..4c9f74edba 100644
--- a/cpukit/include/rtems/rtems/modes.h
+++ b/cpukit/include/rtems/rtems/modes.h
@@ -41,7 +41,7 @@ extern "C" {
  *  The following type defines the control block used to manage
  *  each a mode set.
  */
-typedef uint32_t   Modes_Control;
+typedef uint32_t   rtems_mode;
 
 /**
  *  The following constants define the individual modes and masks
@@ -118,7 +118,7 @@ extern const uint32_t rtems_interrupt_mask;
  * @note This variable is used by bindings from languages other than
  *   C and C++.
  */
-Modes_Control rtems_interrupt_level_body(
+rtems_mode rtems_interrupt_level_body(
   uint32_t   level
 );
 
diff --git a/cpukit/include/rtems/rtems/modesimpl.h 
b/cpukit/include/rtems/rtems/modesimpl.h
index 8c1acc7cb9..318cc36fd7 100644
--- a/cpukit/include/rtems/rtems/modesimpl.h
+++ b/cpukit/include/rtems/rtems/modesimpl.h
@@ -39,8 +39,8 @@ extern "C" {
  *  are set in mode_set, and FALSE otherwise.
  */
 RTEMS_INLINE_ROUTINE bool _Modes_Mask_changed (
-  Modes_Control mode_set,
-  Modes_Control masks
+  rtems_mode mode_set,
+  rtems_mode masks
 )
 {
return ( mode_set & masks ) ? true : false;
@@ -53,7 +53,7 @@ RTEMS_INLINE_ROUTINE bool _Modes_Mask_changed (
  *  Signal Processing is disabled, and FALSE otherwise.
  */
 RTEMS_INLINE_ROUTINE bool _Modes_Is_asr_disabled (
-  Modes_Control mode_set
+  rtems_mode mode_set
 )
 {
return (mode_set & RTEMS_ASR_MASK) == RTEMS_NO_ASR;
@@ -66,7 +66,7 @@ RTEMS_INLINE_ROUTINE bool _Modes_Is_asr_disabled (
  *  is enabled, and FALSE otherwise.
  */
 RTEMS_INLINE_ROUTINE bool _Modes_Is_preempt (
-  Modes_Control mode_set
+  rtems_mode mode_set
 )
 {
return (mode_set & RTEMS_PREEMPT_MASK) == RTEMS_PREEMPT;
@@ -79,7 +79,7 @@ RTEMS_INLINE_ROUTINE bool _Modes_Is_preempt (
  *  is enabled, and FALSE otherwise.
  */
 RTEMS_INLINE_ROUTINE bool _Modes_Is_timeslice (
-  Modes_Control mode_set
+  rtems_mode mode_set
 )
 {
   return (mode_set & RTEMS_TIMESLICE_MASK) == RTEMS_TIMESLICE;
@@ -91,7 +91,7 @@ RTEMS_INLINE_ROUTINE bool _Modes_Is_timeslice (
  *  This function returns the interrupt level portion of the mode_set.
  */
 RTEMS_INLINE_ROUTINE ISR_Level _Modes_Get_interrupt_level (
-  Modes_Control mode_set
+  rtems_mode mode_set
 )
 {
   return ( mode_set & RTEMS_INTERRUPT_MASK );
@@ -104,7 +104,7 @@ RTEMS_INLINE_ROUTINE ISR_Level _Modes_Get_interrupt_level (
  *  in the mode_set.
  */
 RTEMS_INLINE_ROUTINE void _Modes_Set_interrupt_level (
-  Modes_Control mode_set
+  rtems_mode mode_set
 )
 {
   _ISR_Set_level( _Modes_Get_interrupt_level( mode_set ) );
@@ -120,14 +120,14 @@ RTEMS_INLINE_ROUTINE void _Modes_Set_interrupt_level (
  *  is returned in changed.
  */
 RTEMS_INLINE_ROUTINE void _Modes_Change (
-  Modes_Control  old_mode_set,
-  Modes_Control  new_mode_set,
-  Modes_Control  mask,
-  Modes_Control *out_mode_set,
-  Modes_Control *changed
+  rtems_mode  old_mode_set,
+  rtems_mode  new_mode_set,
+  rtems_mode  mask,
+  rtems_mode *out_mode_set,
+  rtems_mode *changed
 )
 {
-  Modes_Control _out_mode;
+  rtems_mode _out_mode;
 
   _out_mode  =  old_mode_set;
   _out_mode &= ~mask;
diff --git a/cpukit/include/rtems/rtems/types.h 
b/cpukit/include/rtems/rtems/types.h
index 874b077b79..2028c427f0 100644
--- a/cpukit/include/rtems/rtems/types.h
+++ b/cpukit/include/rtems/rtems/types.h
@@ -167,11 +167,6 @@ typedef struct {
   uint32_t   ticks;
 }   rtems_time_of_day;
 
-/**
- * @brief Task mode type.
- */
-typedef Modes_Control rtems_mode;
-
 /*
  *  MPCI related entries
  */
diff --git a/cpukit/rtems/src/modes.c b/cpukit/rtems/src/modes.c
index acc499377c..198ce29329 100644
--- a/cpukit/rtems/src/modes.c
+++ b/cpukit/rtems/src/modes.c
@@ -

[PATCH 17/21] score: Introduce

2018-11-08 Thread Sebastian Huber
Separate the definitions related to watchdog ticks from the watchdog
structures.

Update #3598.
---
 cpukit/headers.am  |  1 +
 cpukit/include/rtems/rtems/clock.h |  1 -
 cpukit/include/rtems/rtems/ratemon.h   |  1 -
 cpukit/include/rtems/rtems/types.h |  2 +-
 cpukit/include/rtems/score/threadq.h   |  4 +-
 cpukit/include/rtems/score/watchdog.h  | 39 ++--
 cpukit/include/rtems/score/watchdogimpl.h  |  1 +
 cpukit/include/rtems/score/watchdogticks.h | 73 ++
 cpukit/score/src/watchdogtickssinceboot.c  |  2 +-
 9 files changed, 83 insertions(+), 41 deletions(-)
 create mode 100644 cpukit/include/rtems/score/watchdogticks.h

diff --git a/cpukit/headers.am b/cpukit/headers.am
index 3a85f29782..fa51f8dcee 100644
--- a/cpukit/headers.am
+++ b/cpukit/headers.am
@@ -395,6 +395,7 @@ include_rtems_score_HEADERS += include/rtems/score/userext.h
 include_rtems_score_HEADERS += include/rtems/score/userextimpl.h
 include_rtems_score_HEADERS += include/rtems/score/watchdog.h
 include_rtems_score_HEADERS += include/rtems/score/watchdogimpl.h
+include_rtems_score_HEADERS += include/rtems/score/watchdogticks.h
 include_rtems_score_HEADERS += include/rtems/score/wkspace.h
 include_rtems_trace_HEADERS += include/rtems/trace/rtems-trace-buffer-vars.h
 include_sys_HEADERS += include/sys/_ffcounter.h
diff --git a/cpukit/include/rtems/rtems/clock.h 
b/cpukit/include/rtems/rtems/clock.h
index f3f406d2e6..77b379f285 100644
--- a/cpukit/include/rtems/rtems/clock.h
+++ b/cpukit/include/rtems/rtems/clock.h
@@ -29,7 +29,6 @@
 #ifndef _RTEMS_RTEMS_CLOCK_H
 #define _RTEMS_RTEMS_CLOCK_H
 
-#include 
 #include 
 #include 
 #include 
diff --git a/cpukit/include/rtems/rtems/ratemon.h 
b/cpukit/include/rtems/rtems/ratemon.h
index 747d967af2..095cab31eb 100644
--- a/cpukit/include/rtems/rtems/ratemon.h
+++ b/cpukit/include/rtems/rtems/ratemon.h
@@ -35,7 +35,6 @@
 
 #include 
 #include 
-#include 
 
 struct rtems_printer;
 
diff --git a/cpukit/include/rtems/rtems/types.h 
b/cpukit/include/rtems/rtems/types.h
index 13adf175a6..ba904536ee 100644
--- a/cpukit/include/rtems/rtems/types.h
+++ b/cpukit/include/rtems/rtems/types.h
@@ -28,7 +28,7 @@
 #include 
 #include 
 #include 
-#include 
+#include 
 #include 
 #if defined(RTEMS_MULTIPROCESSING)
 #include 
diff --git a/cpukit/include/rtems/score/threadq.h 
b/cpukit/include/rtems/score/threadq.h
index 3e618bf5af..5ddc2a10bb 100644
--- a/cpukit/include/rtems/score/threadq.h
+++ b/cpukit/include/rtems/score/threadq.h
@@ -25,12 +25,14 @@
 #include 
 #include 
 #include 
-#include 
+#include 
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
+struct Per_CPU_Control;
+
 struct Scheduler_Node;
 
 /**
diff --git a/cpukit/include/rtems/score/watchdog.h 
b/cpukit/include/rtems/score/watchdog.h
index 71126d3508..9db87adae8 100644
--- a/cpukit/include/rtems/score/watchdog.h
+++ b/cpukit/include/rtems/score/watchdog.h
@@ -1,5 +1,7 @@
 /**
- *  @file  rtems/score/watchdog.h
+ *  @file
+ *
+ *  @ingroup ScoreWatchdog
  *
  *  @brief Constants and Structures Associated with Watchdog Timers
  *
@@ -45,18 +47,6 @@ extern "C" {
 
 typedef struct Watchdog_Control Watchdog_Control;
 
-/**
- *  @brief Type is used to specify the length of intervals.
- *
- *  This type is used to specify the length of intervals.
- */
-typedef uint32_t   Watchdog_Interval;
-
-/**
- * @brief Special watchdog ticks value to indicate an infinite wait.
- */
-#define WATCHDOG_NO_TIMEOUT 0
-
 /**
  *  @brief Return type from a Watchdog Service Routine.
  *
@@ -124,29 +114,6 @@ struct Watchdog_Control {
   uint64_t expire;
 };
 
-/**
- * @brief The watchdog ticks counter.
- *
- * With a 1ms watchdog tick, this counter overflows after 50 days since boot.
- */
-extern volatile Watchdog_Interval _Watchdog_Ticks_since_boot;
-
-/**
- * @brief The watchdog nanoseconds per tick.
- *
- * This constant is defined by the application configuration via
- * .
- */
-extern const uint32_t _Watchdog_Nanoseconds_per_tick;
-
-/**
- * @brief The watchdog ticks per second.
- *
- * This constant is defined by the application configuration via
- * .
- */
-extern const uint32_t _Watchdog_Ticks_per_second;
-
 /**@}*/
 
 #ifdef __cplusplus
diff --git a/cpukit/include/rtems/score/watchdogimpl.h 
b/cpukit/include/rtems/score/watchdogimpl.h
index 6fe9d5acf5..17ef130d3a 100644
--- a/cpukit/include/rtems/score/watchdogimpl.h
+++ b/cpukit/include/rtems/score/watchdogimpl.h
@@ -20,6 +20,7 @@
 #define _RTEMS_SCORE_WATCHDOGIMPL_H
 
 #include 
+#include 
 #include 
 #include 
 #include 
diff --git a/cpukit/include/rtems/score/watchdogticks.h 
b/cpukit/include/rtems/score/watchdogticks.h
new file mode 100644
index 00..8a69a288fc
--- /dev/null
+++ b/cpukit/include/rtems/score/watchdogticks.h
@@ -0,0 +1,73 @@
+/**
+ * @file
+ *
+ * @ingroup ScoreWatchdog
+ */
+
+/*
+ *  COPYRIGHT (c) 1989-2009.
+ *  On-Line Applications Research Corporation (OAR).
+ *
+ *  The license and distribution ter

[PATCH 07/21] rtems: Move internal structures to messagedata.h

2018-11-08 Thread Sebastian Huber
Update #3598.
---
 cpukit/headers.am|  1 +
 cpukit/include/rtems/confdefs.h  |  1 +
 cpukit/include/rtems/rtems/message.h | 45 --
 cpukit/include/rtems/rtems/messagedata.h | 54 
 cpukit/include/rtems/rtems/messageimpl.h |  9 +++---
 5 files changed, 67 insertions(+), 43 deletions(-)
 create mode 100644 cpukit/include/rtems/rtems/messagedata.h

diff --git a/cpukit/headers.am b/cpukit/headers.am
index 765c835d3d..cd0abfabec 100644
--- a/cpukit/headers.am
+++ b/cpukit/headers.am
@@ -243,6 +243,7 @@ include_rtems_rtems_HEADERS += include/rtems/rtems/eventmp.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/intr.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/mainpage.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/message.h
+include_rtems_rtems_HEADERS += include/rtems/rtems/messagedata.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/messageimpl.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/modes.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/modesimpl.h
diff --git a/cpukit/include/rtems/confdefs.h b/cpukit/include/rtems/confdefs.h
index 2bb9fb027f..713064f6af 100644
--- a/cpukit/include/rtems/confdefs.h
+++ b/cpukit/include/rtems/confdefs.h
@@ -34,6 +34,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
diff --git a/cpukit/include/rtems/rtems/message.h 
b/cpukit/include/rtems/rtems/message.h
index 8ae9e156a1..768b0badd5 100644
--- a/cpukit/include/rtems/rtems/message.h
+++ b/cpukit/include/rtems/rtems/message.h
@@ -1,25 +1,9 @@
 /**
- * @file rtems/rtems/message.h
+ * @file
  *
- * @defgroup ClassicMessageQueue Message Queues
+ * @ingroup ClassicMessageQueue
  *
- * @ingroup ClassicRTEMS
- * @brief Message Queue Manager
- *
- * This include file contains all the constants and structures associated
- * with the Message Queue Manager. This manager provides a mechanism for
- * communication and synchronization between tasks using messages.
- *
- * Directives provided are:
- *
- * - create a queue
- * - get ID of a queue
- * - delete a queue
- * - put a message at the rear of a queue
- * - put a message at the front of a queue
- * - broadcast N messages to a queue
- * - receive message from a queue
- * - flush all messages on a queue
+ * @brief Classic Message Queue Manager API
  */
 
 /* COPYRIGHT (c) 1989-2013.
@@ -33,32 +17,15 @@
 #ifndef _RTEMS_RTEMS_MESSAGE_H
 #define _RTEMS_RTEMS_MESSAGE_H
 
-#include 
-#include 
-#include 
 #include 
-#include 
-#include 
+#include 
+#include 
+#include 
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-/**
- *  @ingroup ClassicMessageQueueImpl
- *
- *  The following records define the control block used to manage
- *  each message queue.
- */
-typedef struct {
-  /** This field is the inherited object characteristics. */
-  Objects_Control Object;
-  /** This field is the instance of the SuperCore Message Queue. */
-  CORE_message_queue_Control  message_queue;
-  /** This field is the attribute set as defined by the API. */
-  rtems_attribute attribute_set;
-}   Message_queue_Control;
-
 /**
  *  @defgroup ClassicMessageQueue Message Queues
  *
diff --git a/cpukit/include/rtems/rtems/messagedata.h 
b/cpukit/include/rtems/rtems/messagedata.h
new file mode 100644
index 00..be09d8ed86
--- /dev/null
+++ b/cpukit/include/rtems/rtems/messagedata.h
@@ -0,0 +1,54 @@
+/**
+ * @file
+ *
+ * @ingroup ClassicMessageQueue
+ *
+ * @brief Classic Message Queue Manager API
+ */
+
+/* COPYRIGHT (c) 1989-2013.
+ * On-Line Applications Research Corporation (OAR).
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.org/license/LICENSE.
+ */
+
+#ifndef _RTEMS_RTEMS_MESSAGEDATA_H
+#define _RTEMS_RTEMS_MESSAGEDATA_H
+
+#include 
+#include 
+#include 
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @addtogroup ClassicMessageQueueImpl
+ *
+ * @{
+ */
+
+/**
+ *  The following records define the control block used to manage
+ *  each message queue.
+ */
+typedef struct {
+  /** This field is the inherited object characteristics. */
+  Objects_Control Object;
+  /** This field is the instance of the SuperCore Message Queue. */
+  CORE_message_queue_Control  message_queue;
+  /** This field is the attribute set as defined by the API. */
+  rtems_attribute attribute_set;
+}   Message_queue_Control;
+
+/** @} */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+/* end of include file */
diff --git a/cpukit/include/rtems/rtems/messageimpl.h 
b/cpukit/include/rtems/rtems/messageimpl.h
index df7cea6829..098e310804 100644
--- a/cpukit/include/rtems/rtems/messageimpl.h
+++ b/cpukit/include/rtems/rtems/messageimpl.h
@@ -1,8 +1,9 @@
 /**
- * @file rtems/rtems/message.inl
+ * @file
  *
- *  This include file contains the static inline implementation of all
- *  inlined routines in the Message Manager.
+ * @ingr

[PATCH 02/21] rtems: Move internal structures to asrdata.h

2018-11-08 Thread Sebastian Huber
Update #3598.
---
 cpukit/headers.am|  1 +
 cpukit/include/rtems/rtems/asr.h | 19 
 cpukit/include/rtems/rtems/asrdata.h | 58 
 cpukit/include/rtems/rtems/asrimpl.h |  2 +-
 cpukit/include/rtems/rtems/tasks.h   |  2 +-
 5 files changed, 61 insertions(+), 21 deletions(-)
 create mode 100644 cpukit/include/rtems/rtems/asrdata.h

diff --git a/cpukit/headers.am b/cpukit/headers.am
index 6e2b690cd5..6210ba9153 100644
--- a/cpukit/headers.am
+++ b/cpukit/headers.am
@@ -223,6 +223,7 @@ include_rtems_rfs_HEADERS += 
include/rtems/rfs/rtems-rfs-link.h
 include_rtems_rfs_HEADERS += include/rtems/rfs/rtems-rfs-mutex.h
 include_rtems_rfs_HEADERS += include/rtems/rfs/rtems-rfs-trace.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/asr.h
+include_rtems_rtems_HEADERS += include/rtems/rtems/asrdata.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/asrimpl.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/attr.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/attrimpl.h
diff --git a/cpukit/include/rtems/rtems/asr.h b/cpukit/include/rtems/rtems/asr.h
index edd5e2fe62..b2fa02ce9e 100644
--- a/cpukit/include/rtems/rtems/asr.h
+++ b/cpukit/include/rtems/rtems/asr.h
@@ -57,25 +57,6 @@ typedef rtems_asr ( *rtems_asr_entry )(
  rtems_signal_set
  );
 
-/**
- *  The following defines the control structure used to manage
- *  signals.  Each thread has a copy of this record.
- */
-typedef struct {
-  /** This field indicates if are ASRs enabled currently. */
-  bool  is_enabled;
-  /** This field indicates if address of the signal handler function. */
-  rtems_asr_entry   handler;
-  /** This field indicates if the task mode the signal will run with. */
-  Modes_Control mode_set;
-  /** This field indicates the signal set that is posted. */
-  rtems_signal_set  signals_posted;
-  /** This field indicates the signal set that is pending. */
-  rtems_signal_set  signals_pending;
-  /** This field indicates if nest level of signals being processed */
-  uint32_t  nest_level;
-}   ASR_Information;
-
 /*
  *  The following constants define the individual signals which may
  *  be used to compose a signal set.
diff --git a/cpukit/include/rtems/rtems/asrdata.h 
b/cpukit/include/rtems/rtems/asrdata.h
new file mode 100644
index 00..1068bc2e48
--- /dev/null
+++ b/cpukit/include/rtems/rtems/asrdata.h
@@ -0,0 +1,58 @@
+/**
+ * @file
+ *
+ * @ingroup ClassicASRImpl
+ *
+ * @brief Classic ASR Data Structures
+ */
+
+/* COPYRIGHT (c) 1989-2013.
+ * On-Line Applications Research Corporation (OAR).
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.org/license/LICENSE.
+ */
+
+#ifndef _RTEMS_RTEMS_ASRDATA_H
+#define _RTEMS_RTEMS_ASRDATA_H
+
+#include 
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @addtogroup ClassicASRImpl
+ *
+ * @{
+ */
+
+/**
+ *  The following defines the control structure used to manage
+ *  signals.  Each thread has a copy of this record.
+ */
+typedef struct {
+  /** This field indicates if are ASRs enabled currently. */
+  bool  is_enabled;
+  /** This field indicates if address of the signal handler function. */
+  rtems_asr_entry   handler;
+  /** This field indicates if the task mode the signal will run with. */
+  Modes_Control mode_set;
+  /** This field indicates the signal set that is posted. */
+  rtems_signal_set  signals_posted;
+  /** This field indicates the signal set that is pending. */
+  rtems_signal_set  signals_pending;
+  /** This field indicates if nest level of signals being processed */
+  uint32_t  nest_level;
+}   ASR_Information;
+
+/** @} */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+/* end of include file */
diff --git a/cpukit/include/rtems/rtems/asrimpl.h 
b/cpukit/include/rtems/rtems/asrimpl.h
index 141c34d4bb..38cc1e29c6 100644
--- a/cpukit/include/rtems/rtems/asrimpl.h
+++ b/cpukit/include/rtems/rtems/asrimpl.h
@@ -17,7 +17,7 @@
 #ifndef _RTEMS_RTEMS_ASRIMPL_H
 #define _RTEMS_RTEMS_ASRIMPL_H
 
-#include 
+#include 
 
 #include 
 
diff --git a/cpukit/include/rtems/rtems/tasks.h 
b/cpukit/include/rtems/rtems/tasks.h
index aaba8851df..989008689b 100644
--- a/cpukit/include/rtems/rtems/tasks.h
+++ b/cpukit/include/rtems/rtems/tasks.h
@@ -42,7 +42,7 @@
 #include 
 #include 
 #include 
-#include 
+#include 
 #include 
 #include 
 
-- 
2.16.4

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


[PATCH 04/21] rtems: Move internal structures to barrierdata.h

2018-11-08 Thread Sebastian Huber
Update #3598.
---
 cpukit/headers.am|  1 +
 cpukit/include/rtems/confdefs.h  |  1 +
 cpukit/include/rtems/rtems/barrier.h | 36 +++--
 cpukit/include/rtems/rtems/barrierdata.h | 54 
 cpukit/include/rtems/rtems/barrierimpl.h | 12 +++
 5 files changed, 65 insertions(+), 39 deletions(-)
 create mode 100644 cpukit/include/rtems/rtems/barrierdata.h

diff --git a/cpukit/headers.am b/cpukit/headers.am
index 6210ba9153..5656ee5712 100644
--- a/cpukit/headers.am
+++ b/cpukit/headers.am
@@ -228,6 +228,7 @@ include_rtems_rtems_HEADERS += include/rtems/rtems/asrimpl.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/attr.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/attrimpl.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/barrier.h
+include_rtems_rtems_HEADERS += include/rtems/rtems/barrierdata.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/barrierimpl.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/cache.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/clock.h
diff --git a/cpukit/include/rtems/confdefs.h b/cpukit/include/rtems/confdefs.h
index 410a4366a5..f48580963a 100644
--- a/cpukit/include/rtems/confdefs.h
+++ b/cpukit/include/rtems/confdefs.h
@@ -32,6 +32,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
diff --git a/cpukit/include/rtems/rtems/barrier.h 
b/cpukit/include/rtems/rtems/barrier.h
index 2eea90fa41..7422f78931 100644
--- a/cpukit/include/rtems/rtems/barrier.h
+++ b/cpukit/include/rtems/rtems/barrier.h
@@ -1,21 +1,9 @@
 /**
- * @file rtems/rtems/barrier.h
+ * @file
  *
- * @defgroup ClassicBarrier Barriers
- *
- * @ingroup ClassicRTEMS
- * @brief Classic API Barrier Manager
+ * @ingroup ClassicBarrier
  *
- * This include file contains all the constants and structures associated
- * with the Barrier Manager.
- *
- * Directives provided are:
- *
- * - create a barrier
- * - get an ID of a barrier
- * - delete a barrier
- * - wait for a barrier
- * - signal a barrier
+ * @brief Classic Barrier Manager API
  */
 
 /* COPYRIGHT (c) 1989-2008.
@@ -29,11 +17,9 @@
 #ifndef _RTEMS_RTEMS_BARRIER_H
 #define _RTEMS_RTEMS_BARRIER_H
 
-#include 
-#include 
 #include 
-#include 
-#include 
+#include 
+#include 
 
 #ifdef __cplusplus
 extern "C" {
@@ -49,18 +35,6 @@ extern "C" {
  */
 /**@{*/
 
-/**
- *  This type defines the control block used to manage each barrier.
- */
-typedef struct {
-  /** This is used to manage a barrier as an object. */
-  Objects_Control  Object;
-  /** This is used to implement the barrier. */
-  CORE_barrier_Control Barrier;
-  /** This is used to specify the attributes of a barrier. */
-  rtems_attribute  attribute_set;
-}   Barrier_Control;
-
 /**
  * @brief RTEMS Create Barrier
  *
diff --git a/cpukit/include/rtems/rtems/barrierdata.h 
b/cpukit/include/rtems/rtems/barrierdata.h
new file mode 100644
index 00..a19ed88758
--- /dev/null
+++ b/cpukit/include/rtems/rtems/barrierdata.h
@@ -0,0 +1,54 @@
+/**
+ * @file
+ *
+ * @ingroup ClassicBarrierImpl
+ *
+ * @brief Classic Barrier Manager Data Structures
+ */
+
+
+/* COPYRIGHT (c) 1989-2008.
+ * On-Line Applications Research Corporation (OAR).
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.org/license/LICENSE.
+ */
+
+#ifndef _RTEMS_RTEMS_BARRIERDATA_H
+#define _RTEMS_RTEMS_BARRIERDATA_H
+
+#include 
+#include 
+#include 
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @addtogroup XXX
+ *
+ * @{
+ */
+
+/**
+ *  This type defines the control block used to manage each barrier.
+ */
+typedef struct {
+  /** This is used to manage a barrier as an object. */
+  Objects_Control  Object;
+  /** This is used to implement the barrier. */
+  CORE_barrier_Control Barrier;
+  /** This is used to specify the attributes of a barrier. */
+  rtems_attribute  attribute_set;
+}   Barrier_Control;
+
+/** @} */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+/*  end of include file */
diff --git a/cpukit/include/rtems/rtems/barrierimpl.h 
b/cpukit/include/rtems/rtems/barrierimpl.h
index f0b53e0cab..0acef05af3 100644
--- a/cpukit/include/rtems/rtems/barrierimpl.h
+++ b/cpukit/include/rtems/rtems/barrierimpl.h
@@ -1,13 +1,9 @@
 /**
- * @file rtems/rtems/barrier.inl
+ * @file
  *
- * @defgroup ClassicBarrier Barriers
+ * @ingroup ClassicBarrierImpl
  *
- * @ingroup ClassicRTEMS
- * @brief Inline Implementation from Barrier Manager
- *
- * This file contains the static inlin implementation of the inlined
- * routines from the Barrier Manager.
+ * @brief Classic Barrier Manager Implementation
  */
 
 /*
@@ -22,7 +18,7 @@
 #ifndef _RTEMS_RTEMS_BARRIERIMPL_H
 #define _RTEMS_RTEMS_BARRIERIMPL_H
 
-#include 
+#include 
 #include 
 #include 
 
-- 
2.16.4

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

[PATCH 05/21] rtems: Move internal structures to dpmemdata.h

2018-11-08 Thread Sebastian Huber
Update #3598.
---
 cpukit/headers.am  |  1 +
 cpukit/include/rtems/confdefs.h|  1 +
 cpukit/include/rtems/rtems/dpmem.h | 37 ++
 cpukit/include/rtems/rtems/dpmemdata.h | 56 ++
 cpukit/include/rtems/rtems/dpmemimpl.h |  2 +-
 5 files changed, 62 insertions(+), 35 deletions(-)
 create mode 100644 cpukit/include/rtems/rtems/dpmemdata.h

diff --git a/cpukit/headers.am b/cpukit/headers.am
index 5656ee5712..26fa217049 100644
--- a/cpukit/headers.am
+++ b/cpukit/headers.am
@@ -234,6 +234,7 @@ include_rtems_rtems_HEADERS += include/rtems/rtems/cache.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/clock.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/config.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/dpmem.h
+include_rtems_rtems_HEADERS += include/rtems/rtems/dpmemdata.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/dpmemimpl.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/event.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/eventimpl.h
diff --git a/cpukit/include/rtems/confdefs.h b/cpukit/include/rtems/confdefs.h
index f48580963a..2bb9fb027f 100644
--- a/cpukit/include/rtems/confdefs.h
+++ b/cpukit/include/rtems/confdefs.h
@@ -33,6 +33,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
diff --git a/cpukit/include/rtems/rtems/dpmem.h 
b/cpukit/include/rtems/rtems/dpmem.h
index e582d2d359..d3a33ad547 100644
--- a/cpukit/include/rtems/rtems/dpmem.h
+++ b/cpukit/include/rtems/rtems/dpmem.h
@@ -1,24 +1,9 @@
 /**
- * @file rtems/rtems/dpmem.h
+ * @file
  *
- * @defgroup ClassicDPMEM Dual Ported Memory
- *
- * @ingroup ClassicRTEMS
- * @brief Dual Ported Memory Manager
- *
- * This include file contains all the constants and structures associated
- * with the Dual Ported Memory Manager. This manager provides a mechanism
- * for converting addresses between internal and external representations
- * for multiple dual-ported memory areas.
- *
- * Directives provided are:
- *
- * - create a port
- * - get ID of a port
- * - delete a port
- * - convert external to internal address
- * - convert internal to external address
+ * @ingroup ClassicDPMEM
  *
+ * @brief Classic Dual Ported Memory Manager API
  */
 
 /* COPYRIGHT (c) 1989-2008.
@@ -49,22 +34,6 @@ extern "C" {
  */
 /**@{*/
 
-/**
- *  The following structure defines the port control block.  Each port
- *  has a control block associated with it.  This control block contains
- *  all information required to support the port related operations.
- */
-typedef struct {
-  /** This field is the object management portion of a Port instance. */
-  Objects_Control  Object;
-  /** This field is the base internal address of the port. */
-  void*internal_base;
-  /** This field is the base external address of the port. */
-  void*external_base;
-  /** This field is the length of dual-ported area of the port. */
-  uint32_t length;
-}   Dual_ported_memory_Control;
-
 /**
  * @brief Creates a port into a dual-ported memory area.
  *
diff --git a/cpukit/include/rtems/rtems/dpmemdata.h 
b/cpukit/include/rtems/rtems/dpmemdata.h
new file mode 100644
index 00..293ad15ea5
--- /dev/null
+++ b/cpukit/include/rtems/rtems/dpmemdata.h
@@ -0,0 +1,56 @@
+/**
+ * @file
+ *
+ * @ingroup ClassicDPMEMImpl
+ *
+ * @brief Classic Dual Ported Memory Manager Data Structures
+ */
+
+/* COPYRIGHT (c) 1989-2008.
+ * On-Line Applications Research Corporation (OAR).
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.org/license/LICENSE.
+ */
+
+#ifndef _RTEMS_RTEMS_DPMEMDATA_H
+#define _RTEMS_RTEMS_DPMEMDATA_H
+
+#include 
+#include 
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @addtogroup ClassicDPMEMImpl
+ *
+ * @{
+ */
+
+/**
+ *  The following structure defines the port control block.  Each port
+ *  has a control block associated with it.  This control block contains
+ *  all information required to support the port related operations.
+ */
+typedef struct {
+  /** This field is the object management portion of a Port instance. */
+  Objects_Control  Object;
+  /** This field is the base internal address of the port. */
+  void*internal_base;
+  /** This field is the base external address of the port. */
+  void*external_base;
+  /** This field is the length of dual-ported area of the port. */
+  uint32_t length;
+}   Dual_ported_memory_Control;
+
+/** @} */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+/* end of include file */
diff --git a/cpukit/include/rtems/rtems/dpmemimpl.h 
b/cpukit/include/rtems/rtems/dpmemimpl.h
index 52ac48c8dc..2b3fefd199 100644
--- a/cpukit/include/rtems/rtems/dpmemimpl.h
+++ b/cpukit/include/rtems/rtems/dpmemimpl.h
@@ -17,7 +17,7 @@
 #ifndef _RTEMS_RTEMS_DPMEM_INL
 #define _RTEMS_RTEMS_DPMEM_INL
 
-#include 
+#include 
 #include 
 
 #ifdef __cplusplus

[PATCH 15/21] score: Avoid include of

2018-11-08 Thread Sebastian Huber
Update #3598.
---
 cpukit/include/rtems/score/userext.h | 29 +++--
 cpukit/include/rtems/score/userextimpl.h |  3 ++-
 2 files changed, 17 insertions(+), 15 deletions(-)

diff --git a/cpukit/include/rtems/score/userext.h 
b/cpukit/include/rtems/score/userext.h
index 5af5824808..7b80227f37 100644
--- a/cpukit/include/rtems/score/userext.h
+++ b/cpukit/include/rtems/score/userext.h
@@ -20,12 +20,13 @@
 
 #include 
 #include 
-#include 
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
+struct _Thread_Control;
+
 typedef void User_extensions_routine RTEMS_DEPRECATED;
 
 /**
@@ -69,8 +70,8 @@ typedef void User_extensions_routine RTEMS_DEPRECATED;
  * return @a false and the entire thread create operation will fail.
  */
 typedef bool ( *User_extensions_thread_create_extension )(
-  Thread_Control *executing,
-  Thread_Control *created
+  struct _Thread_Control *executing,
+  struct _Thread_Control *created
 );
 
 /**
@@ -89,8 +90,8 @@ typedef bool ( *User_extensions_thread_create_extension )(
  * @param[in] deleted The deleted thread.
  */
 typedef void( *User_extensions_thread_delete_extension )(
-  Thread_Control *executing,
-  Thread_Control *deleted
+  struct _Thread_Control *executing,
+  struct _Thread_Control *deleted
 );
 
 /**
@@ -109,8 +110,8 @@ typedef void( *User_extensions_thread_delete_extension )(
  * @param[in] started The started thread.
  */
 typedef void( *User_extensions_thread_start_extension )(
-  Thread_Control *executing,
-  Thread_Control *started
+  struct _Thread_Control *executing,
+  struct _Thread_Control *started
 );
 
 /**
@@ -131,8 +132,8 @@ typedef void( *User_extensions_thread_start_extension )(
  * @param[in] restarted The executing thread.  Yes, the executing thread.
  */
 typedef void( *User_extensions_thread_restart_extension )(
-  Thread_Control *executing,
-  Thread_Control *restarted
+  struct _Thread_Control *executing,
+  struct _Thread_Control *restarted
 );
 
 /**
@@ -154,8 +155,8 @@ typedef void( *User_extensions_thread_restart_extension )(
  * @param[in] heir The heir thread.
  */
 typedef void( *User_extensions_thread_switch_extension )(
-  Thread_Control *executing,
-  Thread_Control *heir
+  struct _Thread_Control *executing,
+  struct _Thread_Control *heir
 );
 
 /**
@@ -169,7 +170,7 @@ typedef void( *User_extensions_thread_switch_extension )(
  * @param[in] executing The executing thread.
  */
 typedef void( *User_extensions_thread_begin_extension )(
-  Thread_Control *executing
+  struct _Thread_Control *executing
 );
 
 /**
@@ -183,7 +184,7 @@ typedef void( *User_extensions_thread_begin_extension )(
  * @param[in] executing The executing thread.
  */
 typedef void( *User_extensions_thread_exitted_extension )(
-  Thread_Control *executing
+  struct _Thread_Control *executing
 );
 
 /**
@@ -223,7 +224,7 @@ typedef void( *User_extensions_fatal_extension )(
  * @param[in] terminated The terminated thread.
  */
 typedef void( *User_extensions_thread_terminate_extension )(
-  Thread_Control *terminated
+  struct _Thread_Control *terminated
 );
 
 /**
diff --git a/cpukit/include/rtems/score/userextimpl.h 
b/cpukit/include/rtems/score/userextimpl.h
index 5ad2c63765..a842ae8e86 100644
--- a/cpukit/include/rtems/score/userextimpl.h
+++ b/cpukit/include/rtems/score/userextimpl.h
@@ -19,8 +19,9 @@
 #define _RTEMS_SCORE_USEREXTIMPL_H
 
 #include 
-#include 
 #include 
+#include 
+#include 
 #include 
 
 #ifdef __cplusplus
-- 
2.16.4

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


[PATCH 21/21] rtems: Avoid include of

2018-11-08 Thread Sebastian Huber
Update #3598.
---
 cpukit/Makefile.am |  1 +
 cpukit/include/rtems/rtems/tasks.h | 11 ++-
 cpukit/include/rtems/rtems/tasksdata.h |  1 +
 cpukit/include/rtems/rtems/types.h |  1 +
 cpukit/rtems/src/rtemsmaxprio.c| 31 +++
 5 files changed, 40 insertions(+), 5 deletions(-)
 create mode 100644 cpukit/rtems/src/rtemsmaxprio.c

diff --git a/cpukit/Makefile.am b/cpukit/Makefile.am
index 0c9e05d234..980c21a0a5 100644
--- a/cpukit/Makefile.am
+++ b/cpukit/Makefile.am
@@ -736,6 +736,7 @@ librtemscpu_a_SOURCES += rtems/src/regionresizesegment.c
 librtemscpu_a_SOURCES += rtems/src/regionreturnsegment.c
 librtemscpu_a_SOURCES += rtems/src/rtemsbuildid.c
 librtemscpu_a_SOURCES += rtems/src/rtemsbuildname.c
+librtemscpu_a_SOURCES += rtems/src/rtemsmaxprio.c
 librtemscpu_a_SOURCES += rtems/src/rtemsobjectapimaximumclass.c
 librtemscpu_a_SOURCES += rtems/src/rtemsobjectapiminimumclass.c
 librtemscpu_a_SOURCES += rtems/src/rtemsobjectgetapiclassname.c
diff --git a/cpukit/include/rtems/rtems/tasks.h 
b/cpukit/include/rtems/rtems/tasks.h
index 3d0b739cd7..55863a9dd9 100644
--- a/cpukit/include/rtems/rtems/tasks.h
+++ b/cpukit/include/rtems/rtems/tasks.h
@@ -18,7 +18,6 @@
 #ifndef _RTEMS_RTEMS_TASKS_H
 #define _RTEMS_RTEMS_TASKS_H
 
-#include 
 #include 
 #include 
 #include 
@@ -66,10 +65,12 @@ typedef uint32_t rtems_task_priority;
  *  This constant is the least valid value for a Classic API
  *  task priority.
  */
-#define RTEMS_MINIMUM_PRIORITY  (PRIORITY_MINIMUM + 1)
+#define RTEMS_MINIMUM_PRIORITY  1
+
+rtems_task_priority _RTEMS_Maximum_priority( void );
 
 /**
- *  This constant is the maximum valid value for a Classic API
+ *  This run-time constant is the maximum valid value for a Classic API
  *  task priority.
  *
  *  @note This is actually the priority of the IDLE thread so
@@ -78,13 +79,13 @@ typedef uint32_t rtems_task_priority;
  *want to ensure that a task does not executes during
  *certain operations such as a system mode change.
  */
-#define RTEMS_MAXIMUM_PRIORITY  ((rtems_task_priority) PRIORITY_MAXIMUM)
+#define RTEMS_MAXIMUM_PRIORITY  _RTEMS_Maximum_priority()
 
 /**
  *  The following constant is passed to rtems_task_set_priority when the
  *  caller wants to obtain the current priority.
  */
-#define RTEMS_CURRENT_PRIORITY  PRIORITY_MINIMUM
+#define RTEMS_CURRENT_PRIORITY  0
 
 struct _Thread_Control;
 
diff --git a/cpukit/include/rtems/rtems/tasksdata.h 
b/cpukit/include/rtems/rtems/tasksdata.h
index 22e524d027..18562bf067 100644
--- a/cpukit/include/rtems/rtems/tasksdata.h
+++ b/cpukit/include/rtems/rtems/tasksdata.h
@@ -21,6 +21,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/cpukit/include/rtems/rtems/types.h 
b/cpukit/include/rtems/rtems/types.h
index 878340f253..9222f25cab 100644
--- a/cpukit/include/rtems/rtems/types.h
+++ b/cpukit/include/rtems/rtems/types.h
@@ -22,6 +22,7 @@
  *  RTEMS basic type definitions
  */
 
+#include 
 #include 
 #include 
 #include 
diff --git a/cpukit/rtems/src/rtemsmaxprio.c b/cpukit/rtems/src/rtemsmaxprio.c
new file mode 100644
index 00..5a46c6be91
--- /dev/null
+++ b/cpukit/rtems/src/rtemsmaxprio.c
@@ -0,0 +1,31 @@
+/**
+ * @file
+ *
+ * @ingroup ClassicTasksImpl
+ */
+
+/*
+ * Copyright (c) 2018 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 
+
+rtems_task_priority _RTEMS_Maximum_priority( void )
+{
+  return PRIORITY_MAXIMUM;
+}
-- 
2.16.4

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


[PATCH 19/21] score: Avoid complex include in heap.h

2018-11-08 Thread Sebastian Huber
Update #3598.
---
 cpukit/include/rtems/score/heap.h | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/cpukit/include/rtems/score/heap.h 
b/cpukit/include/rtems/score/heap.h
index 60cb3be99d..a69d890001 100644
--- a/cpukit/include/rtems/score/heap.h
+++ b/cpukit/include/rtems/score/heap.h
@@ -19,7 +19,6 @@
 #define _RTEMS_SCORE_HEAP_H
 
 #include 
-#include 
 
 #ifdef __cplusplus
 extern "C" {
@@ -163,10 +162,12 @@ typedef struct Heap_Block Heap_Block;
 uintptr_t delayed_free_fraction;
   } Heap_Protection;
 
+  struct _Thread_Control;
+
   typedef struct {
 uintptr_t protector [HEAP_PROTECTOR_COUNT];
 Heap_Block *next_delayed_free_block;
-Thread_Control *task;
+struct _Thread_Control *task;
 void *tag;
   } Heap_Protection_block_begin;
 
-- 
2.16.4

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


[PATCH 20/21] rtems: Avoid include of

2018-11-08 Thread Sebastian Huber
Update #3598.
---
 cpukit/include/rtems/rtems/tasks.h | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/cpukit/include/rtems/rtems/tasks.h 
b/cpukit/include/rtems/rtems/tasks.h
index e0272e06f9..3d0b739cd7 100644
--- a/cpukit/include/rtems/rtems/tasks.h
+++ b/cpukit/include/rtems/rtems/tasks.h
@@ -19,7 +19,6 @@
 #define _RTEMS_RTEMS_TASKS_H
 
 #include 
-#include 
 #include 
 #include 
 #include 
@@ -87,10 +86,12 @@ typedef uint32_t rtems_task_priority;
  */
 #define RTEMS_CURRENT_PRIORITY  PRIORITY_MINIMUM
 
+struct _Thread_Control;
+
 /**
  *  External API name for Thread_Control
  */
-typedef Thread_Control rtems_tcb;
+typedef struct _Thread_Control rtems_tcb;
 
 /**
  *  The following defines the "return type" of an RTEMS task.
@@ -100,7 +101,7 @@ typedef void rtems_task;
 /**
  *  The following defines the argument to an RTEMS task.
  */
-typedef Thread_Entry_numeric_type rtems_task_argument;
+typedef CPU_Uint32ptr rtems_task_argument;
 
 /**
  *  The following defines the type for the entry point of an RTEMS task.
-- 
2.16.4

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


[PATCH 01/21] rtems: Move internal structures to ratemondata.h

2018-11-08 Thread Sebastian Huber
Update #3598.
---
 cpukit/headers.am|   1 +
 cpukit/include/rtems/confdefs.h  |   1 +
 cpukit/include/rtems/rtems/ratemon.h | 110 
 cpukit/include/rtems/rtems/ratemondata.h | 140 +++
 cpukit/include/rtems/rtems/ratemonimpl.h |   2 +-
 cpukit/include/rtems/rtems/types.h   |   1 +
 6 files changed, 144 insertions(+), 111 deletions(-)
 create mode 100644 cpukit/include/rtems/rtems/ratemondata.h

diff --git a/cpukit/headers.am b/cpukit/headers.am
index 3c5e7fe207..6e2b690cd5 100644
--- a/cpukit/headers.am
+++ b/cpukit/headers.am
@@ -251,6 +251,7 @@ include_rtems_rtems_HEADERS += include/rtems/rtems/part.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/partimpl.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/partmp.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/ratemon.h
+include_rtems_rtems_HEADERS += include/rtems/rtems/ratemondata.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/ratemonimpl.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/region.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/regionimpl.h
diff --git a/cpukit/include/rtems/confdefs.h b/cpukit/include/rtems/confdefs.h
index b7ba7e9d11..410a4366a5 100644
--- a/cpukit/include/rtems/confdefs.h
+++ b/cpukit/include/rtems/confdefs.h
@@ -32,6 +32,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
diff --git a/cpukit/include/rtems/rtems/ratemon.h 
b/cpukit/include/rtems/rtems/ratemon.h
index 738dc5244d..747d967af2 100644
--- a/cpukit/include/rtems/rtems/ratemon.h
+++ b/cpukit/include/rtems/rtems/ratemon.h
@@ -35,7 +35,6 @@
 
 #include 
 #include 
-#include 
 #include 
 
 struct rtems_printer;
@@ -60,20 +59,8 @@ extern "C" {
  */
 /**@{*/
 
-/**
- *  This is the public type used for the rate monotonic timing
- *  statistics.
- */
-#include 
-
 typedef struct timespec rtems_rate_monotonic_period_time_t RTEMS_DEPRECATED;
 
-/**
- *  This is the internal type used for the rate monotonic timing
- *  statistics.
- */
-#include 
-
 /**
  *  The following enumerated type defines the states in which a
  *  period may be.
@@ -134,31 +121,6 @@ typedef struct {
   struct timespec total_wall_time;
 }  rtems_rate_monotonic_period_statistics;
 
-/**
- *  The following defines the INTERNAL data structure that has the
- *  statistics kept on each period instance.
- */
-typedef struct {
-  /** This field contains the number of periods executed. */
-  uint32_t count;
-  /** This field contains the number of periods missed. */
-  uint32_t missed_count;
-
-  /** This field contains the least amount of CPU time used in a period. */
-  Timestamp_Control min_cpu_time;
-  /** This field contains the highest amount of CPU time used in a period. */
-  Timestamp_Control max_cpu_time;
-  /** This field contains the total amount of wall time used in a period. */
-  Timestamp_Control total_cpu_time;
-
-  /** This field contains the least amount of wall time used in a period. */
-  Timestamp_Control min_wall_time;
-  /** This field contains the highest amount of wall time used in a period. */
-  Timestamp_Control max_wall_time;
-  /** This field contains the total amount of CPU time used in a period. */
-  Timestamp_Control total_wall_time;
-}  Rate_monotonic_Statistics;
-
 /**
  *  The following defines the period status structure.
  */
@@ -187,78 +149,6 @@ typedef struct {
   uint32_t postponed_jobs_count;
 }  rtems_rate_monotonic_period_status;
 
-/**
- * @brief The following structure defines the control block used to manage each
- * period.
- *
- * State changes are protected by the default thread lock of the owner thread.
- * The owner thread is the thread that created the period object.  The owner
- * thread field is immutable after object creation.
- */
-typedef struct {
-  /** This field is the object management portion of a Period instance. */
-  Objects_Control Object;
-
-  /**
-   * @brief Protects the rate monotonic period state.
-   */
-  ISR_LOCK_MEMBER(Lock )
-
-  /** This is the timer used to provide the unblocking mechanism. */
-  Watchdog_ControlTimer;
-
-  /** This field indicates the current state of the period. */
-  rtems_rate_monotonic_period_states  state;
-
-  /**
-   * @brief A priority node for use by the scheduler job release and cancel
-   * operations.
-   */
-  Priority_Node   Priority;
-
-  /**
-   * This field contains the length of the next period to be
-   * executed.
-   */
-  uint32_tnext_length;
-
-  /**
-   * This field contains a pointer to the TCB for the thread
-   * which owns and uses this period instance.
-   */
-  Thread_Control *owner;
-
-  /**
-   * This field contains the cpu usage value of the owning thread when
-   * the period was initiated.  It is used to compute the period's
-   * stat

[PATCH 14/21] score: Remove empty

2018-11-08 Thread Sebastian Huber
Update #3598.
---
 cpukit/headers.am|  1 -
 cpukit/include/rtems/rtems/clock.h   |  1 -
 cpukit/include/rtems/score/tod.h | 32 
 cpukit/include/rtems/score/todimpl.h |  1 -
 4 files changed, 35 deletions(-)
 delete mode 100644 cpukit/include/rtems/score/tod.h

diff --git a/cpukit/headers.am b/cpukit/headers.am
index 8657f99d5a..3a85f29782 100644
--- a/cpukit/headers.am
+++ b/cpukit/headers.am
@@ -390,7 +390,6 @@ include_rtems_score_HEADERS += 
include/rtems/score/timecounterimpl.h
 include_rtems_score_HEADERS += include/rtems/score/timespec.h
 include_rtems_score_HEADERS += include/rtems/score/timestamp.h
 include_rtems_score_HEADERS += include/rtems/score/tls.h
-include_rtems_score_HEADERS += include/rtems/score/tod.h
 include_rtems_score_HEADERS += include/rtems/score/todimpl.h
 include_rtems_score_HEADERS += include/rtems/score/userext.h
 include_rtems_score_HEADERS += include/rtems/score/userextimpl.h
diff --git a/cpukit/include/rtems/rtems/clock.h 
b/cpukit/include/rtems/rtems/clock.h
index a837b88700..da833eac48 100644
--- a/cpukit/include/rtems/rtems/clock.h
+++ b/cpukit/include/rtems/rtems/clock.h
@@ -30,7 +30,6 @@
 #define _RTEMS_RTEMS_CLOCK_H
 
 #include 
-#include 
 #include 
 #include 
 #include 
diff --git a/cpukit/include/rtems/score/tod.h b/cpukit/include/rtems/score/tod.h
deleted file mode 100644
index c0ab5e795d..00
--- a/cpukit/include/rtems/score/tod.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * @file
- *
- * @ingroup ScoreTOD
- *
- * @brief Time of Day Handler API
- */
-
-/*
- *  COPYRIGHT (c) 1989-2009.
- *  On-Line Applications Research Corporation (OAR).
- *
- *  The license and distribution terms for this file may be
- *  found in the file LICENSE in this distribution or at
- *  http://www.rtems.org/license/LICENSE.
- */
-
-#ifndef _RTEMS_SCORE_TOD_H
-#define _RTEMS_SCORE_TOD_H
-
-#include 
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-/* end of include file */
diff --git a/cpukit/include/rtems/score/todimpl.h 
b/cpukit/include/rtems/score/todimpl.h
index b00ab6cca2..d2b6d73802 100644
--- a/cpukit/include/rtems/score/todimpl.h
+++ b/cpukit/include/rtems/score/todimpl.h
@@ -18,7 +18,6 @@
 #ifndef _RTEMS_SCORE_TODIMPL_H
 #define _RTEMS_SCORE_TODIMPL_H
 
-#include 
 #include 
 #include 
 #include 
-- 
2.16.4

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


[PATCH 18/21] rtems: Remove superfluous include

2018-11-08 Thread Sebastian Huber
Update #3598.
---
 cpukit/include/rtems/rtems/types.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/cpukit/include/rtems/rtems/types.h 
b/cpukit/include/rtems/rtems/types.h
index ba904536ee..878340f253 100644
--- a/cpukit/include/rtems/rtems/types.h
+++ b/cpukit/include/rtems/rtems/types.h
@@ -27,7 +27,6 @@
 #include 
 #include 
 #include 
-#include 
 #include 
 #include 
 #if defined(RTEMS_MULTIPROCESSING)
-- 
2.16.4

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


[PATCH 00/21] Hide internal data structures from

2018-11-08 Thread Sebastian Huber
After this patch set only the follwowing score header files are visible
via #include :

rtems/score/address.h
rtems/score/assert.h
rtems/score/atomic.h
rtems/score/basedefs.h
rtems/score/chain.h
rtems/score/chainimpl.h
rtems/score/cpuatomic.h
rtems/score/cpu.h
rtems/score/cpuopts.h
rtems/score/cpustdatomic.h
rtems/score/heap.h
rtems/score/interr.h
rtems/score/isr.h
rtems/score/isrlevel.h
rtems/score/isrlock.h
rtems/score/object.h
rtems/score/rbtree.h
rtems/score/smp.h
rtems/score/smplock.h
rtems/score/smplockstats.h
rtems/score/smplockticket.h
rtems/score/sparc.h
rtems/score/stack.h
rtems/score/userext.h
rtems/score/watchdog.h
rtems/score/watchdogticks.h

Sebastian Huber (21):
  rtems: Move internal structures to ratemondata.h
  rtems: Move internal structures to asrdata.h
  rtems: Remove Modes_Control
  rtems: Move internal structures to barrierdata.h
  rtems: Move internal structures to dpmemdata.h
  rtems: Move internal structures to eventdata.h
  rtems: Move internal structures to messagedata.h
  rtems: Move internal structures to partdata.h
  rtems: Move internal structures to regiondata.h
  rtems: Move internal structures to semdata.h
  rtems: Move internal structures to tasksdata.h
  rtems: Move internal structures to timerdata.h
  rtems: Move internal structures to extensiondata.h
  score: Remove empty 
  score: Avoid include of 
  rtems: Avoid  in API
  score: Introduce 
  rtems: Remove superfluous include
  score: Avoid complex include in heap.h
  rtems: Avoid include of 
  rtems: Avoid include of 

 cpukit/Makefile.am |   2 +
 cpukit/headers.am  |  14 ++-
 cpukit/include/rtems/confdefs.h|  10 +++
 cpukit/include/rtems/extension.h   |  12 +--
 cpukit/include/rtems/extensiondata.h   |  46 ++
 cpukit/include/rtems/extensionimpl.h   |  16 +++-
 cpukit/include/rtems/imfs.h|   1 +
 cpukit/include/rtems/rtems/asr.h   |  19 
 cpukit/include/rtems/rtems/asrdata.h   |  58 
 cpukit/include/rtems/rtems/asrimpl.h   |   2 +-
 cpukit/include/rtems/rtems/barrier.h   |  36 ++--
 cpukit/include/rtems/rtems/barrierdata.h   |  54 +++
 cpukit/include/rtems/rtems/barrierimpl.h   |  12 +--
 cpukit/include/rtems/rtems/clock.h |  10 +--
 cpukit/include/rtems/rtems/dpmem.h |  37 +---
 cpukit/include/rtems/rtems/dpmemdata.h |  56 
 cpukit/include/rtems/rtems/dpmemimpl.h |   2 +-
 cpukit/include/rtems/rtems/event.h |  23 +
 cpukit/include/rtems/rtems/eventdata.h |  43 +
 cpukit/include/rtems/rtems/eventimpl.h |   4 +-
 cpukit/include/rtems/rtems/message.h   |  45 ++
 cpukit/include/rtems/rtems/messagedata.h   |  54 +++
 cpukit/include/rtems/rtems/messageimpl.h   |   9 +-
 cpukit/include/rtems/rtems/modes.h |   4 +-
 cpukit/include/rtems/rtems/modesimpl.h |  26 +++---
 cpukit/include/rtems/rtems/part.h  |  43 +
 cpukit/include/rtems/rtems/partdata.h  |  63 +
 cpukit/include/rtems/rtems/partimpl.h  |   2 +-
 cpukit/include/rtems/rtems/ratemon.h   | 111 ---
 cpukit/include/rtems/rtems/ratemondata.h   | 140 +
 cpukit/include/rtems/rtems/ratemonimpl.h   |   2 +-
 cpukit/include/rtems/rtems/region.h|  35 +---
 cpukit/include/rtems/rtems/regiondata.h|  56 
 cpukit/include/rtems/rtems/regionimpl.h|   2 +-
 cpukit/include/rtems/rtems/sem.h   |  84 +
 cpukit/include/rtems/rtems/semdata.h   | 102 +
 cpukit/include/rtems/rtems/semimpl.h   |  16 +++-
 cpukit/include/rtems/rtems/tasks.h |  82 +++--
 cpukit/include/rtems/rtems/tasksdata.h |  77 
 cpukit/include/rtems/rtems/tasksimpl.h |   2 +-
 cpukit/include/rtems/rtems/timer.h |  54 ++-
 cpukit/include/rtems/rtems/timerdata.h |  67 ++
 cpukit/include/rtems/rtems/timerimpl.h |   2 +-
 cpukit/include/rtems/rtems/types.h |  11 +--
 cpukit/include/rtems/score/heap.h  |   5 +-
 cpukit/include/rtems/score/threadq.h   |   4 +-
 cpukit/include/rtems/score/tod.h   |  32 ---
 cpukit/include/rtems/score/todimpl.h   |   1 -
 cpukit/include/rtems/score/userext.h   |  29 +++---
 cpukit/include/rtems/score/userextimpl.h   |   3 +-
 cpukit/include/rtems/score/watchdog.h  |  39 +---
 cpukit/include/rtems/score/watchdogimpl.h  |   1 +
 cpukit/include/rtems/score/watchdogticks.h |  73 +++
 cpukit/libmisc/monitor/mon-extension.c |   1 +
 cpukit/libmisc/monitor/mon-part.c  |   1 +
 cpukit/libmisc/monitor/mon-region.c|   1 +
 cpukit/libmisc/monitor/mon-task.c  |   1 +
 cpukit/rtems/src/clockgetuptimeseconds.c   |  31 +++
 cpukit/rtems/src/eventreceive.c|   2 +-
 cpukit/rtems/src/eventsend.c   |   2 +-
 

[PATCH 16/21] rtems: Avoid in API

2018-11-08 Thread Sebastian Huber
Use a real function for rtems_clock_get_uptime_seconds().

Update #3598.
---
 cpukit/Makefile.am   |  1 +
 cpukit/include/rtems/imfs.h  |  1 +
 cpukit/include/rtems/rtems/clock.h   |  8 +---
 cpukit/include/rtems/rtems/types.h   |  1 +
 cpukit/rtems/src/clockgetuptimeseconds.c | 31 +++
 5 files changed, 35 insertions(+), 7 deletions(-)
 create mode 100644 cpukit/rtems/src/clockgetuptimeseconds.c

diff --git a/cpukit/Makefile.am b/cpukit/Makefile.am
index 9a52db7661..0c9e05d234 100644
--- a/cpukit/Makefile.am
+++ b/cpukit/Makefile.am
@@ -673,6 +673,7 @@ librtemscpu_a_SOURCES += rtems/src/clockgettod.c
 librtemscpu_a_SOURCES += rtems/src/clockgettodtimeval.c
 librtemscpu_a_SOURCES += rtems/src/clockgetuptime.c
 librtemscpu_a_SOURCES += rtems/src/clockgetuptimenanoseconds.c
+librtemscpu_a_SOURCES += rtems/src/clockgetuptimeseconds.c
 librtemscpu_a_SOURCES += rtems/src/clockgetuptimetimeval.c
 librtemscpu_a_SOURCES += rtems/src/clockset.c
 librtemscpu_a_SOURCES += rtems/src/clocktick.c
diff --git a/cpukit/include/rtems/imfs.h b/cpukit/include/rtems/imfs.h
index 3d2048afeb..e83209508c 100644
--- a/cpukit/include/rtems/imfs.h
+++ b/cpukit/include/rtems/imfs.h
@@ -21,6 +21,7 @@
 
 #include 
 #include 
+#include 
 
 /**
  * @brief In-Memory File System Support.
diff --git a/cpukit/include/rtems/rtems/clock.h 
b/cpukit/include/rtems/rtems/clock.h
index da833eac48..f3f406d2e6 100644
--- a/cpukit/include/rtems/rtems/clock.h
+++ b/cpukit/include/rtems/rtems/clock.h
@@ -33,9 +33,6 @@
 #include 
 #include 
 #include 
-#include 
-
-#include  /* struct timeval */
 
 /**
  *  @defgroup ClassicClock Clocks
@@ -265,10 +262,7 @@ void rtems_clock_get_uptime_timeval( struct timeval 
*uptime );
  *
  * @retval The system uptime in seconds.
  */
-RTEMS_INLINE_ROUTINE time_t rtems_clock_get_uptime_seconds( void )
-{
-  return _Timecounter_Time_uptime - 1;
-}
+time_t rtems_clock_get_uptime_seconds( void );
 
 /**
  * @brief Returns the system uptime in nanoseconds.
diff --git a/cpukit/include/rtems/rtems/types.h 
b/cpukit/include/rtems/rtems/types.h
index 2028c427f0..13adf175a6 100644
--- a/cpukit/include/rtems/rtems/types.h
+++ b/cpukit/include/rtems/rtems/types.h
@@ -23,6 +23,7 @@
  */
 
 #include 
+#include 
 #include 
 #include 
 #include 
diff --git a/cpukit/rtems/src/clockgetuptimeseconds.c 
b/cpukit/rtems/src/clockgetuptimeseconds.c
new file mode 100644
index 00..ad412b2234
--- /dev/null
+++ b/cpukit/rtems/src/clockgetuptimeseconds.c
@@ -0,0 +1,31 @@
+/**
+ * @file
+ *
+ * @ingroup ClassicClock
+ */
+
+/*
+ * Copyright (c) 2018 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 
+
+time_t rtems_clock_get_uptime_seconds( void )
+{
+  return _Timecounter_Time_uptime - 1;
+}
-- 
2.16.4

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


[PATCH 09/21] rtems: Move internal structures to regiondata.h

2018-11-08 Thread Sebastian Huber
Update #3598.
---
 cpukit/headers.am   |  1 +
 cpukit/include/rtems/confdefs.h |  1 +
 cpukit/include/rtems/rtems/region.h | 35 ++---
 cpukit/include/rtems/rtems/regiondata.h | 56 +
 cpukit/include/rtems/rtems/regionimpl.h |  2 +-
 cpukit/libmisc/monitor/mon-region.c |  1 +
 6 files changed, 63 insertions(+), 33 deletions(-)
 create mode 100644 cpukit/include/rtems/rtems/regiondata.h

diff --git a/cpukit/headers.am b/cpukit/headers.am
index a274647105..95bc817773 100644
--- a/cpukit/headers.am
+++ b/cpukit/headers.am
@@ -260,6 +260,7 @@ include_rtems_rtems_HEADERS += include/rtems/rtems/ratemon.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/ratemondata.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/ratemonimpl.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/region.h
+include_rtems_rtems_HEADERS += include/rtems/rtems/regiondata.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/regionimpl.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/sem.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/semimpl.h
diff --git a/cpukit/include/rtems/confdefs.h b/cpukit/include/rtems/confdefs.h
index 4eed0d2cfc..7b2b47ae00 100644
--- a/cpukit/include/rtems/confdefs.h
+++ b/cpukit/include/rtems/confdefs.h
@@ -37,6 +37,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
diff --git a/cpukit/include/rtems/rtems/region.h 
b/cpukit/include/rtems/rtems/region.h
index 4772e2835b..baa8a72806 100644
--- a/cpukit/include/rtems/rtems/region.h
+++ b/cpukit/include/rtems/rtems/region.h
@@ -1,22 +1,9 @@
 /**
- * @file rtems/rtems/region.h
+ * @file
  *
- * @defgroup ClassicRegion Regions
+ * @ingroup ClassicRegion
  *
- * @ingroup ClassicRTEMS
- * @brief Region Manager
- *
- * This include file contains all the constants and structures associated
- * with the Region Manager. This manager provides facilities to dynamically
- * allocate memory in variable sized units which are returned as segments.
- *
- * Directives provided are:
- *
- * - create a region
- * - get an ID of a region
- * - delete a region
- * - get a segment from a region
- * - return a segment to a region
+ * @brief Classic Region Manager API
  */
 
 /* COPYRIGHT (c) 1989-2013.
@@ -34,8 +21,6 @@
 #include 
 #include 
 #include 
-#include 
-#include 
 
 #ifdef __cplusplus
 extern "C" {
@@ -51,20 +36,6 @@ extern "C" {
  */
 /**@{*/
 
-/**
- *  The following records define the control block used to manage
- *  each region.
- */
-
-typedef struct {
-  Objects_Control   Object;
-  Thread_queue_Control  Wait_queue;/* waiting threads*/
-  const Thread_queue_Operations *wait_operations;
-  uintptr_t maximum_segment_size;  /* in bytes   */
-  rtems_attribute   attribute_set;
-  Heap_Control  Memory;
-}  Region_Control;
-
 /**
  *  @brief rtems_region_create
  *
diff --git a/cpukit/include/rtems/rtems/regiondata.h 
b/cpukit/include/rtems/rtems/regiondata.h
new file mode 100644
index 00..75fc950691
--- /dev/null
+++ b/cpukit/include/rtems/rtems/regiondata.h
@@ -0,0 +1,56 @@
+/**
+ * @file
+ *
+ * @ingroup ClassicRegionImpl
+ *
+ * @brief Classic Region Manager Data Structures
+ */
+
+/* COPYRIGHT (c) 1989-2013.
+ * On-Line Applications Research Corporation (OAR).
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.org/license/LICENSE.
+ */
+
+#ifndef _RTEMS_RTEMS_REGIONDATA_H
+#define _RTEMS_RTEMS_REGIONDATA_H
+
+#include 
+#include 
+#include 
+#include 
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @addtogroup ClassicRegionImpl
+ *
+ * @{
+ */
+
+/**
+ *  The following records define the control block used to manage
+ *  each region.
+ */
+
+typedef struct {
+  Objects_Control   Object;
+  Thread_queue_Control  Wait_queue;/* waiting threads*/
+  const Thread_queue_Operations *wait_operations;
+  uintptr_t maximum_segment_size;  /* in bytes   */
+  rtems_attribute   attribute_set;
+  Heap_Control  Memory;
+}  Region_Control;
+
+/** @} */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+/* end of include file */
diff --git a/cpukit/include/rtems/rtems/regionimpl.h 
b/cpukit/include/rtems/rtems/regionimpl.h
index 178b7ea32b..8a7ee258cc 100644
--- a/cpukit/include/rtems/rtems/regionimpl.h
+++ b/cpukit/include/rtems/rtems/regionimpl.h
@@ -17,7 +17,7 @@
 #ifndef _RTEMS_RTEMS_REGIONIMPL_H
 #define _RTEMS_RTEMS_REGIONIMPL_H
 
-#include 
+#include 
 #include 
 #include 
 #include 
diff --git a/cpukit/libmisc/monitor/mon-region.c 
b/cpukit/libmisc/monitor/mon-region.c
index 023ada77cf..ece6a6a788 100644
--- a/cpukit/libmisc/monitor/mon-region.c
+++ b/cpukit/libmisc/monitor/mon-region.c
@@ -9,6 +9,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include /* memcpy() */
 
-- 
2.16.4

_

[PATCH 13/21] rtems: Move internal structures to extensiondata.h

2018-11-08 Thread Sebastian Huber
Update #3598.
---
 cpukit/headers.am  |  1 +
 cpukit/include/rtems/confdefs.h|  1 +
 cpukit/include/rtems/extension.h   | 12 +++--
 cpukit/include/rtems/extensiondata.h   | 46 ++
 cpukit/include/rtems/extensionimpl.h   | 16 +---
 cpukit/libmisc/monitor/mon-extension.c |  1 +
 6 files changed, 66 insertions(+), 11 deletions(-)
 create mode 100644 cpukit/include/rtems/extensiondata.h

diff --git a/cpukit/headers.am b/cpukit/headers.am
index 0ca35265b8..8657f99d5a 100644
--- a/cpukit/headers.am
+++ b/cpukit/headers.am
@@ -91,6 +91,7 @@ include_rtems_HEADERS += include/rtems/dumpbuf.h
 include_rtems_HEADERS += include/rtems/endian.h
 include_rtems_HEADERS += include/rtems/error.h
 include_rtems_HEADERS += include/rtems/extension.h
+include_rtems_HEADERS += include/rtems/extensiondata.h
 include_rtems_HEADERS += include/rtems/extensionimpl.h
 include_rtems_HEADERS += include/rtems/fatal.h
 include_rtems_HEADERS += include/rtems/fb.h
diff --git a/cpukit/include/rtems/confdefs.h b/cpukit/include/rtems/confdefs.h
index d91b00a63e..e884289e2c 100644
--- a/cpukit/include/rtems/confdefs.h
+++ b/cpukit/include/rtems/confdefs.h
@@ -26,6 +26,7 @@
  * Include the executive's configuration
  */
 #include 
+#include 
 #include 
 #include 
 #include 
diff --git a/cpukit/include/rtems/extension.h b/cpukit/include/rtems/extension.h
index cfbf061677..da219acb33 100644
--- a/cpukit/include/rtems/extension.h
+++ b/cpukit/include/rtems/extension.h
@@ -1,6 +1,8 @@
 /**
  * @file
- * 
+ *
+ * @ingroup ClassicUserExtensions
+ *
  * @brief User Extensions API.
  */
 
@@ -16,20 +18,14 @@
 #ifndef _RTEMS_EXTENSION_H
 #define _RTEMS_EXTENSION_H
 
-#include 
-#include 
 #include 
 #include 
+#include 
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-typedef struct {
-  Objects_Control  Object;
-  User_extensions_Control  Extension;
-}   Extension_Control;
-
 typedef User_extensions_routine
   rtems_extension RTEMS_DEPRECATED;
 
diff --git a/cpukit/include/rtems/extensiondata.h 
b/cpukit/include/rtems/extensiondata.h
new file mode 100644
index 00..ba32a2b319
--- /dev/null
+++ b/cpukit/include/rtems/extensiondata.h
@@ -0,0 +1,46 @@
+/**
+ * @file
+ *
+ * @ingroup ClassicUserExtensionsImpl
+ *
+ * @brief Classic User Extensions Data Structures
+ */
+
+/*
+ *  COPYRIGHT (c) 1989-2008.
+ *  On-Line Applications Research Corporation (OAR).
+ *
+ *  The license and distribution terms for this file may be
+ *  found in the file LICENSE in this distribution or at
+ *  http://www.rtems.org/license/LICENSE.
+ */
+
+#ifndef _RTEMS_EXTENSIONDATA_H
+#define _RTEMS_EXTENSIONDATA_H
+
+#include 
+#include 
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @addtogroup ClassicUserExtensionsImpl
+ *
+ * @{
+ */
+
+typedef struct {
+  Objects_Control  Object;
+  User_extensions_Control  Extension;
+}   Extension_Control;
+
+/** @} */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+/* end of include file */
diff --git a/cpukit/include/rtems/extensionimpl.h 
b/cpukit/include/rtems/extensionimpl.h
index fb4eeaff7c..fd71d530ae 100644
--- a/cpukit/include/rtems/extensionimpl.h
+++ b/cpukit/include/rtems/extensionimpl.h
@@ -1,9 +1,9 @@
 /**
  * @file
  *
- * @ingroup ClassicUserExtensions
+ * @ingroup ClassicUserExtensionsImpl
  *
- * @brief User Extensions API
+ * @brief Classic User Extensions Implementation
  */
 
 /*
@@ -18,13 +18,21 @@
 #ifndef _RTEMS_EXTENSIONIMPL_H
 #define _RTEMS_EXTENSIONIMPL_H
 
-#include 
+#include 
 #include 
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
+/**
+ * @defgroup ClassicUserExtensionsImpl User Extensions Implementation
+ *
+ * @ingroup ClassicUserExtensions
+ *
+ * @{
+ */
+
 extern Objects_Information  _Extension_Information;
 
 RTEMS_INLINE_ROUTINE Extension_Control *_Extension_Allocate( void )
@@ -45,6 +53,8 @@ RTEMS_INLINE_ROUTINE Extension_Control *_Extension_Get( 
Objects_Id id )
 _Objects_Get_no_protection( id, &_Extension_Information );
 }
 
+/** @} */ 
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/cpukit/libmisc/monitor/mon-extension.c 
b/cpukit/libmisc/monitor/mon-extension.c
index 89d7170ced..029d26c4c1 100644
--- a/cpukit/libmisc/monitor/mon-extension.c
+++ b/cpukit/libmisc/monitor/mon-extension.c
@@ -7,6 +7,7 @@
 #endif
 
 #include 
+#include 
 #include 
 
 #include 
-- 
2.16.4

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


[PATCH 10/21] rtems: Move internal structures to semdata.h

2018-11-08 Thread Sebastian Huber
Update #3598.
---
 cpukit/headers.am|   1 +
 cpukit/include/rtems/confdefs.h  |   1 +
 cpukit/include/rtems/rtems/sem.h |  84 ++---
 cpukit/include/rtems/rtems/semdata.h | 102 +++
 cpukit/include/rtems/rtems/semimpl.h |  16 --
 cpukit/rtems/src/semcreate.c |   1 +
 6 files changed, 121 insertions(+), 84 deletions(-)
 create mode 100644 cpukit/include/rtems/rtems/semdata.h

diff --git a/cpukit/headers.am b/cpukit/headers.am
index 95bc817773..02f45542d7 100644
--- a/cpukit/headers.am
+++ b/cpukit/headers.am
@@ -263,6 +263,7 @@ include_rtems_rtems_HEADERS += include/rtems/rtems/region.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/regiondata.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/regionimpl.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/sem.h
+include_rtems_rtems_HEADERS += include/rtems/rtems/semdata.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/semimpl.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/semmp.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/signal.h
diff --git a/cpukit/include/rtems/confdefs.h b/cpukit/include/rtems/confdefs.h
index 7b2b47ae00..0062d3934f 100644
--- a/cpukit/include/rtems/confdefs.h
+++ b/cpukit/include/rtems/confdefs.h
@@ -38,6 +38,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
diff --git a/cpukit/include/rtems/rtems/sem.h b/cpukit/include/rtems/rtems/sem.h
index 41b0061979..8e83848465 100644
--- a/cpukit/include/rtems/rtems/sem.h
+++ b/cpukit/include/rtems/rtems/sem.h
@@ -3,22 +3,7 @@
  *
  * @ingroup ClassicSem
  *
- * @brief Classic Semaphores API
- *
- * This include file contains all the constants and structures associated
- * with the Semaphore Manager. This manager utilizes standard Dijkstra
- * counting semaphores to provide synchronization and mutual exclusion
- * capabilities.
- *
- * Directives provided are:
- *
- * - create a semaphore
- * - get an ID of a semaphore
- * - delete a semaphore
- * - acquire a semaphore
- * - release a semaphore
- * - flush a semaphore
- * - set ceiling priority for a semaphore
+ * @brief Classic Semaphores Manager API
  */
 
 /*
@@ -33,15 +18,10 @@
 #ifndef _RTEMS_RTEMS_SEM_H
 #define _RTEMS_RTEMS_SEM_H
 
-#include 
+#include 
 #include 
-#include 
 #include 
-#include 
-#include 
-#include 
-#include 
-#include 
+#include 
 
 #ifdef __cplusplus
 extern "C" {
@@ -57,64 +37,6 @@ extern "C" {
  */
 /**@{*/
 
-/**
- *  The following defines the control block used to manage each semaphore.
- */
-typedef struct {
-  /** This field is the object management portion of a Semaphore instance. */
-  Objects_Control  Object;
-
-  /**
-   *  This contains the memory associated with the SuperCore Semaphore or
-   *  Mutex instance that provides the primary functionality of each
-   *  Classic API Semaphore instance.  The structure used is dependent
-   *  on the attributes specified by the user on the create directive.
-   *
-   *  @note Only one of these has meaning in a particular Classic API
-   *Semaphore instance.
-   */
-  union {
-/**
- * @brief The thread queue present in all other variants.
- */
-Thread_queue_Control Wait_queue;
-
-/**
- *  This is the SuperCore Mutex instance associated with this Classic
- *  API Semaphore instance.
- */
-CORE_ceiling_mutex_Control Mutex;
-
-/**
- *  This is the SuperCore Semaphore instance associated with this Classic
- *  API Semaphore instance.
- */
-CORE_semaphore_Control Semaphore;
-
-#if defined(RTEMS_SMP)
-MRSP_Control MRSP;
-#endif
-  } Core_control;
-
-  /**
-   * @brief The semaphore variant.
-   *
-   * @see Semaphore_Variant.
-   */
-  unsigned int variant : 3;
-
-  /**
-   * @brief The semaphore thread queue discipline.
-   *
-   * @see Semaphore_Discipline.
-   */
-  unsigned int discipline : 1;
-
-#if defined(RTEMS_MULTIPROCESSING)
-  unsigned int is_global : 1;
-#endif
-}   Semaphore_Control;
-
 /**
  *  @brief rtems_semaphore_create
  *
diff --git a/cpukit/include/rtems/rtems/semdata.h 
b/cpukit/include/rtems/rtems/semdata.h
new file mode 100644
index 00..04db07d6a0
--- /dev/null
+++ b/cpukit/include/rtems/rtems/semdata.h
@@ -0,0 +1,102 @@
+/**
+ * @file
+ *
+ * @ingroup ClassicSemImpl
+ *
+ * @brief Classic Semaphore Manager Data Structures
+ */
+
+/*
+ * COPYRIGHT (c) 1989-2008, 2016.
+ * On-Line Applications Research Corporation (OAR).
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.org/license/LICENSE.
+ */
+
+#ifndef _RTEMS_RTEMS_SEMDATA_H
+#define _RTEMS_RTEMS_SEMDATA_H
+
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @addtogroup ClassicSemImpl
+ *
+ * @{
+ */
+
+/**
+ *  The following defines the control block used to manage each semaphore.
+ */
+typedef struct {
+  /**

[PATCH 12/21] rtems: Move internal structures to timerdata.h

2018-11-08 Thread Sebastian Huber
Update #3598.
---
 cpukit/headers.am  |  1 +
 cpukit/include/rtems/confdefs.h|  1 +
 cpukit/include/rtems/rtems/timer.h | 54 +++
 cpukit/include/rtems/rtems/timerdata.h | 67 ++
 cpukit/include/rtems/rtems/timerimpl.h |  2 +-
 5 files changed, 75 insertions(+), 50 deletions(-)
 create mode 100644 cpukit/include/rtems/rtems/timerdata.h

diff --git a/cpukit/headers.am b/cpukit/headers.am
index 458c0ae75d..0ca35265b8 100644
--- a/cpukit/headers.am
+++ b/cpukit/headers.am
@@ -278,6 +278,7 @@ include_rtems_rtems_HEADERS += include/rtems/rtems/tasks.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/tasksdata.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/tasksimpl.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/timer.h
+include_rtems_rtems_HEADERS += include/rtems/rtems/timerdata.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/timerimpl.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/types.h
 include_rtems_rtl_HEADERS += include/rtems/rtl/dlfcn-shell.h
diff --git a/cpukit/include/rtems/confdefs.h b/cpukit/include/rtems/confdefs.h
index 5ba3caebca..d91b00a63e 100644
--- a/cpukit/include/rtems/confdefs.h
+++ b/cpukit/include/rtems/confdefs.h
@@ -40,6 +40,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
diff --git a/cpukit/include/rtems/rtems/timer.h 
b/cpukit/include/rtems/rtems/timer.h
index 032c49525a..cc21b2bcd9 100644
--- a/cpukit/include/rtems/rtems/timer.h
+++ b/cpukit/include/rtems/rtems/timer.h
@@ -1,30 +1,9 @@
 /**
- * @file rtems/rtems/timer.h
- *
- * @defgroup ClassicTimer Timers
- *
- * @ingroup ClassicRTEMS
- * @brief Instantiate RTEMS Timer Data
- *
- * This include file contains all the constants, structures, and
- * prototypes associated with the Timer Manager. This manager provides
- * facilities to configure, initiate, cancel, and delete timers which will
- * fire at specified intervals of time.
- *
- * Directives provided are:
- *
- * - create a timer
- * - get an ID of a timer
- * - delete a timer
- * - set timer to fire in context of clock tick
- * - after a number of ticks have passed
- * - when a specified date and time has been reached
- * - initiate the timer server task
- * - set timer to fire in context of the timer server task
- * - after a number of ticks have passed
- * - when a specified date and time has been reached
- * - reset a timer
- * - cancel a time
+ * @file
+ *
+ * @ingroup ClassicTimer
+ *
+ * @brief Classic Timer Manager API
  */
 
 /*
@@ -124,29 +103,6 @@ typedef rtems_timer_service_routine ( 
*rtems_timer_service_routine_entry )(
  void *
  );
 
-/**
- *  The following records define the control block used to manage
- *  each timer.
- */
-typedef struct {
-  /** This field is the object management portion of a Timer instance. */
-  Objects_Control  Object;
-  /** This field is the Watchdog instance which will be the scheduled. */
-  Watchdog_Control Ticker;
-  /** This field indicates what type of timer this currently is. */
-  Timer_Classesthe_class;
-  /** This field is the timer service routine. */
-  rtems_timer_service_routine_entry routine;
-  /** This field is the timer service routine user data. */
-  void *user_data;
-  /** This field is the timer interval in ticks or seconds. */
-  Watchdog_Interval initial;
-  /** This field is the timer start time point in ticks. */
-  Watchdog_Interval start_time;
-  /** This field is the timer stop time point in ticks. */
-  Watchdog_Interval stop_time;
-}   Timer_Control;
-
 /**
  * @brief RTEMS Create Timer
  *
diff --git a/cpukit/include/rtems/rtems/timerdata.h 
b/cpukit/include/rtems/rtems/timerdata.h
new file mode 100644
index 00..a3a13b774e
--- /dev/null
+++ b/cpukit/include/rtems/rtems/timerdata.h
@@ -0,0 +1,67 @@
+/**
+ * @file
+ *
+ * @ingroup ClassicTimerImpl
+ *
+ * @brief Classic Partition Manager Data Structures
+ */
+
+/*
+ * COPYRIGHT (c) 1989-2011.
+ * On-Line Applications Research Corporation (OAR).
+ *
+ * Copyright (c) 2009, 2016 embedded brains GmbH.
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.org/license/LICENSE.
+ */
+
+#ifndef _RTEMS_RTEMS_TIMERDATA_H
+#define _RTEMS_RTEMS_TIMERDATA_H
+
+#include 
+#include 
+#include 
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @addtogroup ClassicTimerImpl
+ *
+ * @{
+ */
+
+/**
+ *  The following records define the control block used to manage
+ *  each timer.
+ */
+typedef struct {
+  /** This field is the object management portion of a Timer instance. */
+  Objects_Control  Object;
+  /** This field is the Watchdog instance which will be the scheduled. */
+  Watchdog_Control Ticker;
+  /** This field indicates what type of timer this currently is. */
+  Timer_Classesthe_class;
+  /** This field is the timer service routine. */
+  rtems_timer_service_routine_entry rou

[PATCH 08/21] rtems: Move internal structures to partdata.h

2018-11-08 Thread Sebastian Huber
Update #3598.
---
 cpukit/headers.am |  1 +
 cpukit/include/rtems/confdefs.h   |  1 +
 cpukit/include/rtems/rtems/part.h | 43 ++--
 cpukit/include/rtems/rtems/partdata.h | 63 +++
 cpukit/include/rtems/rtems/partimpl.h |  2 +-
 cpukit/libmisc/monitor/mon-part.c |  1 +
 6 files changed, 70 insertions(+), 41 deletions(-)
 create mode 100644 cpukit/include/rtems/rtems/partdata.h

diff --git a/cpukit/headers.am b/cpukit/headers.am
index cd0abfabec..a274647105 100644
--- a/cpukit/headers.am
+++ b/cpukit/headers.am
@@ -253,6 +253,7 @@ include_rtems_rtems_HEADERS += include/rtems/rtems/object.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/options.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/optionsimpl.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/part.h
+include_rtems_rtems_HEADERS += include/rtems/rtems/partdata.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/partimpl.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/partmp.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/ratemon.h
diff --git a/cpukit/include/rtems/confdefs.h b/cpukit/include/rtems/confdefs.h
index 713064f6af..4eed0d2cfc 100644
--- a/cpukit/include/rtems/confdefs.h
+++ b/cpukit/include/rtems/confdefs.h
@@ -35,6 +35,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
diff --git a/cpukit/include/rtems/rtems/part.h 
b/cpukit/include/rtems/rtems/part.h
index 769f3c6904..7208f88e6b 100644
--- a/cpukit/include/rtems/rtems/part.h
+++ b/cpukit/include/rtems/rtems/part.h
@@ -1,23 +1,9 @@
 /**
- * @file rtems/rtems/part.h
+ * @file
  *
- * @defgroup ClassicPart Partitions
+ * @ingroup ClassicPart
  *
- * @ingroup ClassicRTEMS
- * @brief Partition Manager
- *
- * This include file contains all the constants and structures associated
- * with the Partition Manager. This manager provides facilities to
- * dynamically allocate memory in fixed-sized units which are returned
- * as buffers.
- *
- * Directives provided are:
- *
- * - create a partition
- * - get an ID of a partition
- * - delete a partition
- * - get a buffer from a partition
- * - return a buffer to a partition
+ * @brief Classic Partition Manager API
  */
 
 /* COPYRIGHT (c) 1989-2008.
@@ -34,7 +20,6 @@
 #include 
 #include 
 #include 
-#include 
 
 #ifdef __cplusplus
 extern "C" {
@@ -50,28 +35,6 @@ extern "C" {
  */
 /**@{*/
 
-/**
- *  The following defines the control block used to manage each partition.
- */
-typedef struct {
-  /** This field is the object management portion of a Partition instance. */
-  Objects_Control Object;
-  /** This field is the lock of the Partition. */
-  ISR_LOCK_MEMBER(Lock )
-  /** This field is the physical starting address of the Partition. */
-  void   *starting_address;
-  /** This field is the size of the Partition in bytes. */
-  uintptr_t   length;
-  /** This field is the size of each buffer in bytes */
-  size_t  buffer_size;
-  /** This field is the attribute set provided at create time. */
-  rtems_attribute attribute_set;
-  /** This field is the of allocated buffers. */
-  uintptr_t   number_of_used_blocks;
-  /** This field is the chain used to manage unallocated buffers. */
-  Chain_Control   Memory;
-}   Partition_Control;
-
 /**
  *  @brief RTEMS Partition Create
  *
diff --git a/cpukit/include/rtems/rtems/partdata.h 
b/cpukit/include/rtems/rtems/partdata.h
new file mode 100644
index 00..4423de09f7
--- /dev/null
+++ b/cpukit/include/rtems/rtems/partdata.h
@@ -0,0 +1,63 @@
+/**
+ * @file
+ *
+ * @ingroup ClassicPartImpl
+ *
+ * @brief Classic Partition Manager Data Structures
+ */
+
+/* COPYRIGHT (c) 1989-2008.
+ * On-Line Applications Research Corporation (OAR).
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.org/license/LICENSE.
+ */
+
+#ifndef _RTEMS_RTEMS_PARTDATA_H
+#define _RTEMS_RTEMS_PARTDATA_H
+
+#include 
+#include 
+#include 
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @addtogroup ClassicPartImpl
+ *
+ * @{
+ */
+
+/**
+ *  The following defines the control block used to manage each partition.
+ */
+typedef struct {
+  /** This field is the object management portion of a Partition instance. */
+  Objects_Control Object;
+  /** This field is the lock of the Partition. */
+  ISR_LOCK_MEMBER(Lock )
+  /** This field is the physical starting address of the Partition. */
+  void   *starting_address;
+  /** This field is the size of the Partition in bytes. */
+  uintptr_t   length;
+  /** This field is the size of each buffer in bytes */
+  size_t  buffer_size;
+  /** This field is the attribute set provided at create time. */
+  rtems_attribute attribute_set;
+  /** This field is the of allocated buffers. */
+  uintptr_t   number_of_used_blocks;
+  /** This field is the

[PATCH 11/21] rtems: Move internal structures to tasksdata.h

2018-11-08 Thread Sebastian Huber
Update #3598.
---
 cpukit/headers.am  |  1 +
 cpukit/include/rtems/confdefs.h|  1 +
 cpukit/include/rtems/rtems/tasks.h | 62 ++-
 cpukit/include/rtems/rtems/tasksdata.h | 76 ++
 cpukit/include/rtems/rtems/tasksimpl.h |  2 +-
 cpukit/libmisc/monitor/mon-task.c  |  1 +
 cpukit/rtems/src/eventreceive.c|  2 +-
 cpukit/rtems/src/eventsend.c   |  2 +-
 cpukit/rtems/src/signalcatch.c |  2 +-
 cpukit/rtems/src/signalsend.c  |  2 +-
 cpukit/rtems/src/systemeventreceive.c  |  2 +-
 cpukit/rtems/src/systemeventsend.c |  2 +-
 cpukit/rtems/src/taskmode.c|  2 +-
 13 files changed, 90 insertions(+), 67 deletions(-)
 create mode 100644 cpukit/include/rtems/rtems/tasksdata.h

diff --git a/cpukit/headers.am b/cpukit/headers.am
index 02f45542d7..458c0ae75d 100644
--- a/cpukit/headers.am
+++ b/cpukit/headers.am
@@ -275,6 +275,7 @@ include_rtems_rtems_HEADERS += 
include/rtems/rtems/statusimpl.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/support.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/taskmp.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/tasks.h
+include_rtems_rtems_HEADERS += include/rtems/rtems/tasksdata.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/tasksimpl.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/timer.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/timerimpl.h
diff --git a/cpukit/include/rtems/confdefs.h b/cpukit/include/rtems/confdefs.h
index 0062d3934f..5ba3caebca 100644
--- a/cpukit/include/rtems/confdefs.h
+++ b/cpukit/include/rtems/confdefs.h
@@ -39,6 +39,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
diff --git a/cpukit/include/rtems/rtems/tasks.h 
b/cpukit/include/rtems/rtems/tasks.h
index 10f8936a0f..e0272e06f9 100644
--- a/cpukit/include/rtems/rtems/tasks.h
+++ b/cpukit/include/rtems/rtems/tasks.h
@@ -1,28 +1,9 @@
 /**
- * @file rtems/rtems/tasks.h
+ * @file
  *
- * @defgroup ClassicTasks Tasks
+ * @ingroup ClassicTasks
  *
- * @ingroup ClassicRTEMS
- * @brief RTEMS Tasks
- *
- * This include file contains all constants and structures associated
- * with RTEMS tasks. This manager provides a comprehensive set of directives
- * to create, delete, and administer tasks.
- *
- * Directives provided are:
- *
- * - create a task
- * - get an ID of a task
- * - start a task
- * - restart a task
- * - delete a task
- * - suspend a task
- * - resume a task
- * - set a task's priority
- * - change the current task's mode
- * - wake up after interval
- * - wake up when specified
+ * @brief Classic Task Manager API
  */
 
 /*
@@ -37,12 +18,9 @@
 #ifndef _RTEMS_RTEMS_TASKS_H
 #define _RTEMS_RTEMS_TASKS_H
 
-#include 
 #include 
 #include 
-#include 
 #include 
-#include 
 #include 
 #include 
 
@@ -676,40 +654,6 @@ rtems_status_code rtems_scheduler_remove_processor(
 
 /**@}*/
 
-/**
- *  This is the API specific information required by each thread for
- *  the RTEMS API to function correctly.
- *
- */
-typedef struct {
-  /** This field contains the event control for this task. */
-  Event_ControlEvent;
-  /** This field contains the system event control for this task. */
-  Event_ControlSystem_event;
-  /** This field contains the Classic API Signal information for this task. */
-  ASR_Information  Signal;
-
-  /**
-   * @brief Signal post-switch action in case signals are pending.
-   */
-  Thread_ActionSignal_action;
-}  RTEMS_API_Control;
-
-/**
- *  @brief _RTEMS_tasks_Initialize_user_tasks_body
- *
- *  This routine creates and starts all configured user
- *  initialization threads.
- *
- *  Input parameters: NONE
- *
- *  Output parameters:  NONE
- *
- *  RTEMS Task Manager
- */
-
-extern void _RTEMS_tasks_Initialize_user_tasks_body( void );
-
 #ifdef __cplusplus
 }
 #endif
diff --git a/cpukit/include/rtems/rtems/tasksdata.h 
b/cpukit/include/rtems/rtems/tasksdata.h
new file mode 100644
index 00..22e524d027
--- /dev/null
+++ b/cpukit/include/rtems/rtems/tasksdata.h
@@ -0,0 +1,76 @@
+/**
+ * @file
+ *
+ * @ingroup ClassicTasksImpl
+ *
+ * @brief Classic Tasks Manager Data Structures
+ */
+
+/*
+ * COPYRIGHT (c) 1989-2014.
+ * On-Line Applications Research Corporation (OAR).
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.org/license/LICENSE.
+ */
+
+#ifndef _RTEMS_RTEMS_TASKSDATA_H
+#define _RTEMS_RTEMS_TASKSDATA_H
+
+#include 
+#include 
+#include 
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @addtogroup ClassicTasksImpl
+ *
+ * @{
+ */
+
+/**
+ *  This is the API specific information required by each thread for
+ *  the RTEMS API to function correctly.
+ *
+ */
+typedef struct {
+  /** This field contains the event control for this task. */
+  Event_ControlEvent;
+  /** This field contains the system event control for this 

[PATCH 06/21] rtems: Move internal structures to eventdata.h

2018-11-08 Thread Sebastian Huber
Update #3598.
---
 cpukit/headers.am  |  1 +
 cpukit/include/rtems/rtems/event.h | 23 --
 cpukit/include/rtems/rtems/eventdata.h | 43 ++
 cpukit/include/rtems/rtems/eventimpl.h |  4 ++--
 cpukit/include/rtems/rtems/tasks.h |  4 ++--
 5 files changed, 52 insertions(+), 23 deletions(-)
 create mode 100644 cpukit/include/rtems/rtems/eventdata.h

diff --git a/cpukit/headers.am b/cpukit/headers.am
index 26fa217049..765c835d3d 100644
--- a/cpukit/headers.am
+++ b/cpukit/headers.am
@@ -237,6 +237,7 @@ include_rtems_rtems_HEADERS += include/rtems/rtems/dpmem.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/dpmemdata.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/dpmemimpl.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/event.h
+include_rtems_rtems_HEADERS += include/rtems/rtems/eventdata.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/eventimpl.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/eventmp.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/intr.h
diff --git a/cpukit/include/rtems/rtems/event.h 
b/cpukit/include/rtems/rtems/event.h
index 0307fa4c8c..f37060a3f4 100644
--- a/cpukit/include/rtems/rtems/event.h
+++ b/cpukit/include/rtems/rtems/event.h
@@ -1,20 +1,9 @@
 /**
- * @file rtems/rtems/event.h
+ * @file
  *
- * @defgroup ClassicEvent Events
- *
- * @ingroup ClassicRTEMS
- * @brief Information Related to Event Manager
- *
- * This include file contains the information pertaining to the Event
- * Manager. This manager provides a high performance method of communication
- * and synchronization.
- *
- * Directives provided are:
- *
- * - send an event set to a task
- * - receive event condition
+ * @ingroup ClassicEvent
  *
+ * @brief Classic Event Manager API
  */
 
 /* COPYRIGHT (c) 1989-2008.
@@ -28,9 +17,9 @@
 #ifndef _RTEMS_RTEMS_EVENT_H
 #define _RTEMS_RTEMS_EVENT_H
 
+#include 
 #include 
 #include 
-#include 
 
 #ifdef __cplusplus
 extern "C" {
@@ -513,10 +502,6 @@ RTEMS_INLINE_ROUTINE void rtems_event_transient_clear( 
void )
 
 /** @} */
 
-typedef struct {
-  rtems_event_set pending_events;
-} Event_Control;
-
 #ifdef __cplusplus
 }
 #endif
diff --git a/cpukit/include/rtems/rtems/eventdata.h 
b/cpukit/include/rtems/rtems/eventdata.h
new file mode 100644
index 00..16ff7a3981
--- /dev/null
+++ b/cpukit/include/rtems/rtems/eventdata.h
@@ -0,0 +1,43 @@
+/**
+ * @file
+ *
+ * @ingroup ClassicEventImpl
+ *
+ * @brief Classic Event Manager Data Structures
+ */
+
+/* COPYRIGHT (c) 1989-2008.
+ * On-Line Applications Research Corporation (OAR).
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.org/license/LICENSE.
+ */
+
+#ifndef _RTEMS_RTEMS_EVENTDATA_H
+#define _RTEMS_RTEMS_EVENTDATA_H
+
+#include 
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @addtogroup ClassicEventImpl
+ *
+ * @{
+ */
+
+typedef struct {
+  rtems_event_set pending_events;
+} Event_Control;
+
+/** @} */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+/* end of include file */
diff --git a/cpukit/include/rtems/rtems/eventimpl.h 
b/cpukit/include/rtems/rtems/eventimpl.h
index 933ea0fe2b..ae249ee7c7 100644
--- a/cpukit/include/rtems/rtems/eventimpl.h
+++ b/cpukit/include/rtems/rtems/eventimpl.h
@@ -3,7 +3,7 @@
  *
  * @ingroup ClassicEventImpl
  *
- * @brief Classic Event Implementation
+ * @brief Classic Event Manager Implementation
  */
 
 /*  COPYRIGHT (c) 1989-2008.
@@ -17,7 +17,7 @@
 #ifndef _RTEMS_RTEMS_EVENTIMPL_H
 #define _RTEMS_RTEMS_EVENTIMPL_H
 
-#include 
+#include 
 #include 
 
 #ifdef __cplusplus
diff --git a/cpukit/include/rtems/rtems/tasks.h 
b/cpukit/include/rtems/rtems/tasks.h
index 989008689b..10f8936a0f 100644
--- a/cpukit/include/rtems/rtems/tasks.h
+++ b/cpukit/include/rtems/rtems/tasks.h
@@ -40,11 +40,11 @@
 #include 
 #include 
 #include 
-#include 
-#include 
 #include 
 #include 
+#include 
 #include 
+#include 
 
 #ifdef __cplusplus
 extern "C" {
-- 
2.16.4

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


[PATCH] 5: Update Newlib

2018-11-08 Thread Sebastian Huber
Fix v850 target issue related to the new -fdata-sections build.

Remove  include from .
---
 rtems/config/5/rtems-default.bset  |  2 +-
 rtems/config/5/rtems-epiphany.bset |  2 +-
 rtems/config/5/rtems-m32c.bset |  2 +-
 rtems/config/5/rtems-or1k.bset |  2 +-
 rtems/config/5/rtems-riscv.bset|  2 +-
 ...ib-2ab57ad59bc35dafffa69cd4da5e228971de069f.cfg | 10 ++
 ...ib-2ab57ad59bc35dafffa69cd4da5e228971de069f.cfg | 10 ++
 ...ib-2ab57ad59bc35dafffa69cd4da5e228971de069f.cfg | 20 
 ...ib-2ab57ad59bc35dafffa69cd4da5e228971de069f.cfg | 37 ++
 9 files changed, 82 insertions(+), 5 deletions(-)
 create mode 100644 
rtems/config/tools/rtems-gcc-4.8.3-newlib-2ab57ad59bc35dafffa69cd4da5e228971de069f.cfg
 create mode 100644 
rtems/config/tools/rtems-gcc-4.9.3-newlib-2ab57ad59bc35dafffa69cd4da5e228971de069f.cfg
 create mode 100644 
rtems/config/tools/rtems-gcc-62cab5089882f91865e9040672f7932ae8d09db1-newlib-2ab57ad59bc35dafffa69cd4da5e228971de069f.cfg
 create mode 100644 
rtems/config/tools/rtems-gcc-7.3.0-newlib-2ab57ad59bc35dafffa69cd4da5e228971de069f.cfg

diff --git a/rtems/config/5/rtems-default.bset 
b/rtems/config/5/rtems-default.bset
index bdd93e9..0fdd34d 100644
--- a/rtems/config/5/rtems-default.bset
+++ b/rtems/config/5/rtems-default.bset
@@ -18,6 +18,6 @@ devel/expat-2.1.0-1
 tools/rtems-gdb-8.0.1-1
 
 tools/rtems-binutils-2.31.1
-tools/rtems-gcc-7.3.0-newlib-08eab6396f678cf5e5968acaed0bae9fd129983b
+tools/rtems-gcc-7.3.0-newlib-2ab57ad59bc35dafffa69cd4da5e228971de069f
 tools/rtems-tools-5-1
 tools/rtems-kernel-5
diff --git a/rtems/config/5/rtems-epiphany.bset 
b/rtems/config/5/rtems-epiphany.bset
index a01a50d..eb39d8e 100644
--- a/rtems/config/5/rtems-epiphany.bset
+++ b/rtems/config/5/rtems-epiphany.bset
@@ -34,6 +34,6 @@
 5/rtems-autotools
 devel/expat-2.1.0-1
 tools/rtems-binutils-2.31.1
-tools/rtems-gcc-7.3.0-newlib-08eab6396f678cf5e5968acaed0bae9fd129983b
+tools/rtems-gcc-7.3.0-newlib-2ab57ad59bc35dafffa69cd4da5e228971de069f
 tools/rtems-gdb-7.8.1-1
 tools/rtems-tools-5-1
diff --git a/rtems/config/5/rtems-m32c.bset b/rtems/config/5/rtems-m32c.bset
index 646b2e2..e7ee926 100644
--- a/rtems/config/5/rtems-m32c.bset
+++ b/rtems/config/5/rtems-m32c.bset
@@ -41,6 +41,6 @@
 5/rtems-autotools
 devel/expat-2.1.0-1
 tools/rtems-binutils-2.31.1
-tools/rtems-gcc-4.8.3-newlib-08eab6396f678cf5e5968acaed0bae9fd129983b
+tools/rtems-gcc-4.8.3-newlib-2ab57ad59bc35dafffa69cd4da5e228971de069f
 tools/rtems-gdb-8.0.1-1
 tools/rtems-tools-5-1
diff --git a/rtems/config/5/rtems-or1k.bset b/rtems/config/5/rtems-or1k.bset
index 47ec7da..87ccbfc 100644
--- a/rtems/config/5/rtems-or1k.bset
+++ b/rtems/config/5/rtems-or1k.bset
@@ -33,6 +33,6 @@
 5/rtems-autotools
 devel/expat-2.1.0-1
 tools/rtems-binutils-2.31.1
-tools/rtems-gcc-4.9.3-newlib-08eab6396f678cf5e5968acaed0bae9fd129983b
+tools/rtems-gcc-4.9.3-newlib-2ab57ad59bc35dafffa69cd4da5e228971de069f
 tools/rtems-tools-5-1
 tools/rtems-gdb-7.11-2
diff --git a/rtems/config/5/rtems-riscv.bset b/rtems/config/5/rtems-riscv.bset
index f55d021..b8353b6 100644
--- a/rtems/config/5/rtems-riscv.bset
+++ b/rtems/config/5/rtems-riscv.bset
@@ -11,7 +11,7 @@
 
 devel/expat-2.1.0-1
 tools/rtems-binutils-906c6f2c54425f18eccb30e3ae54cbe620f0fe86
-tools/rtems-gcc-62cab5089882f91865e9040672f7932ae8d09db1-newlib-08eab6396f678cf5e5968acaed0bae9fd129983b
+tools/rtems-gcc-62cab5089882f91865e9040672f7932ae8d09db1-newlib-2ab57ad59bc35dafffa69cd4da5e228971de069f
 tools/rtems-gdb-ce73f310150418a9a1625ab60a527d959096a9e2
 tools/rtems-tools-5-1
 tools/rtems-kernel-5
diff --git 
a/rtems/config/tools/rtems-gcc-4.8.3-newlib-2ab57ad59bc35dafffa69cd4da5e228971de069f.cfg
 
b/rtems/config/tools/rtems-gcc-4.8.3-newlib-2ab57ad59bc35dafffa69cd4da5e228971de069f.cfg
new file mode 100644
index 000..b2618c6
--- /dev/null
+++ 
b/rtems/config/tools/rtems-gcc-4.8.3-newlib-2ab57ad59bc35dafffa69cd4da5e228971de069f.cfg
@@ -0,0 +1,10 @@
+%define gcc_version 4.8.3
+%hash sha512 gcc-%{gcc_version}.tar.bz2 
2b40d231e8445f9c1654137df509f09ce1187b475138ca7f648f710d922a1718f740b2d8a37c26e16b5e27900c60358be98229ae884a6f1f70e9df44ad24d02b
+
+%define newlib_version 2ab57ad59bc35dafffa69cd4da5e228971de069f
+%define newlib_external 1
+%define newlib_expand_name sourceware-mirror-newlib-cygwin-%{newlib_version}
+%source set newlib --rsb-file=newlib-%{newlib_version}.tar.gz 
https://codeload.github.com/RTEMS/sourceware-mirror-newlib-cygwin/tar.gz/%{newlib_version}
+%hash sha512 newlib-%{newlib_version}.tar.gz 
e8c33201fda8182151513c9f1a5bfc6198b33ec1c844f150751532f1a9ee00b2d5dd2de29ae315a7b9c397e43c83d82263839faad482044fde0345d14c19882f
+
+%include tools/rtems-gcc-4.8-newlib-2.2.0-1.cfg
diff --git 
a/rtems/config/tools/rtems-gcc-4.9.3-newlib-2ab57ad59bc35dafffa69cd4da5e228971de069f.cfg
 
b/rtems/config/tools/rtems-gcc-4.9.3-newlib-2ab57ad59bc35dafffa69cd4da5e228971de069f.cfg
new file mode 100644
index 000..

[PATCH 2/3] rtems: Simplify rtems_interrupt_catch()

2018-11-08 Thread Sebastian Huber
Remove casts and superfluous inline functions.

Update #3585.
---
 cpukit/rtems/src/intrcatch.c | 38 +-
 1 file changed, 5 insertions(+), 33 deletions(-)

diff --git a/cpukit/rtems/src/intrcatch.c b/cpukit/rtems/src/intrcatch.c
index c83ca4cfeb..ac972f27a2 100644
--- a/cpukit/rtems/src/intrcatch.c
+++ b/cpukit/rtems/src/intrcatch.c
@@ -18,54 +18,26 @@
 #include "config.h"
 #endif
 
-#include 
-#include 
-#include 
 #include 
+#include 
 
 #if (CPU_SIMPLE_VECTORED_INTERRUPTS == TRUE)
-
-/**
- * This function returns true if the vector is a valid vector number
- * for this processor and false otherwise.
- */
-
-RTEMS_INLINE_ROUTINE bool _ISR_Is_vector_number_valid (
-  uint32_t   vector
-)
-{
-  return ( vector <= CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER );
-}
-
-/**
- * This function returns true if handler is the entry point of a valid
- * use interrupt service routine and false otherwise.
- */
-
-RTEMS_INLINE_ROUTINE bool _ISR_Is_valid_user_handler (
-  void *handler
-)
-{
-  return (handler != NULL);
-}
-
 rtems_status_code rtems_interrupt_catch(
   rtems_isr_entry  new_isr_handler,
   rtems_vector_number  vector,
   rtems_isr_entry *old_isr_handler
 )
 {
-  if ( !_ISR_Is_vector_number_valid( vector ) )
+  if ( vector > CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER )
 return RTEMS_INVALID_NUMBER;
 
-  if ( !_ISR_Is_valid_user_handler( (void *) new_isr_handler ) )
+  if ( new_isr_handler == NULL )
 return RTEMS_INVALID_ADDRESS;
 
-  if ( !_ISR_Is_valid_user_handler( (void *) old_isr_handler ) )
+  if ( old_isr_handler == NULL )
 return RTEMS_INVALID_ADDRESS;
 
-  _ISR_Install_vector(
-vector, (proc_ptr)new_isr_handler, (proc_ptr *)old_isr_handler );
+  _ISR_Install_vector( vector, new_isr_handler, old_isr_handler );
 
   return RTEMS_SUCCESSFUL;
 }
-- 
2.16.4

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


[PATCH 1/3] score: Deprecate proc_ptr

2018-11-08 Thread Sebastian Huber
Update #3585.
---
 cpukit/include/rtems/score/basedefs.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/cpukit/include/rtems/score/basedefs.h 
b/cpukit/include/rtems/score/basedefs.h
index 43b837c22e..595d2ab805 100644
--- a/cpukit/include/rtems/score/basedefs.h
+++ b/cpukit/include/rtems/score/basedefs.h
@@ -468,7 +468,7 @@ extern void RTEMS_DEQUALIFY_types_not_compatible(void);
   /**
* XXX: Eventually proc_ptr needs to disappear!!!
*/
-  typedef void * proc_ptr;
+  typedef void * proc_ptr RTEMS_DEPRECATED;
 #endif
 
 /**@}*/
-- 
2.16.4

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


[PATCH 3/3] sparc: Remove use of proc_ptr

2018-11-08 Thread Sebastian Huber
Update #3585.
---
 cpukit/score/cpu/sparc/cpu.c | 18 +-
 cpukit/score/cpu/sparc/include/rtems/score/cpu.h | 16 ++--
 2 files changed, 19 insertions(+), 15 deletions(-)

diff --git a/cpukit/score/cpu/sparc/cpu.c b/cpukit/score/cpu/sparc/cpu.c
index 78ce269afb..40f85b9c4f 100644
--- a/cpukit/score/cpu/sparc/cpu.c
+++ b/cpukit/score/cpu/sparc/cpu.c
@@ -236,9 +236,9 @@ uint32_t   _CPU_ISR_Get_level( void )
  */
 
 void _CPU_ISR_install_raw_handler(
-  uint32_tvector,
-  proc_ptrnew_handler,
-  proc_ptr   *old_handler
+  uint32_t vector,
+  CPU_ISR_raw_handler  new_handler,
+  CPU_ISR_raw_handler *old_handler
 )
 {
   uint32_t   real_vector;
@@ -282,7 +282,7 @@ void _CPU_ISR_install_raw_handler(
 u32_handler =
   (slot->sethi_of_handler_to_l4 << HIGH_BITS_SHIFT) |
   (slot->jmp_to_low_of_handler_plus_l4 & LOW_BITS_MASK);
-*old_handler = (proc_ptr) u32_handler;
+*old_handler = (CPU_ISR_raw_handler) u32_handler;
   } else
 *old_handler = 0;
 
@@ -317,13 +317,13 @@ void _CPU_ISR_install_raw_handler(
 }
 
 void _CPU_ISR_install_vector(
-  uint32_tvector,
-  proc_ptrnew_handler,
-  proc_ptr   *old_handler
+  uint32_t vector,
+  CPU_ISR_handler  new_handler,
+  CPU_ISR_handler *old_handler
 )
 {
-   uint32_t   real_vector;
-   proc_ptr   ignored;
+   uint32_treal_vector;
+   CPU_ISR_raw_handler ignored;
 
   /*
*  Get the "real" trap number for this vector ignoring the synchronous
diff --git a/cpukit/score/cpu/sparc/include/rtems/score/cpu.h 
b/cpukit/score/cpu/sparc/include/rtems/score/cpu.h
index 8c6212725d..252aa4026e 100644
--- a/cpukit/score/cpu/sparc/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/sparc/include/rtems/score/cpu.h
@@ -940,6 +940,8 @@ extern void _CPU_Fatal_halt(uint32_t source, uint32_t error)
  */
 void _CPU_Initialize(void);
 
+typedef void ( *CPU_ISR_raw_handler )( void );
+
 /**
  * @brief SPARC specific raw ISR installer.
  *
@@ -951,11 +953,13 @@ void _CPU_Initialize(void);
  * @param[in] old_handler will contain the old ISR handler
  */
 void _CPU_ISR_install_raw_handler(
-  uint32_tvector,
-  proc_ptrnew_handler,
-  proc_ptr   *old_handler
+  uint32_t vector,
+  CPU_ISR_raw_handler  new_handler,
+  CPU_ISR_raw_handler *old_handler
 );
 
+typedef void ( *CPU_ISR_handler )( uint32_t );
+
 /**
  * @brief SPARC specific RTEMS ISR installer.
  *
@@ -967,9 +971,9 @@ void _CPU_ISR_install_raw_handler(
  */
 
 void _CPU_ISR_install_vector(
-  uint32_tvector,
-  proc_ptrnew_handler,
-  proc_ptr   *old_handler
+  uint32_t vector,
+  CPU_ISR_handler  new_handler,
+  CPU_ISR_handler *old_handler
 );
 
 void *_CPU_Thread_Idle_body( uintptr_t ignored );
-- 
2.16.4

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


Status of m32c port?

2018-11-08 Thread Sebastian Huber

Hello,

I try to get rid of the proc_ptr type currently. What is the status of 
the m32c port? Are interrupts supported at all?


If not, then I suggest to remove this port right now. The tools are 
already quite out dated.


--
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

Re: Status of m32c port?

2018-11-08 Thread Joel Sherrill
On Thu, Nov 8, 2018 at 8:59 AM Sebastian Huber <
sebastian.hu...@embedded-brains.de> wrote:

> Hello,
>
> I try to get rid of the proc_ptr type currently. What is the status of
> the m32c port? Are interrupts supported at all?
>

Interrupts are not supported.

>
> If not, then I suggest to remove this port right now. The tools are
> already quite out dated.tools
>

DJ Delorie was/is the tools port maintainer and he recently stepped down.
I don't see the  tool situation getting better.

I thought I filed a ticket heading the m32c down this path. But maybe I
just sent an email to the list about it.

FYI the or1k is also using odd tools but a new port is about to get merged
and I have worked with the lead on that to ensure RTEMS support is there.
So we wait on the or1k and the tool issue will solve itself. We will just
have
to bump them when it gets merged.

--joel

--joel


> --
> 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
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: Status of m32c port?

2018-11-08 Thread Sebastian Huber

On 08/11/2018 16:06, Joel Sherrill wrote:


On Thu, Nov 8, 2018 at 8:59 AM Sebastian Huber 
> wrote:


Hello,

I try to get rid of the proc_ptr type currently. What is the
status of
the m32c port? Are interrupts supported at all?


Interrupts are not supported.


If not, then I suggest to remove this port right now. The tools are
already quite out dated.tools


DJ Delorie was/is the tools port maintainer and he recently stepped down.
I don't see the  tool situation getting better.

I thought I filed a ticket heading the m32c down this path. But maybe I
just sent an email to the list about it.


Yes, there was a discussion in January 2018:

https://lists.rtems.org/pipermail/users/2018-January/031991.html

No response from the user side. I was also under the impression that 
this was a fully functional port. I will remove this architecture next 
week if nobody objects.


https://devel.rtems.org/ticket/3599



FYI the or1k is also using odd tools but a new port is about to get merged
and I have worked with the lead on that to ensure RTEMS support is there.
So we wait on the or1k and the tool issue will solve itself. We will 
just have

to bump them when it gets merged.


Yes, we just have to update the RSB to use GCC 9 once it is upstream.

--
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

[PATCH] m32: Remove this target

2018-11-08 Thread Sebastian Huber
Update #3599.
---
 bsps/m32c/m32cbsp/README   |   4 -
 bsps/m32c/m32cbsp/btimer/btimer.c  |  69 --
 bsps/m32c/m32cbsp/config/m32csim-testsuite.tcfg|  28 -
 bsps/m32c/m32cbsp/config/m32csim.cfg   |  16 -
 bsps/m32c/m32cbsp/console/console-io.c |  65 --
 bsps/m32c/m32cbsp/console/syscalls.S   |  43 --
 bsps/m32c/m32cbsp/doxygen.h|  15 -
 bsps/m32c/m32cbsp/headers.am   |   6 -
 bsps/m32c/m32cbsp/include/bsp.h|  49 --
 bsps/m32c/m32cbsp/include/tm27.h   |   1 -
 bsps/m32c/m32cbsp/start/bsp_specs  |   9 -
 bsps/m32c/m32cbsp/start/bspstart.c |  24 -
 bsps/m32c/m32cbsp/start/crtn.S |  58 --
 bsps/m32c/m32cbsp/start/linkcmds   | 207 -
 bsps/m32c/m32cbsp/start/start.S| 183 -
 c/src/aclocal/check-networking.m4  |   2 +-
 c/src/aclocal/rtems-cpu-subdirs.m4 |   1 -
 c/src/lib/libbsp/m32c/Makefile.am  |   7 -
 c/src/lib/libbsp/m32c/acinclude.m4 |  10 -
 c/src/lib/libbsp/m32c/configure.ac |  21 -
 c/src/lib/libbsp/m32c/m32cbsp/Makefile.am  |  36 -
 c/src/lib/libbsp/m32c/m32cbsp/configure.ac |  19 -
 cpukit/Makefile.am |  23 +-
 cpukit/aclocal/check-networking.m4 |   2 +-
 cpukit/configure.ac|  11 -
 cpukit/libmisc/dummy/default-configuration.c   |  12 +-
 cpukit/score/cpu/m32c/context_init.c   |  87 ---
 cpukit/score/cpu/m32c/context_switch.S |  66 --
 cpukit/score/cpu/m32c/cpu.c| 140 
 cpukit/score/cpu/m32c/headers.am   |   8 -
 cpukit/score/cpu/m32c/include/rtems/asm.h  | 124 ---
 cpukit/score/cpu/m32c/include/rtems/score/cpu.h| 833 -
 .../score/cpu/m32c/include/rtems/score/cpu_asm.h   |  72 --
 .../score/cpu/m32c/include/rtems/score/cpuatomic.h |  14 -
 .../score/cpu/m32c/include/rtems/score/cpuimpl.h   |  56 --
 cpukit/score/cpu/m32c/include/rtems/score/m32c.h   |  76 --
 cpukit/score/cpu/m32c/include/varvects.h   |  58 --
 cpukit/score/cpu/m32c/m32c-exception-frame-print.c |  24 -
 cpukit/score/cpu/m32c/varvects.S   |  47 --
 testsuites/sptests/sptask_err03/init.c |   6 -
 testsuites/sptests/sptimer_err02/init.c|  31 +-
 41 files changed, 19 insertions(+), 2544 deletions(-)
 delete mode 100644 bsps/m32c/m32cbsp/README
 delete mode 100644 bsps/m32c/m32cbsp/btimer/btimer.c
 delete mode 100644 bsps/m32c/m32cbsp/config/m32csim-testsuite.tcfg
 delete mode 100644 bsps/m32c/m32cbsp/config/m32csim.cfg
 delete mode 100644 bsps/m32c/m32cbsp/console/console-io.c
 delete mode 100644 bsps/m32c/m32cbsp/console/syscalls.S
 delete mode 100644 bsps/m32c/m32cbsp/doxygen.h
 delete mode 100644 bsps/m32c/m32cbsp/headers.am
 delete mode 100644 bsps/m32c/m32cbsp/include/bsp.h
 delete mode 100644 bsps/m32c/m32cbsp/include/tm27.h
 delete mode 100644 bsps/m32c/m32cbsp/start/bsp_specs
 delete mode 100644 bsps/m32c/m32cbsp/start/bspstart.c
 delete mode 100644 bsps/m32c/m32cbsp/start/crtn.S
 delete mode 100644 bsps/m32c/m32cbsp/start/linkcmds
 delete mode 100644 bsps/m32c/m32cbsp/start/start.S
 delete mode 100644 c/src/lib/libbsp/m32c/Makefile.am
 delete mode 100644 c/src/lib/libbsp/m32c/acinclude.m4
 delete mode 100644 c/src/lib/libbsp/m32c/configure.ac
 delete mode 100644 c/src/lib/libbsp/m32c/m32cbsp/Makefile.am
 delete mode 100644 c/src/lib/libbsp/m32c/m32cbsp/configure.ac
 delete mode 100644 cpukit/score/cpu/m32c/context_init.c
 delete mode 100644 cpukit/score/cpu/m32c/context_switch.S
 delete mode 100644 cpukit/score/cpu/m32c/cpu.c
 delete mode 100644 cpukit/score/cpu/m32c/headers.am
 delete mode 100644 cpukit/score/cpu/m32c/include/rtems/asm.h
 delete mode 100644 cpukit/score/cpu/m32c/include/rtems/score/cpu.h
 delete mode 100644 cpukit/score/cpu/m32c/include/rtems/score/cpu_asm.h
 delete mode 100644 cpukit/score/cpu/m32c/include/rtems/score/cpuatomic.h
 delete mode 100644 cpukit/score/cpu/m32c/include/rtems/score/cpuimpl.h
 delete mode 100644 cpukit/score/cpu/m32c/include/rtems/score/m32c.h
 delete mode 100644 cpukit/score/cpu/m32c/include/varvects.h
 delete mode 100644 cpukit/score/cpu/m32c/m32c-exception-frame-print.c
 delete mode 100644 cpukit/score/cpu/m32c/varvects.S

diff --git a/bsps/m32c/m32cbsp/README b/bsps/m32c/m32cbsp/README
deleted file mode 100644
index 10c0e20987..00
--- a/bsps/m32c/m32cbsp/README
+++ /dev/null
@@ -1,4 +0,0 @@
-This BSP is designed to operate on a variety of M16C and M32C variants.
-It is expected that this BSP will also be able to support R8C variants.
-
-It currently only runs on the M32C simulator in GDB.
diff --git a/bsps/m32c/m32cbsp/btimer/btimer.c 
b/bsps/m32c/m32cbsp/btimer/btimer.c
deleted file mode 100644
index a2

[PATCH] Remove m32c architecture port

2018-11-08 Thread Sebastian Huber
Update #3599.
---
 cpu-supplement/renesas_m32c.rst | 10 +-
 user/hardware/architectures.rst |  3 +--
 2 files changed, 2 insertions(+), 11 deletions(-)

diff --git a/cpu-supplement/renesas_m32c.rst b/cpu-supplement/renesas_m32c.rst
index c9119a9..0060c9c 100644
--- a/cpu-supplement/renesas_m32c.rst
+++ b/cpu-supplement/renesas_m32c.rst
@@ -7,12 +7,4 @@
 Renesas M32C Specific Information
 *
 
-Symmetric Multiprocessing
-=
-
-SMP is not supported.
-
-Thread-Local Storage
-
-
-Thread-local storage is not implemented.
+The port for this architecture was removed in RTEMS 5.1.
diff --git a/user/hardware/architectures.rst b/user/hardware/architectures.rst
index c1a3705..6a5628d 100644
--- a/user/hardware/architectures.rst
+++ b/user/hardware/architectures.rst
@@ -34,14 +34,13 @@ a single target.
that is equivalent to statically linked executable of the same code. Dynamic
loading is a system level tool for system architects.
 
-RTEMS supports 19 architectures:
+RTEMS supports 18 architectures:
 
 - arm
 - bfin
 - epiphany
 - i386
 - lm32
-- m32c
 - m68k
 - mips
 - moxie
-- 
2.16.4

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


[PATCH] Remove m32c support

2018-11-08 Thread Sebastian Huber
Update #3599.
---
 config/rtems-bsps-m32c.ini| 25 ---
 config/rtems-bsps-tiers.ini   |  3 +--
 config/rtems-bsps.ini |  3 ---
 tester/rtems/testing/bsps/m32csim-run.ini | 39 -
 tester/rtems/testing/bsps/m32csim.ini | 41 ---
 5 files changed, 1 insertion(+), 110 deletions(-)
 delete mode 100644 config/rtems-bsps-m32c.ini
 delete mode 100644 tester/rtems/testing/bsps/m32csim-run.ini
 delete mode 100644 tester/rtems/testing/bsps/m32csim.ini

diff --git a/config/rtems-bsps-m32c.ini b/config/rtems-bsps-m32c.ini
deleted file mode 100644
index 74c7569..000
--- a/config/rtems-bsps-m32c.ini
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# RTEMS Tools Project (http://www.rtems.org/)
-# Copyright 2017 Chris Johns (chr...@rtems.org)
-# All rights reserved.
-#
-# This file is part of the RTEMS Tools package in 'rtems-bsp-builder'.
-#
-# Permission to use, copy, modify, and/or distribute this software for any
-# purpose with or without fee is hereby granted, provided that the above
-# copyright notice and this permission notice appear in all copies.
-#
-# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-#
-# M32C Architecture
-#
-[m32c]
-bsps = m32csim
-exclude = smp
diff --git a/config/rtems-bsps-tiers.ini b/config/rtems-bsps-tiers.ini
index 14c9c06..34d7143 100644
--- a/config/rtems-bsps-tiers.ini
+++ b/config/rtems-bsps-tiers.ini
@@ -36,7 +36,7 @@ bsps_powerpc = qoriq_e500
 # Tier 3: no build errors, no tests run.
 #
 [tier-3]
-archs = arm, bfin, i386, lm32, m32c, m68k, mips, moxie,
+archs = arm, bfin, i386, lm32, m68k, mips, moxie,
 nios2, or1k, powerpc, sh, sparc, sparc64, v850
 bsps_arm = altcycv_devkit,
 arm1136jfs, arm1136js, arm7tdmi, arm920, armcortexa9, atsamv,
@@ -65,7 +65,6 @@ bsps_arm = altcycv_devkit,
 bsps_bfin = TLL6527M, bf537Stamp, eZKit533
 bsps_i386 = pc386, pc486, pc586-sse, pc586, pcp4
 bsps_lm32 = lm32_evr, lm32_evr_gdbsim, milkymist
-bsps_m32c = m32csim
 bsps_m68k = av5282,
 csb360,
 gen68340, gen68360, gen68360_040,
diff --git a/config/rtems-bsps.ini b/config/rtems-bsps.ini
index bda2b98..bdbc7e2 100644
--- a/config/rtems-bsps.ini
+++ b/config/rtems-bsps.ini
@@ -65,7 +65,6 @@ archs = arm,
 epiphany,
 i386,
 lm32,
-m32c,
 m68k,
 mips,
 moxie,
@@ -81,7 +80,6 @@ bsps_bfin = ${bfin:bsps}
 bsps_epiphany = ${epiphany:bsps}
 bsps_i386 = ${i386:bsps}
 bsps_lm32 = ${lm32:bsps}
-bsps_m32c = ${m32c:bsps}
 bsps_m68k = ${m68k:bsps}
 bsps_mips = ${mips:bsps}
 bsps_moxie = ${moxie:bsps}
@@ -102,7 +100,6 @@ include = rtems-bsps-arm.ini,
   rtems-bsps-epiphany.ini,
   rtems-bsps-i386.ini,
   rtems-bsps-lm32.ini,
-  rtems-bsps-m32c.ini,
   rtems-bsps-m68k.ini,
   rtems-bsps-mips.ini,
   rtems-bsps-moxie.ini,
diff --git a/tester/rtems/testing/bsps/m32csim-run.ini 
b/tester/rtems/testing/bsps/m32csim-run.ini
deleted file mode 100644
index e9189d0..000
--- a/tester/rtems/testing/bsps/m32csim-run.ini
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-# RTEMS Tools Project (http://www.rtems.org/)
-# Copyright 2015 On-Line Applications Research Corporation (OAR).
-# All rights reserved.
-#
-# This file is part of the RTEMS Tools package in 'rtems-tools'.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright notice,
-# this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation
-# and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-# ARISING IN AN

Re: Status of m32c port?

2018-11-08 Thread Sebastian Huber

On 08/11/2018 16:16, Sebastian Huber wrote:

On 08/11/2018 16:06, Joel Sherrill wrote:


On Thu, Nov 8, 2018 at 8:59 AM Sebastian Huber 
> wrote:


    Hello,

    I try to get rid of the proc_ptr type currently. What is the
    status of
    the m32c port? Are interrupts supported at all?


Interrupts are not supported.


    If not, then I suggest to remove this port right now. The tools are
    already quite out dated.tools


DJ Delorie was/is the tools port maintainer and he recently stepped 
down.

I don't see the  tool situation getting better.

I thought I filed a ticket heading the m32c down this path. But maybe I
just sent an email to the list about it.


Yes, there was a discussion in January 2018:

https://lists.rtems.org/pipermail/users/2018-January/031991.html

No response from the user side. I was also under the impression that 
this was a fully functional port. I will remove this architecture next 
week if nobody objects.


https://devel.rtems.org/ticket/3599


Should we remove the RTEMS support for m32c also from upstream GCC, 
Binutils, Newlib and GDB?


--
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

Re: Status of m32c port?

2018-11-08 Thread Joel Sherrill
On Thu, Nov 8, 2018, 9:57 AM Sebastian Huber <
sebastian.hu...@embedded-brains.de wrote:

> On 08/11/2018 16:16, Sebastian Huber wrote:
> > On 08/11/2018 16:06, Joel Sherrill wrote:
> >>
> >> On Thu, Nov 8, 2018 at 8:59 AM Sebastian Huber
> >>  >> > wrote:
> >>
> >> Hello,
> >>
> >> I try to get rid of the proc_ptr type currently. What is the
> >> status of
> >> the m32c port? Are interrupts supported at all?
> >>
> >>
> >> Interrupts are not supported.
> >>
> >>
> >> If not, then I suggest to remove this port right now. The tools are
> >> already quite out dated.tools
> >>
> >>
> >> DJ Delorie was/is the tools port maintainer and he recently stepped
> >> down.
> >> I don't see the  tool situation getting better.
> >>
> >> I thought I filed a ticket heading the m32c down this path. But maybe I
> >> just sent an email to the list about it.
> >
> > Yes, there was a discussion in January 2018:
> >
> > https://lists.rtems.org/pipermail/users/2018-January/031991.html
> >
> > No response from the user side. I was also under the impression that
> > this was a fully functional port. I will remove this architecture next
> > week if nobody objects.
> >
> > https://devel.rtems.org/ticket/3599
>
> Should we remove the RTEMS support for m32c also from upstream GCC,
> Binutils, Newlib and GDB?
>

Might as well. It isn't that much code that is soecific to RTEMS vs the
port itself.


> --
> 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

Re: [PATCH] Remove m32c support

2018-11-08 Thread Joel Sherrill
Not directly related to this patch and I expect that you will find these
but there are a few odd places with m32c specific code

[joel@localhost rtems]$ grep -ri m32c cpukit/lib*
cpukit/libmisc/dummy/default-configuration.c:#if defined(__m32c__)
cpukit/librpc/src/xdr/xdr_float.c:defined(__m32c__) || \
[joel@localhost rtems]$ grep -ri m32c testsuites/
testsuites/sptests/sptask_err03/init.c:   * If on the m32c, we can't even
ask for enough memory to trip this
testsuites/sptests/sptask_err03/init.c:  #if defined(__m32c__)
testsuites/sptests/sptimer_err02/init.c:  #if defined(__m32c__)

--joel

On Thu, Nov 8, 2018 at 9:39 AM Sebastian Huber <
sebastian.hu...@embedded-brains.de> wrote:

> Update #3599.
> ---
>  config/rtems-bsps-m32c.ini| 25 ---
>  config/rtems-bsps-tiers.ini   |  3 +--
>  config/rtems-bsps.ini |  3 ---
>  tester/rtems/testing/bsps/m32csim-run.ini | 39
> -
>  tester/rtems/testing/bsps/m32csim.ini | 41
> ---
>  5 files changed, 1 insertion(+), 110 deletions(-)
>  delete mode 100644 config/rtems-bsps-m32c.ini
>  delete mode 100644 tester/rtems/testing/bsps/m32csim-run.ini
>  delete mode 100644 tester/rtems/testing/bsps/m32csim.ini
>
> diff --git a/config/rtems-bsps-m32c.ini b/config/rtems-bsps-m32c.ini
> deleted file mode 100644
> index 74c7569..000
> --- a/config/rtems-bsps-m32c.ini
> +++ /dev/null
> @@ -1,25 +0,0 @@
> -#
> -# RTEMS Tools Project (http://www.rtems.org/)
> -# Copyright 2017 Chris Johns (chr...@rtems.org)
> -# All rights reserved.
> -#
> -# This file is part of the RTEMS Tools package in 'rtems-bsp-builder'.
> -#
> -# Permission to use, copy, modify, and/or distribute this software for any
> -# purpose with or without fee is hereby granted, provided that the above
> -# copyright notice and this permission notice appear in all copies.
> -#
> -# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
> -# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
> -# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
> -# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
> -# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
> -# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
> -# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
> -
> -#
> -# M32C Architecture
> -#
> -[m32c]
> -bsps = m32csim
> -exclude = smp
> diff --git a/config/rtems-bsps-tiers.ini b/config/rtems-bsps-tiers.ini
> index 14c9c06..34d7143 100644
> --- a/config/rtems-bsps-tiers.ini
> +++ b/config/rtems-bsps-tiers.ini
> @@ -36,7 +36,7 @@ bsps_powerpc = qoriq_e500
>  # Tier 3: no build errors, no tests run.
>  #
>  [tier-3]
> -archs = arm, bfin, i386, lm32, m32c, m68k, mips, moxie,
> +archs = arm, bfin, i386, lm32, m68k, mips, moxie,
>  nios2, or1k, powerpc, sh, sparc, sparc64, v850
>  bsps_arm = altcycv_devkit,
>  arm1136jfs, arm1136js, arm7tdmi, arm920, armcortexa9, atsamv,
> @@ -65,7 +65,6 @@ bsps_arm = altcycv_devkit,
>  bsps_bfin = TLL6527M, bf537Stamp, eZKit533
>  bsps_i386 = pc386, pc486, pc586-sse, pc586, pcp4
>  bsps_lm32 = lm32_evr, lm32_evr_gdbsim, milkymist
> -bsps_m32c = m32csim
>  bsps_m68k = av5282,
>  csb360,
>  gen68340, gen68360, gen68360_040,
> diff --git a/config/rtems-bsps.ini b/config/rtems-bsps.ini
> index bda2b98..bdbc7e2 100644
> --- a/config/rtems-bsps.ini
> +++ b/config/rtems-bsps.ini
> @@ -65,7 +65,6 @@ archs = arm,
>  epiphany,
>  i386,
>  lm32,
> -m32c,
>  m68k,
>  mips,
>  moxie,
> @@ -81,7 +80,6 @@ bsps_bfin = ${bfin:bsps}
>  bsps_epiphany = ${epiphany:bsps}
>  bsps_i386 = ${i386:bsps}
>  bsps_lm32 = ${lm32:bsps}
> -bsps_m32c = ${m32c:bsps}
>  bsps_m68k = ${m68k:bsps}
>  bsps_mips = ${mips:bsps}
>  bsps_moxie = ${moxie:bsps}
> @@ -102,7 +100,6 @@ include = rtems-bsps-arm.ini,
>rtems-bsps-epiphany.ini,
>rtems-bsps-i386.ini,
>rtems-bsps-lm32.ini,
> -  rtems-bsps-m32c.ini,
>rtems-bsps-m68k.ini,
>rtems-bsps-mips.ini,
>rtems-bsps-moxie.ini,
> diff --git a/tester/rtems/testing/bsps/m32csim-run.ini
> b/tester/rtems/testing/bsps/m32csim-run.ini
> deleted file mode 100644
> index e9189d0..000
> --- a/tester/rtems/testing/bsps/m32csim-run.ini
> +++ /dev/null
> @@ -1,39 +0,0 @@
> -#
> -# RTEMS Tools Project (http://www.rtems.org/)
> -# Copyright 2015 On-Line Applications Research Corporation (OAR).
> -# All rights reserved.
> -#
> -# This file is part of the RTEMS Tools package in 'rtems-tools'.
> -#
> -# Redistribution and use in source and binary forms, with or without
> -# modification, are permitted provided that the following conditions are
> met:
> -#
> -# 1. Redistributions of source code must retain the above copyright
> notice,
> -# this list of conditions and the following discla

Re: arm/altera-cyclone-v doxygen patch

2018-11-08 Thread Gedare Bloom
Thanks Sebastian, I had the same question about the two groups, and I'll
check the generated Doxygen for that when I can.

On Thu, Nov 8, 2018 at 1:42 AM, Sebastian Huber <
sebastian.hu...@embedded-brains.de> wrote:

> On 08/11/2018 04:52, Gedare Bloom wrote:
>
>> Attached is a patch from GCI 2018 adding doxygen to the altera-cyclone-v.
>>
>> 6545323948244992_1541638792_0001-arm-altera-cyclone-v-Update
>> -Doxygen-GCI-2018.patch
>>
>>  From f69a935ea34fb617cab4632830e60184fe380d30 Mon Sep 17 00:00:00 2001
>> From: shashvatjain
>> Date: Thu, 8 Nov 2018 06:17:49 +0530
>> Subject: [PATCH] arm/altera cyclone v: Update Doxygen (GCI 2018)
>>
>> ---
>>   bsps/arm/altera-cyclone-v/i2c/i2cdrv-config.h |  9 
>>   bsps/arm/altera-cyclone-v/include/bsp.h   | 18 +++
>>   bsps/arm/altera-cyclone-v/include/bsp/hwlib.h | 16 ++
>>   .../arm/altera-cyclone-v/include/bsp/i2cdrv.h | 17 ++
>>   bsps/arm/altera-cyclone-v/include/bsp/irq.h   | 22 ++-
>>   5 files changed, 81 insertions(+), 1 deletion(-)
>>
>> diff --git a/bsps/arm/altera-cyclone-v/i2c/i2cdrv-config.h
>> b/bsps/arm/altera-cyclone-v/i2c/i2cdrv-config.h
>> index 650974751e..529d19980f 100644
>> --- a/bsps/arm/altera-cyclone-v/i2c/i2cdrv-config.h
>> +++ b/bsps/arm/altera-cyclone-v/i2c/i2cdrv-config.h
>> @@ -1,3 +1,12 @@
>> +/**
>> + * @file
>> + *
>> + * @ingroup altera-cyclone-v_i2c
>>
>
> I think CamelCase is used in most places for Doxygen internal names.
>
> + *
>> + * @brief Drivers for I2C
>> + *
>> + */
>> +
>>   /*
>>* Copyright (c) 2014 embedded brains GmbH.  All rights reserved.
>>*
>> diff --git a/bsps/arm/altera-cyclone-v/include/bsp.h
>> b/bsps/arm/altera-cyclone-v/include/bsp.h
>> index 860a15c5bf..92bc95531b 100644
>> --- a/bsps/arm/altera-cyclone-v/include/bsp.h
>> +++ b/bsps/arm/altera-cyclone-v/include/bsp.h
>> @@ -1,3 +1,11 @@
>> +/**
>> + * @file
>> + *
>> + * @ingroup arm_altera-cyclone-v
>> + *
>> + * @brief Global BSP definitions.
>> + */
>> +
>>   /*
>>* Copyright (c) 2013, 2018 embedded brains GmbH.  All rights reserved.
>>*
>> @@ -50,3 +58,13 @@ extern "C" {
>>   #endif /* ASM */
>> #endif /* LIBBSP_ARM_ALTERA_CYCLONE_V_BSP_H */
>> +
>> +/**
>> + * @defgroup arm_altera-cyclone-v Altera Cyclone V Support
>> + *
>> + * @ingroup bsp_arm
>> + *
>> + * @brief Altera Cyclone V support package.
>> + *
>> + * @{
>> + */
>> diff --git a/bsps/arm/altera-cyclone-v/include/bsp/hwlib.h
>> b/bsps/arm/altera-cyclone-v/include/bsp/hwlib.h
>> index aba7e877c4..8aad5d7b32 100644
>> --- a/bsps/arm/altera-cyclone-v/include/bsp/hwlib.h
>> +++ b/bsps/arm/altera-cyclone-v/include/bsp/hwlib.h
>> @@ -1,3 +1,11 @@
>> +/**
>> + * @file
>> + *
>> + * @ingroup altera-cyclone-v_hwlib
>> + *
>> + * @brief The type definition for status codes returned by the HWLIB.
>> + */
>> +
>>   /***
>> ***
>>   *
>>   * Copyright 2013 Altera Corporation. All Rights Reserved.
>> @@ -48,6 +56,14 @@ extern "C"
>>   {
>>   #endif  /* __cplusplus */
>>   +/**
>> + * @defgroup altera-cyclone-v_hwlib Hwlib
>> + *
>> + * @ingroup arm_altera-cyclone-v
>> + *
>> + * @brief The type definition for status codes returned by the HWLIB.
>> + */
>> +
>>   /*!
>>* The type definition for status codes returned by the HWLIB.
>>*/
>> diff --git a/bsps/arm/altera-cyclone-v/include/bsp/i2cdrv.h
>> b/bsps/arm/altera-cyclone-v/include/bsp/i2cdrv.h
>> index 9a4411d637..114d8a6219 100644
>> --- a/bsps/arm/altera-cyclone-v/include/bsp/i2cdrv.h
>> +++ b/bsps/arm/altera-cyclone-v/include/bsp/i2cdrv.h
>> @@ -1,3 +1,11 @@
>> +/**
>> + * @file
>> + *
>> + * @ingroup altera-cyclone-v_i2c
>> + *
>> + * @brief Drivers for I2C
>> + */
>> +
>>   /*
>>* Copyright (c) 2014 embedded brains GmbH.  All rights reserved.
>>*
>> @@ -21,6 +29,15 @@
>>   extern "C" {
>>   #endif /* __cplusplus */
>>   +/**
>> + * @defgroup altera-cyclone-v_i2c I2C Support
>> + *
>> + * @ingroup arm_altera-cyclone-v
>> + *
>> + * @brief I2C Support
>> + *
>> + */
>> +
>>   rtems_device_driver i2cdrv_initialize(
>> rtems_device_major_number major,
>> rtems_device_minor_number minor,
>> diff --git a/bsps/arm/altera-cyclone-v/include/bsp/irq.h
>> b/bsps/arm/altera-cyclone-v/include/bsp/irq.h
>> index c136500415..f7455af9b4 100644
>> --- a/bsps/arm/altera-cyclone-v/include/bsp/irq.h
>> +++ b/bsps/arm/altera-cyclone-v/include/bsp/irq.h
>> @@ -1,3 +1,11 @@
>> +/**
>> + * @file
>> + *
>> + * @ingroup altera-cyclone-v_interrupt
>> + *
>> + * @brief Interrupt definitions.
>> + */
>> +
>>   /*
>>* Copyright (c) 2013 embedded brains GmbH.  All rights reserved.
>>*
>> @@ -28,6 +36,18 @@
>>   extern "C" {
>>   #endif /* __cplusplus */
>>   +/**
>> + * @defgroup altera-cyclone-v_interrupt Interrupt Support
>> + *
>> + * @ingroup arm_altera-cyclone-v
>> + *
>> + * @ingroup bsp_interrupt
>>
>
> Does it work to place it into two groups?
>
> + *
>> + * @brief Interrupt Support for

Re: arm/altera-cyclone-v doxygen patch

2018-11-08 Thread Gedare Bloom
On Thu, Nov 8, 2018 at 1:42 AM, Sebastian Huber <
sebastian.hu...@embedded-brains.de> wrote:

> On 08/11/2018 04:52, Gedare Bloom wrote:
>
>> Attached is a patch from GCI 2018 adding doxygen to the altera-cyclone-v.
>>
>> 6545323948244992_1541638792_0001-arm-altera-cyclone-v-Update
>> -Doxygen-GCI-2018.patch
>>
>>  From f69a935ea34fb617cab4632830e60184fe380d30 Mon Sep 17 00:00:00 2001
>> From: shashvatjain
>> Date: Thu, 8 Nov 2018 06:17:49 +0530
>> Subject: [PATCH] arm/altera cyclone v: Update Doxygen (GCI 2018)
>>
>> ---
>>   bsps/arm/altera-cyclone-v/i2c/i2cdrv-config.h |  9 
>>   bsps/arm/altera-cyclone-v/include/bsp.h   | 18 +++
>>   bsps/arm/altera-cyclone-v/include/bsp/hwlib.h | 16 ++
>>   .../arm/altera-cyclone-v/include/bsp/i2cdrv.h | 17 ++
>>   bsps/arm/altera-cyclone-v/include/bsp/irq.h   | 22 ++-
>>   5 files changed, 81 insertions(+), 1 deletion(-)
>>
>> diff --git a/bsps/arm/altera-cyclone-v/i2c/i2cdrv-config.h
>> b/bsps/arm/altera-cyclone-v/i2c/i2cdrv-config.h
>> index 650974751e..529d19980f 100644
>> --- a/bsps/arm/altera-cyclone-v/i2c/i2cdrv-config.h
>> +++ b/bsps/arm/altera-cyclone-v/i2c/i2cdrv-config.h
>> @@ -1,3 +1,12 @@
>> +/**
>> + * @file
>> + *
>> + * @ingroup altera-cyclone-v_i2c
>>
>
> I think CamelCase is used in most places for Doxygen internal names.
>
>
It appears we have not been doing this in the BSPs doxygen so far. A
decision should be made whether to start doing it this way (and fix the
ones that are there), or to use the underscores like the other BSP doxygen
does.
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

[PATCH] tester: Support testing all riscv bsps on Spike

2018-11-08 Thread Hesham Almatary
---
 tester/rtems/testing/bsps/rv32i_spike.ini | 38 +++
 tester/rtems/testing/bsps/rv32iac_spike.ini   | 38 +++
 tester/rtems/testing/bsps/rv32im_spike.ini| 38 +++
 tester/rtems/testing/bsps/rv32imac_spike.ini  | 38 +++
 tester/rtems/testing/bsps/rv32imafc_spike.ini | 38 +++
 tester/rtems/testing/bsps/rv32imafd_spike.ini | 38 +++
 .../rtems/testing/bsps/rv32imafdc_spike.ini   | 38 +++
 .../testing/bsps/rv64imac_medany_spike.ini| 38 +++
 tester/rtems/testing/bsps/rv64imac_spike.ini  | 38 +++
 .../testing/bsps/rv64imafd_medany_spike.ini   | 38 +++
 tester/rtems/testing/bsps/rv64imafd_spike.ini | 38 +++
 .../testing/bsps/rv64imafdc_medany_spike.ini  | 38 +++
 .../rtems/testing/bsps/rv64imafdc_spike.ini   | 38 +++
 13 files changed, 494 insertions(+)
 create mode 100644 tester/rtems/testing/bsps/rv32i_spike.ini
 create mode 100644 tester/rtems/testing/bsps/rv32iac_spike.ini
 create mode 100644 tester/rtems/testing/bsps/rv32im_spike.ini
 create mode 100644 tester/rtems/testing/bsps/rv32imac_spike.ini
 create mode 100644 tester/rtems/testing/bsps/rv32imafc_spike.ini
 create mode 100644 tester/rtems/testing/bsps/rv32imafd_spike.ini
 create mode 100644 tester/rtems/testing/bsps/rv32imafdc_spike.ini
 create mode 100644 tester/rtems/testing/bsps/rv64imac_medany_spike.ini
 create mode 100644 tester/rtems/testing/bsps/rv64imac_spike.ini
 create mode 100644 tester/rtems/testing/bsps/rv64imafd_medany_spike.ini
 create mode 100644 tester/rtems/testing/bsps/rv64imafd_spike.ini
 create mode 100644 tester/rtems/testing/bsps/rv64imafdc_medany_spike.ini
 create mode 100644 tester/rtems/testing/bsps/rv64imafdc_spike.ini

diff --git a/tester/rtems/testing/bsps/rv32i_spike.ini 
b/tester/rtems/testing/bsps/rv32i_spike.ini
new file mode 100644
index 000..e59434c
--- /dev/null
+++ b/tester/rtems/testing/bsps/rv32i_spike.ini
@@ -0,0 +1,38 @@
+#
+# RTEMS Tools Project (http://www.rtems.org/)
+# Copyright 2010-2014 Chris Johns (chr...@rtems.org)
+# All rights reserved.
+#
+# This file is part of the RTEMS Tools package in 'rtems-tools'.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice,
+# this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+
+#
+# The Generic RISC-V BSP
+#
+[rv32i_spike]
+bsp   = rv32i
+arch  = riscv32
+tester= %{_rtscripts}/spike.cfg
+bsp_spike_opts = --isa=RV32I
diff --git a/tester/rtems/testing/bsps/rv32iac_spike.ini 
b/tester/rtems/testing/bsps/rv32iac_spike.ini
new file mode 100644
index 000..cde1528
--- /dev/null
+++ b/tester/rtems/testing/bsps/rv32iac_spike.ini
@@ -0,0 +1,38 @@
+#
+# RTEMS Tools Project (http://www.rtems.org/)
+# Copyright 2010-2014 Chris Johns (chr...@rtems.org)
+# All rights reserved.
+#
+# This file is part of the RTEMS Tools package in 'rtems-tools'.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice,
+# this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+# LIABLE FOR 

Re: [PATCH] tester: Support testing all riscv bsps on Spike

2018-11-08 Thread Chris Johns
On 09/11/2018 07:43, Hesham Almatary wrote:
> ---
>  tester/rtems/testing/bsps/rv32i_spike.ini | 38 +++
>  tester/rtems/testing/bsps/rv32iac_spike.ini   | 38 +++
>  tester/rtems/testing/bsps/rv32im_spike.ini| 38 +++
>  tester/rtems/testing/bsps/rv32imac_spike.ini  | 38 +++
>  tester/rtems/testing/bsps/rv32imafc_spike.ini | 38 +++
>  tester/rtems/testing/bsps/rv32imafd_spike.ini | 38 +++
>  .../rtems/testing/bsps/rv32imafdc_spike.ini   | 38 +++
>  .../testing/bsps/rv64imac_medany_spike.ini| 38 +++
>  tester/rtems/testing/bsps/rv64imac_spike.ini  | 38 +++
>  .../testing/bsps/rv64imafd_medany_spike.ini   | 38 +++
>  tester/rtems/testing/bsps/rv64imafd_spike.ini | 38 +++
>  .../testing/bsps/rv64imafdc_medany_spike.ini  | 38 +++
>  .../rtems/testing/bsps/rv64imafdc_spike.ini   | 38 +++
>  13 files changed, 494 insertions(+)
>  create mode 100644 tester/rtems/testing/bsps/rv32i_spike.ini
>  create mode 100644 tester/rtems/testing/bsps/rv32iac_spike.ini
>  create mode 100644 tester/rtems/testing/bsps/rv32im_spike.ini
>  create mode 100644 tester/rtems/testing/bsps/rv32imac_spike.ini
>  create mode 100644 tester/rtems/testing/bsps/rv32imafc_spike.ini
>  create mode 100644 tester/rtems/testing/bsps/rv32imafd_spike.ini
>  create mode 100644 tester/rtems/testing/bsps/rv32imafdc_spike.ini
>  create mode 100644 tester/rtems/testing/bsps/rv64imac_medany_spike.ini
>  create mode 100644 tester/rtems/testing/bsps/rv64imac_spike.ini
>  create mode 100644 tester/rtems/testing/bsps/rv64imafd_medany_spike.ini
>  create mode 100644 tester/rtems/testing/bsps/rv64imafd_spike.ini
>  create mode 100644 tester/rtems/testing/bsps/rv64imafdc_medany_spike.ini
>  create mode 100644 tester/rtems/testing/bsps/rv64imafdc_spike.ini
> 

Looks good. OK to push.

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


Re: [PATCH] tester: Support testing all riscv bsps on Spike

2018-11-08 Thread Joel Sherrill
On Thu, Nov 8, 2018 at 5:01 PM Chris Johns  wrote:

> On 09/11/2018 07:43, Hesham Almatary wrote:
> > ---
> >  tester/rtems/testing/bsps/rv32i_spike.ini | 38 +++
> >  tester/rtems/testing/bsps/rv32iac_spike.ini   | 38 +++
> >  tester/rtems/testing/bsps/rv32im_spike.ini| 38 +++
> >  tester/rtems/testing/bsps/rv32imac_spike.ini  | 38 +++
> >  tester/rtems/testing/bsps/rv32imafc_spike.ini | 38 +++
> >  tester/rtems/testing/bsps/rv32imafd_spike.ini | 38 +++
> >  .../rtems/testing/bsps/rv32imafdc_spike.ini   | 38 +++
> >  .../testing/bsps/rv64imac_medany_spike.ini| 38 +++
> >  tester/rtems/testing/bsps/rv64imac_spike.ini  | 38 +++
> >  .../testing/bsps/rv64imafd_medany_spike.ini   | 38 +++
> >  tester/rtems/testing/bsps/rv64imafd_spike.ini | 38 +++
> >  .../testing/bsps/rv64imafdc_medany_spike.ini  | 38 +++
> >  .../rtems/testing/bsps/rv64imafdc_spike.ini   | 38 +++
> >  13 files changed, 494 insertions(+)
> >  create mode 100644 tester/rtems/testing/bsps/rv32i_spike.ini
> >  create mode 100644 tester/rtems/testing/bsps/rv32iac_spike.ini
> >  create mode 100644 tester/rtems/testing/bsps/rv32im_spike.ini
> >  create mode 100644 tester/rtems/testing/bsps/rv32imac_spike.ini
> >  create mode 100644 tester/rtems/testing/bsps/rv32imafc_spike.ini
> >  create mode 100644 tester/rtems/testing/bsps/rv32imafd_spike.ini
> >  create mode 100644 tester/rtems/testing/bsps/rv32imafdc_spike.ini
> >  create mode 100644 tester/rtems/testing/bsps/rv64imac_medany_spike.ini
> >  create mode 100644 tester/rtems/testing/bsps/rv64imac_spike.ini
> >  create mode 100644 tester/rtems/testing/bsps/rv64imafd_medany_spike.ini
> >  create mode 100644 tester/rtems/testing/bsps/rv64imafd_spike.ini
> >  create mode 100644 tester/rtems/testing/bsps/rv64imafdc_medany_spike.ini
> >  create mode 100644 tester/rtems/testing/bsps/rv64imafdc_spike.ini
> >
>
> Looks good. OK to push.
>

Please push.

Thank you.

Out of curiosity, will qemu run all the variants also?

--joel

>
> Chris
> ___
> 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] rtems-gdb-8.0.1-1.cfg: Add Cygwin patch for ncurses not termcap

2018-11-08 Thread Joel Sherrill
closes #3576.
---
 rtems/config/tools/rtems-gdb-8.0.1-1.cfg | 10 ++
 1 file changed, 10 insertions(+)

diff --git a/rtems/config/tools/rtems-gdb-8.0.1-1.cfg 
b/rtems/config/tools/rtems-gdb-8.0.1-1.cfg
index 14a0725..51eafef 100644
--- a/rtems/config/tools/rtems-gdb-8.0.1-1.cfg
+++ b/rtems/config/tools/rtems-gdb-8.0.1-1.cfg
@@ -12,4 +12,14 @@
 %patch add gdb 
https://devel.rtems.org/raw-attachment/ticket/3460/gdb-8.0.1-sis-leon2-leon3.diff
 %hash sha512 gdb-8.0.1-sis-leon2-leon3.diff 
a16859b5badbce8ecbc9259553b2abe7e93b4fb8ab899e18e8ddb294a1433f49df8ddee418bb6ab55dc2402e5ad6aca6274fb9e8b53278574f269a555fdeddcf
 
+ %ifos win32
+   %if %{_windows_os} == cygwin
+-%patch add gdb --rsb-file=PATCH_Cygwin_has_ncurses_not_termcap 
https://sourceware.org/cgi-bin/get-raw-msg?listname=gdb-patches&date=2018-10&msgid=1540415244-4879-1-git-send-email-joel%40rtems.org
+-%sha512sum PATCH_Cygwin_has_ncurses_not_termcap 
941cba591de89cac1d74cf9c5ca787d23eeef198f621d211e87329131b831fdd108b78114e75952c113872a2117b598596a51dacefa87e1a37dfa7e9c58c14d1
++%patch add gdb 
https://devel.rtems.org/raw-attachment/ticket/3576/gdb-8.0.1-sis-cygwin.diff
++%hash sha512 gdb-8.0.1-sis-cygwin.diff 
a54457ad8b67cb172e3c6e6a141805b912e50e10bc8bd29babbaa530e39e0a6e0809c3749e59057ecb0fb4bb63a28b2bf6de7276d937cf6d0ecc831b3b317b69
 
+   %endif
+ %endif
+ 
+
 %include %{_configdir}/gdb-8-1.cfg
-- 
1.8.3.1

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


rtems/docs user: spelling and grammar fixes patch (GCI 2018)

2018-11-08 Thread Marçal
Hi,
I made this patch to complete the "Improve English for rtems/docs" of GCI
2018 which solves 5 typos in the RTEMS User Manual.
The errors fixed are the following:
1. catastophic -> catastrophic
2. By using standard software components, the time and cost required to
develop sophisticated real-time applications *is* significantly reduced. ->
By using standard software components, the time and cost required to
develop sophisticated real-time applications *are* significantly reduced.
("is" (singular) does not agree with the plural compound subject "the time
and cost required to develop sophisticated real-time applications")
3. accessable -> accessible
4. on going -> ongoing
5. compontents -> components
The patch is attached to this email.
Sal
From 0154cad306e629332bdae318bbb126b6e04ef373 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mar=C3=A7al=20Comajoan=20Cara?= 
Date: Wed, 7 Nov 2018 18:57:47 +0100
Subject: [PATCH] user: spelling and grammar fixes

This work was part of GCI 2018.
---
 user/ecosys/index.rst   | 6 +++---
 user/overview/index.rst | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/user/ecosys/index.rst b/user/ecosys/index.rst
index f41cbb3..d32c6d0 100644
--- a/user/ecosys/index.rst
+++ b/user/ecosys/index.rst
@@ -12,10 +12,10 @@ Ecosystem
 The RTEMS Ecosystem is the collection of tools, packages, code, documentation
 and online content provided by the RTEMS Project. The ecosystem provides a way
 to develop, maintain, and use RTEMS. It's parts interact with the user, the
-host environment, and each other to make RTEMS accessable, useable and
+host environment, and each other to make RTEMS accessible, useable and
 predicable.
 
-The ecosystem is for users, developers and maintainers and it is an on going
+The ecosystem is for users, developers and maintainers and it is an ongoing
 effort that needs your help and support. The RTEMS project is always improving
 the way it delivers the kernel to you and your feedback is important so please
 join the mailing lists and contribute back comments, success stories, bugs and
@@ -58,7 +58,7 @@ that can be used to audit the build process so their configuration can be
 documented.
 
 The ecosystem is based around the source code used in the various parts,
-compontents and items of the RTEMS development environment. A user can create
+components and items of the RTEMS development environment. A user can create
 an archive of the complete build process including all the source code for long
 term storage. This is important for projects with a long life cycle.
 
diff --git a/user/overview/index.rst b/user/overview/index.rst
index a2c25a3..76bac36 100644
--- a/user/overview/index.rst
+++ b/user/overview/index.rst
@@ -69,7 +69,7 @@ interdependent, asynchronous or cyclical event streams.
 Deadlines can be further characterized as either hard or soft based upon the
 value of the results when produced after the deadline has passed.  A deadline
 is hard if the results have no value after the deadline has passed, or a
-catastophic event results from their intended use if not completed on time.  In
+catastrophic event results from their intended use if not completed on time.  In
 contrast, results produced after a soft deadline may still have some value.
 
 Another distinguishing requirement of real-time application systems is the
@@ -126,4 +126,4 @@ processors.  In addition, one need not develop, test, debug, and document
 routines to manage memory, pass messages, or provide mutual exclusion.  The
 developer is then able to concentrate solely on the application.  By using
 standard software components, the time and cost required to develop
-sophisticated real-time applications is significantly reduced.
+sophisticated real-time applications are significantly reduced.
-- 
2.17.1

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

Re: [PATCH] rtems-gdb-8.0.1-1.cfg: Add Cygwin patch for ncurses not termcap

2018-11-08 Thread Chris Johns
On 09/11/2018 10:20, Joel Sherrill wrote:
> closes #3576.
> ---
>  rtems/config/tools/rtems-gdb-8.0.1-1.cfg | 10 ++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/rtems/config/tools/rtems-gdb-8.0.1-1.cfg 
> b/rtems/config/tools/rtems-gdb-8.0.1-1.cfg
> index 14a0725..51eafef 100644
> --- a/rtems/config/tools/rtems-gdb-8.0.1-1.cfg
> +++ b/rtems/config/tools/rtems-gdb-8.0.1-1.cfg
> @@ -12,4 +12,14 @@
>  %patch add gdb 
> https://devel.rtems.org/raw-attachment/ticket/3460/gdb-8.0.1-sis-leon2-leon3.diff
>  %hash sha512 gdb-8.0.1-sis-leon2-leon3.diff 
> a16859b5badbce8ecbc9259553b2abe7e93b4fb8ab899e18e8ddb294a1433f49df8ddee418bb6ab55dc2402e5ad6aca6274fb9e8b53278574f269a555fdeddcf
>  
> + %ifos win32
> +   %if %{_windows_os} == cygwin

Where is `_windows_os` set? Is there another part to this change?

The file `source-builder/sb/windows.py` on master does not define `_windows_os`.

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


Re: [PATCH v2] m68k/mcf52235: Add missing Copyright/License notices

2018-11-08 Thread Sebastian Huber

Hello Marçal,

I think each contributor needs its own line with a "Copyright (c) year>,  " structure. The , year> pattern is debatable:


https://gcc.gnu.org/ml/gcc/2012-06/msg00427.html

I trust that IBM is doing it right.

On 08/11/2018 19:16, Marçal wrote:
Hi. I put the date as 2018 because I thought that the date had to be 
the one when the file was last modified, and since it was last 
modified (by me for this patch) in 2018, I put 2018. However, if this 
is not correct, please tell me what type of years I have to put (I can 
easily see when commits were done with git log) and I will make 
another patch with the correct dates.


On Thu, Nov 8, 2018 at 7:31 AM Sebastian Huber 
> wrote:


On 07/11/2018 19:22, Joel Sherrill wrote:
> From: Salmailto:mcomajoanc...@gmail.com>>
>
> This work was part of GCI 2018.
>
> Closes #2541.
> ---
>   bsps/m68k/mcf52235/btimer/btimer.c   | 11 +++
>   bsps/m68k/mcf52235/clock/clock.c     | 13 +
>   bsps/m68k/mcf52235/console/console.c | 26
+-
>   bsps/m68k/mcf52235/console/debugio.c | 19 ++-
>   bsps/m68k/mcf52235/include/bsp.h     | 14 +-
>   bsps/m68k/mcf52235/include/tm27.h    | 10 +-
>   bsps/m68k/mcf52235/start/init52235.c | 12 
>   bsps/m68k/mcf52235/start/linkcmds    | 11 ---
>   bsps/m68k/mcf52235/start/start.S     |  9 +++--
>   9 files changed, 104 insertions(+), 21 deletions(-)
>
> diff --git a/bsps/m68k/mcf52235/btimer/btimer.c
b/bsps/m68k/mcf52235/btimer/btimer.c
> index f912254..5987481 100644
> --- a/bsps/m68k/mcf52235/btimer/btimer.c
> +++ b/bsps/m68k/mcf52235/btimer/btimer.c
> @@ -2,10 +2,13 @@
>    *  Timer Init
>    *
>    *  Use the last DMA timer (DTIM3) as the diagnostic timer.
> - *
> - *  Author: W. Eric Norummailto:nor...@aps.anl.gov>>
> - *
> - *  COPYRIGHT (c) 2005.
> + */
> +
> +/*
> + *  COPYRIGHT (c) 2018

Is the Copyright date correct?

-- 
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.



--
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

[PATCH] m32c: Remove this build set

2018-11-08 Thread Sebastian Huber
Update #3599.
---
 rtems/config/5/rtems-all.bset|  1 -
 rtems/config/5/rtems-m32c.bset   | 46 
 rtems/config/5/rtems-tier-3.bset |  1 -
 3 files changed, 48 deletions(-)
 delete mode 100644 rtems/config/5/rtems-m32c.bset

diff --git a/rtems/config/5/rtems-all.bset b/rtems/config/5/rtems-all.bset
index 446d90a..00ccfae 100644
--- a/rtems/config/5/rtems-all.bset
+++ b/rtems/config/5/rtems-all.bset
@@ -4,7 +4,6 @@
 5/rtems-epiphany
 5/rtems-i386
 5/rtems-lm32
-5/rtems-m32c
 5/rtems-m68k
 5/rtems-microblaze
 5/rtems-mips
diff --git a/rtems/config/5/rtems-m32c.bset b/rtems/config/5/rtems-m32c.bset
deleted file mode 100644
index e7ee926..000
--- a/rtems/config/5/rtems-m32c.bset
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# Tools Set for RTEMS M32C 5 Stable
-#
-
-%define release 1
-
-%define rtems_arch m32c
-
-#
-# The RTEMS base defines.
-#
-%include rtems-base.bset
-
-#
-# Disable building a C++ compiler.
-#
-#
-#
-%define enable_cxx 0
-
-#
-# Disable building ICONV support
-#
-%define with_iconv 0
-
-#
-# Set the build flags to work around the defaults in the
-# compiler that cause ICE.
-#
-%define _targetcflags -g -O0
-%define _targetcxxflags -g -O0
-
-#
-# If Windows (MinGW) do not build the simulator.
-#
-%define win32-gdb-disable-sim
-
-#
-# Tools configuration.
-#
-5/rtems-autotools
-devel/expat-2.1.0-1
-tools/rtems-binutils-2.31.1
-tools/rtems-gcc-4.8.3-newlib-2ab57ad59bc35dafffa69cd4da5e228971de069f
-tools/rtems-gdb-8.0.1-1
-tools/rtems-tools-5-1
diff --git a/rtems/config/5/rtems-tier-3.bset b/rtems/config/5/rtems-tier-3.bset
index 0a66121..0fb7622 100644
--- a/rtems/config/5/rtems-tier-3.bset
+++ b/rtems/config/5/rtems-tier-3.bset
@@ -5,7 +5,6 @@
 5/rtems-bfin
 5/rtems-i386
 5/rtems-lm32
-5/rtems-m32c
 5/rtems-m68k
 5/rtems-mips
 5/rtems-moxie
-- 
2.16.4

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