[PATCH 04/12] shell: Rename "IO" typedef for better Doxygen

2020-12-01 Thread Sebastian Huber
An automatic link from every place in the documentation which mentions
"IO" to this dd command internal "IO" typedef is not really nice.
---
 cpukit/libmisc/shell/dd.h| 4 ++--
 cpukit/libmisc/shell/extern-dd.h | 4 ++--
 cpukit/libmisc/shell/main_dd.c   | 4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/cpukit/libmisc/shell/dd.h b/cpukit/libmisc/shell/dd.h
index dc80765d48..75012e707e 100644
--- a/cpukit/libmisc/shell/dd.h
+++ b/cpukit/libmisc/shell/dd.h
@@ -61,7 +61,7 @@ typedef struct {
const char  *name;  /* name */
int fd; /* file descriptor */
off_t   offset; /* # of blocks to skip */
-} IO;
+} rtems_shell_dd_IO;
 
 typedef struct {
uintmax_t   in_full;/* # of full input blocks */
@@ -72,7 +72,7 @@ typedef struct {
uintmax_t   swab;   /* # of odd-length swab blocks */
uintmax_t   bytes;  /* # of bytes written */
double  start;  /* start time of dd */
-} STAT;
+} rtems_shell_dd_STAT;
 
 /* Flags (in ddflags). */
 #defineC_ASCII 0x1
diff --git a/cpukit/libmisc/shell/extern-dd.h b/cpukit/libmisc/shell/extern-dd.h
index 405d460ef3..6dc2db0180 100644
--- a/cpukit/libmisc/shell/extern-dd.h
+++ b/cpukit/libmisc/shell/extern-dd.h
@@ -40,8 +40,8 @@
 #include 
 
 typedef struct rtems_shell_dd_globals_t {
-  IO   in, out;/* input/output state */
-  STAT st; /* statistics */
+  rtems_shell_dd_IOin, out;/* input/output state */
+  rtems_shell_dd_STAT  st; /* statistics */
   void (*cfunc)(struct rtems_shell_dd_globals_t* globals); /* 
conversion function */
   uintmax_t cpy_cnt;   /* # of blocks to copy */
   u_intddflags;/* conversion options */
diff --git a/cpukit/libmisc/shell/main_dd.c b/cpukit/libmisc/shell/main_dd.c
index 35cd826711..93cd4cc8f5 100644
--- a/cpukit/libmisc/shell/main_dd.c
+++ b/cpukit/libmisc/shell/main_dd.c
@@ -86,7 +86,7 @@ __FBSDID("$FreeBSD: src/bin/dd/dd.c,v 1.43 2004/08/15 
19:10:05 rwatson Exp $");
 
 static void dd_close(rtems_shell_dd_globals* globals);
 static void dd_in(rtems_shell_dd_globals* globals);
-static void getfdtype(rtems_shell_dd_globals* globals, IO *);
+static void getfdtype(rtems_shell_dd_globals* globals, rtems_shell_dd_IO *);
 static void setup(rtems_shell_dd_globals* globals);
 
 #if RTEMS_REMOVED
@@ -299,7 +299,7 @@ setup(rtems_shell_dd_globals* globals)
 }
 
 static void
-getfdtype(rtems_shell_dd_globals* globals, IO *io)
+getfdtype(rtems_shell_dd_globals* globals, rtems_shell_dd_IO *io)
 {
struct stat sb;
 #if RTEMS_REMOVED
-- 
2.26.2

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


[PATCH 02/12] posix: Delete unused _POSIX_Fatal_error()

2020-12-01 Thread Sebastian Huber
---
 cpukit/Makefile.am|   1 -
 cpukit/include/rtems/posix/posixapi.h |  18 ---
 cpukit/sapi/src/posixapi.c| 179 --
 spec/build/cpukit/librtemscpu.yml |   1 -
 4 files changed, 199 deletions(-)
 delete mode 100644 cpukit/sapi/src/posixapi.c

diff --git a/cpukit/Makefile.am b/cpukit/Makefile.am
index 1e711a90da..c1e1984a2c 100644
--- a/cpukit/Makefile.am
+++ b/cpukit/Makefile.am
@@ -1077,7 +1077,6 @@ librtemscpu_a_SOURCES += sapi/src/ioregisterdriver.c
 librtemscpu_a_SOURCES += sapi/src/iounregisterdriver.c
 librtemscpu_a_SOURCES += sapi/src/iowrite.c
 librtemscpu_a_SOURCES += sapi/src/panic.c
-librtemscpu_a_SOURCES += sapi/src/posixapi.c
 librtemscpu_a_SOURCES += sapi/src/profilingiterate.c
 librtemscpu_a_SOURCES += sapi/src/profilingreportxml.c
 librtemscpu_a_SOURCES += sapi/src/rbheap.c
diff --git a/cpukit/include/rtems/posix/posixapi.h 
b/cpukit/include/rtems/posix/posixapi.h
index fc669afb45..122dd644e6 100644
--- a/cpukit/include/rtems/posix/posixapi.h
+++ b/cpukit/include/rtems/posix/posixapi.h
@@ -37,24 +37,6 @@
  */
 /**@{**/
 
-/**
- * @brief POSIX API Fatal domains.
- */
-typedef enum {
-  POSIX_FD_PTHREAD,  /**< A pthread thread error. */
-  POSIX_FD_PTHREAD_ONCE  /**< A pthread once error. */
-} POSIX_Fatal_domain;
-
-/**
- * @brief POSIX API Fatal error.
- *
- * A common method of rasing a POSIX API fatal error.
- *
- * @param[in] domain The POSIX error domain.
- * @param[in] eno The error number as defined in errno.h.
- */
-void _POSIX_Fatal_error( POSIX_Fatal_domain domain, int eno );
-
 extern const int _POSIX_Get_by_name_error_table[ 3 ];
 
 RTEMS_INLINE_ROUTINE int _POSIX_Get_by_name_error(
diff --git a/cpukit/sapi/src/posixapi.c b/cpukit/sapi/src/posixapi.c
deleted file mode 100644
index 2cd771c56b..00
--- a/cpukit/sapi/src/posixapi.c
+++ /dev/null
@@ -1,179 +0,0 @@
-/**
- * @file
- *
- * @brief Initialize POSIX API
- *
- * @ingroup ClassicRTEMS
- */
-
-/*
- *  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.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-
-#ifdef HEAP_PROTECTION
-RTEMS_STATIC_ASSERT(
-  POSIX_SEMAPHORE_MAGIC != HEAP_BEGIN_PROTECTOR_0,
-  POSIX_SEMAPHORE_MAGIC_0
-);
-RTEMS_STATIC_ASSERT(
-  POSIX_SEMAPHORE_MAGIC != HEAP_BEGIN_PROTECTOR_1,
-  POSIX_SEMAPHORE_MAGIC_1
-);
-RTEMS_STATIC_ASSERT(
-  POSIX_SEMAPHORE_MAGIC != HEAP_END_PROTECTOR_0,
-  POSIX_SEMAPHORE_MAGIC_2
-);
-RTEMS_STATIC_ASSERT(
-  POSIX_SEMAPHORE_MAGIC != HEAP_END_PROTECTOR_1,
-  POSIX_SEMAPHORE_MAGIC_3
-);
-RTEMS_STATIC_ASSERT(
-  POSIX_SEMAPHORE_MAGIC != HEAP_FREE_PATTERN,
-  POSIX_SEMAPHORE_MAGIC_4
-);
-RTEMS_STATIC_ASSERT(
-  POSIX_BARRIER_MAGIC != HEAP_BEGIN_PROTECTOR_0,
-  POSIX_BARRIER_MAGIC_0
-);
-RTEMS_STATIC_ASSERT(
-  POSIX_BARRIER_MAGIC != HEAP_BEGIN_PROTECTOR_1,
-  POSIX_BARRIER_MAGIC_1
-);
-RTEMS_STATIC_ASSERT(
-  POSIX_BARRIER_MAGIC != HEAP_END_PROTECTOR_0,
-  POSIX_BARRIER_MAGIC_2
-);
-RTEMS_STATIC_ASSERT(
-  POSIX_BARRIER_MAGIC != HEAP_END_PROTECTOR_1,
-  POSIX_BARRIER_MAGIC_3
-);
-RTEMS_STATIC_ASSERT(
-  POSIX_BARRIER_MAGIC != HEAP_FREE_PATTERN,
-  POSIX_BARRIER_MAGIC_4
-);
-RTEMS_STATIC_ASSERT(
-  POSIX_RWLOCK_MAGIC != HEAP_BEGIN_PROTECTOR_0,
-  POSIX_RWLOCK_MAGIC_0
-);
-RTEMS_STATIC_ASSERT(
-  POSIX_RWLOCK_MAGIC != HEAP_BEGIN_PROTECTOR_1,
-  POSIX_RWLOCK_MAGIC_1
-);
-RTEMS_STATIC_ASSERT(
-  POSIX_RWLOCK_MAGIC != HEAP_END_PROTECTOR_0,
-  POSIX_RWLOCK_MAGIC_2
-);
-RTEMS_STATIC_ASSERT(
-  POSIX_RWLOCK_MAGIC != HEAP_END_PROTECTOR_1,
-  POSIX_RWLOCK_MAGIC_3
-);
-RTEMS_STATIC_ASSERT(
-  POSIX_RWLOCK_MAGIC != HEAP_FREE_PATTERN,
-  POSIX_RWLOCK_MAGIC_4
-);
-RTEMS_STATIC_ASSERT(
-  POSIX_CONDITION_VARIABLES_MAGIC != HEAP_BEGIN_PROTECTOR_0,
-  POSIX_CONDITION_VARIABLES_MAGIC_0
-);
-RTEMS_STATIC_ASSERT(
-  POSIX_CONDITION_VARIABLES_MAGIC != HEAP_BEGIN_PROTECTOR_1,
-  POSIX_CONDITION_VARIABLES_MAGIC_1
-);
-RTEMS_STATIC_ASSERT(
-  POSIX_CONDITION_VARIABLES_MAGIC != HEAP_END_PROTECTOR_0,
-  POSIX_CONDITION_VARIABLES_MAGIC_2
-);
-RTEMS_STATIC_ASSERT(
-  POSIX_CONDITION_VARIABLES_MAGIC != HEAP_END_PROTECTOR_1,
-  POSIX_CONDITION_VARIABLES_MAGIC_3
-);
-RTEMS_STATIC_ASSERT(
-  POSIX_CONDITION_VARIABLES_MAGIC != HEAP_FREE_PATTERN,
-  POSIX_CONDITION_VARIABLES_MAGIC_4
-);
-RTEMS_STATIC_ASSERT(
-  POSIX_MUTEX_MAGIC != HEAP_BEGIN_PROTECTOR_0,
-  POSIX_MUTEX_MAGIC_0
-);
-RTEMS_STATIC_ASSERT(
-  POSIX_MUTEX_MAGIC != HEAP_BEGIN_PROTECTOR_1,
-  POSIX_MUTEX_MAGIC_1
-);
-RTEMS_STATIC_ASSERT(
-  POSIX_MUTEX_MAGIC != HEAP_END_PROTECTOR_0,
-  POSIX_MUTEX_MAGIC_2
-);
-RTEMS_STATIC_ASSERT(
-  POSIX_MUTEX_MAGIC != HEAP_END_PROTECTOR_1,
-  POSIX_MUTEX_MAGIC_3
-);
-RTEMS_STATIC_ASSERT(
-  POSIX_MUTEX_MAGIC != HEAP_FREE_PATTERN,
-  POSIX_MUTEX_MAGIC_4
-);
-#endif
-
-RTEMS

[PATCH 01/12] score: Delete empty pheapinit.c

2020-12-01 Thread Sebastian Huber
---
 cpukit/Makefile.am|  1 -
 cpukit/score/src/pheapinit.c  | 24 
 spec/build/cpukit/librtemscpu.yml |  1 -
 3 files changed, 26 deletions(-)
 delete mode 100644 cpukit/score/src/pheapinit.c

diff --git a/cpukit/Makefile.am b/cpukit/Makefile.am
index b7435d7eb6..1e711a90da 100644
--- a/cpukit/Makefile.am
+++ b/cpukit/Makefile.am
@@ -948,7 +948,6 @@ librtemscpu_a_SOURCES += score/src/pheapgetsize.c
 librtemscpu_a_SOURCES += score/src/pheapgetblocksize.c
 librtemscpu_a_SOURCES += score/src/pheapgetfreeinfo.c
 librtemscpu_a_SOURCES += score/src/pheapgetinfo.c
-librtemscpu_a_SOURCES += score/src/pheapinit.c
 librtemscpu_a_SOURCES += score/src/pheapresizeblock.c
 librtemscpu_a_SOURCES += score/src/pheapwalk.c
 librtemscpu_a_SOURCES += score/src/pheapiterate.c
diff --git a/cpukit/score/src/pheapinit.c b/cpukit/score/src/pheapinit.c
deleted file mode 100644
index 48dc71e17f..00
--- a/cpukit/score/src/pheapinit.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/**
- * @file
- *
- * @ingroup RTEMSScoreProtHeap
- *
- * @brief Protected Heap Handler implementation.
- */
-
-/*
- *  COPYRIGHT (c) 1989-2007.
- *  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.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include 
-
-
diff --git a/spec/build/cpukit/librtemscpu.yml 
b/spec/build/cpukit/librtemscpu.yml
index 797aff6322..a31ead1fdb 100644
--- a/spec/build/cpukit/librtemscpu.yml
+++ b/spec/build/cpukit/librtemscpu.yml
@@ -1460,7 +1460,6 @@ source:
 - cpukit/score/src/pheapgetfreeinfo.c
 - cpukit/score/src/pheapgetinfo.c
 - cpukit/score/src/pheapgetsize.c
-- cpukit/score/src/pheapinit.c
 - cpukit/score/src/pheapiterate.c
 - cpukit/score/src/pheapresizeblock.c
 - cpukit/score/src/pheapwalk.c
-- 
2.26.2

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


[PATCH 05/12] rtems: Add

2020-12-01 Thread Sebastian Huber
---
 bsps/arm/altera-cyclone-v/rtc/rtc.c|  1 +
 bsps/arm/lpc32xx/rtc/rtc-config.c  |  1 +
 bsps/bfin/shared/dev/rtc.c |  1 +
 bsps/shared/dev/rtc/ds1375.c   |  1 +
 bsps/shared/dev/rtc/rtc-support.c  |  1 +
 cpukit/include/rtems/rtems/clock.h | 30 ---
 cpukit/include/rtems/rtems/clockimpl.h | 73 ++
 cpukit/rtems/src/clockset.c|  2 +-
 cpukit/rtems/src/clocktodtoseconds.c   |  2 +-
 cpukit/rtems/src/clocktodvalidate.c|  2 +-
 cpukit/rtems/src/taskwakewhen.c|  2 +-
 cpukit/rtems/src/timercreate.c |  2 +-
 testsuites/sptests/sp2038/init.c   |  1 +
 13 files changed, 84 insertions(+), 35 deletions(-)
 create mode 100644 cpukit/include/rtems/rtems/clockimpl.h

diff --git a/bsps/arm/altera-cyclone-v/rtc/rtc.c 
b/bsps/arm/altera-cyclone-v/rtc/rtc.c
index d30bfec2df..3e8c68e789 100644
--- a/bsps/arm/altera-cyclone-v/rtc/rtc.c
+++ b/bsps/arm/altera-cyclone-v/rtc/rtc.c
@@ -33,6 +33,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
diff --git a/bsps/arm/lpc32xx/rtc/rtc-config.c 
b/bsps/arm/lpc32xx/rtc/rtc-config.c
index 52e2daf4c2..268c2b66bd 100644
--- a/bsps/arm/lpc32xx/rtc/rtc-config.c
+++ b/bsps/arm/lpc32xx/rtc/rtc-config.c
@@ -24,6 +24,7 @@
 
 #include 
 #include 
+#include 
 
 #include 
 
diff --git a/bsps/bfin/shared/dev/rtc.c b/bsps/bfin/shared/dev/rtc.c
index fa340a3c45..cb15ca0607 100644
--- a/bsps/bfin/shared/dev/rtc.c
+++ b/bsps/bfin/shared/dev/rtc.c
@@ -20,6 +20,7 @@
 #include 
 #include 
 #include 
+#include 
 
 /* The following are inside RTEMS -- we are violating visibility!!!
  * Perhaps an API could be defined to get days since 1 Jan.
diff --git a/bsps/shared/dev/rtc/ds1375.c b/bsps/shared/dev/rtc/ds1375.c
index 4a23a0044b..e51744355f 100644
--- a/bsps/shared/dev/rtc/ds1375.c
+++ b/bsps/shared/dev/rtc/ds1375.c
@@ -54,6 +54,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 
diff --git a/bsps/shared/dev/rtc/rtc-support.c 
b/bsps/shared/dev/rtc/rtc-support.c
index 560d2ea33f..765bfe1d6b 100644
--- a/bsps/shared/dev/rtc/rtc-support.c
+++ b/bsps/shared/dev/rtc/rtc-support.c
@@ -12,6 +12,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #include 
 
diff --git a/cpukit/include/rtems/rtems/clock.h 
b/cpukit/include/rtems/rtems/clock.h
index 7f2887fb03..c3eea7d254 100644
--- a/cpukit/include/rtems/rtems/clock.h
+++ b/cpukit/include/rtems/rtems/clock.h
@@ -267,36 +267,6 @@ time_t rtems_clock_get_uptime_seconds( void );
  */
 uint64_t rtems_clock_get_uptime_nanoseconds( void );
 
-/**
- * @brief TOD Validate
- *
- * This support function returns true if @a the_tod contains
- * a valid time of day, and false otherwise.
- *
- * @param[in] the_tod is the TOD structure to validate
- *
- * @retval This method returns true if the TOD is valid and false otherwise.
- *
- * @note This routine only works for leap-years through 2099.
- */
-bool _TOD_Validate(
-  const rtems_time_of_day *the_tod
-);
-
-/**
- * @brief TOD to Seconds
- *
- * This function returns the number seconds between the epoch and @a the_tod.
- *
- * @param[in] the_tod is the TOD structure to convert to seconds
- *
- * @retval This method returns the number of seconds since epoch represented
- * by @a the_tod
- */
-Watchdog_Interval _TOD_To_seconds(
-  const rtems_time_of_day *the_tod
-);
-
 #ifdef __cplusplus
 }
 #endif
diff --git a/cpukit/include/rtems/rtems/clockimpl.h 
b/cpukit/include/rtems/rtems/clockimpl.h
new file mode 100644
index 00..eff1231fb2
--- /dev/null
+++ b/cpukit/include/rtems/rtems/clockimpl.h
@@ -0,0 +1,73 @@
+/**
+ * @file
+ *
+ * @ingroup RTEMSImplClassicClock
+ *
+ * @brief This header file provides interfaces used by the Clock Manager
+ *   implementation.
+ */
+
+/* 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_CLOCKIMPL_H
+#define _RTEMS_RTEMS_CLOCKIMPL_H
+
+#include 
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @defgroup RTEMSImplClassicClock Clock Manager
+ *
+ * @ingroup RTEMSImplClassic
+ *
+ * @brief This group contains the Clock Manager implementation.
+ *
+ * @{
+ */
+
+/**
+ * @brief TOD Validate
+ *
+ * This support function returns true if @a the_tod contains
+ * a valid time of day, and false otherwise.
+ *
+ * @param[in] the_tod is the TOD structure to validate
+ *
+ * @retval This method returns true if the TOD is valid and false otherwise.
+ *
+ * @note This routine only works for leap-years through 2099.
+ */
+bool _TOD_Validate(
+  const rtems_time_of_day *the_tod
+);
+
+/**
+ * @brief TOD to Seconds
+ *
+ * This function returns the number seconds between the epoch and @a the_tod.
+ *
+ * @param[in] the_tod is the TOD structure to convert to seconds
+ *
+ * @retval This method returns the number of seconds 

[PATCH 03/12] rtems: Simplify includes in version.c

2020-12-01 Thread Sebastian Huber
---
 cpukit/sapi/src/version.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/cpukit/sapi/src/version.c b/cpukit/sapi/src/version.c
index 1afaf7fad9..9c10ff3823 100644
--- a/cpukit/sapi/src/version.c
+++ b/cpukit/sapi/src/version.c
@@ -24,8 +24,8 @@
 #include "config.h"
 #endif
 
-#include 
 #include 
+#include 
 
 #include "version-vc-key.h"
 
-- 
2.26.2

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


[PATCH 00/12] Canonicalize @defgroup and @file comments

2020-12-01 Thread Sebastian Huber
This patch set removes some unused stuff and cleans up some minor things
which I noticed during the review.

The main part is a canonicalization of the @defgroup and @file comments
in rtems, sapi, and score. This was a quite mechancial and boaring task
which coveres more than 600 files. 

Sebastian Huber (12):
  score: Delete empty pheapinit.c
  posix: Delete unused _POSIX_Fatal_error()
  rtems: Simplify includes in version.c
  shell: Rename "IO" typedef for better Doxygen
  rtems: Add 
  rtems: Canonicalize implementation Doxygen groups
  score: Canonicalize Doxygen groups
  score: Always define RTEMSScoreMRSP group
  rtems: Canonicalize Doxygen @file comments
  score: Canonicalize Doxygen @file comments
  sapi: Canonicalize @defgroup and @file comments
  config: Canonicalize @defgroup and @file comments

 bsps/arm/altera-cyclone-v/rtc/rtc.c   |   1 +
 bsps/arm/lpc32xx/rtc/rtc-config.c |   1 +
 bsps/bfin/shared/dev/rtc.c|   1 +
 bsps/shared/dev/rtc/ds1375.c  |   1 +
 bsps/shared/dev/rtc/rtc-support.c |   1 +
 cpukit/Makefile.am|   2 -
 cpukit/doxygen.h  |   8 -
 cpukit/include/rtems/chain.h  |  12 +-
 cpukit/include/rtems/confdefs.h   |  17 +-
 cpukit/include/rtems/confdefs/bdbuf.h |   5 +-
 cpukit/include/rtems/confdefs/bsp.h   |   5 +-
 cpukit/include/rtems/confdefs/clock.h |   5 +-
 cpukit/include/rtems/confdefs/console.h   |   5 +-
 cpukit/include/rtems/confdefs/extensions.h|   5 +-
 cpukit/include/rtems/confdefs/inittask.h  |   5 +-
 cpukit/include/rtems/confdefs/initthread.h|   5 +-
 cpukit/include/rtems/confdefs/iodrivers.h |   5 +-
 cpukit/include/rtems/confdefs/libio.h |   5 +-
 cpukit/include/rtems/confdefs/libpci.h|   5 +-
 cpukit/include/rtems/confdefs/malloc.h|   5 +-
 cpukit/include/rtems/confdefs/mpci.h  |   5 +-
 cpukit/include/rtems/confdefs/newlib.h|   5 +-
 .../include/rtems/confdefs/objectsclassic.h   |   5 +-
 cpukit/include/rtems/confdefs/objectsposix.h  |   5 +-
 cpukit/include/rtems/confdefs/obsolete.h  |   5 +-
 cpukit/include/rtems/confdefs/percpu.h|   5 +-
 cpukit/include/rtems/confdefs/scheduler.h |   5 +-
 cpukit/include/rtems/confdefs/threads.h   |   5 +-
 cpukit/include/rtems/confdefs/unlimited.h |   5 +-
 cpukit/include/rtems/confdefs/wkspace.h   |   5 +-
 .../include/rtems/confdefs/wkspacesupport.h   |   5 +-
 cpukit/include/rtems/counter.h|   4 +-
 cpukit/include/rtems/extension.h  |  10 +-
 cpukit/include/rtems/extensiondata.h  |   7 +-
 cpukit/include/rtems/extensionimpl.h  |   6 +-
 cpukit/include/rtems/ioimpl.h |  17 +-
 cpukit/include/rtems/posix/posixapi.h |  18 --
 cpukit/include/rtems/profiling.h  |   6 +-
 cpukit/include/rtems/rbheap.h |  11 +-
 cpukit/include/rtems/rbtree.h |  14 +-
 cpukit/include/rtems/rtems/asrdata.h  |   8 +-
 cpukit/include/rtems/rtems/asrimpl.h  |  10 +-
 cpukit/include/rtems/rtems/attrimpl.h |  10 +-
 cpukit/include/rtems/rtems/barrierdata.h  |   7 +-
 cpukit/include/rtems/rtems/barrierimpl.h  |  13 +-
 cpukit/include/rtems/rtems/clock.h|  30 ---
 cpukit/include/rtems/rtems/clockimpl.h|  73 +++
 cpukit/include/rtems/rtems/dpmemdata.h|   8 +-
 cpukit/include/rtems/rtems/dpmemimpl.h|   9 +-
 cpukit/include/rtems/rtems/eventdata.h|   9 +-
 cpukit/include/rtems/rtems/eventimpl.h|   9 +-
 cpukit/include/rtems/rtems/eventmp.h  |  20 +-
 cpukit/include/rtems/rtems/messagedata.h  |   7 +-
 cpukit/include/rtems/rtems/messageimpl.h  |  13 +-
 cpukit/include/rtems/rtems/modesimpl.h|   9 +-
 cpukit/include/rtems/rtems/mp.h   |   7 +-
 cpukit/include/rtems/rtems/msgmp.h|  18 +-
 cpukit/include/rtems/rtems/objectimpl.h   |   9 +-
 cpukit/include/rtems/rtems/optionsimpl.h  |   9 +-
 cpukit/include/rtems/rtems/partdata.h |   8 +-
 cpukit/include/rtems/rtems/partimpl.h |  10 +-
 cpukit/include/rtems/rtems/partmp.h   |  18 +-
 cpukit/include/rtems/rtems/ratemondata.h  |   7 +-
 cpukit/include/rtems/rtems/ratemonimpl.h  |   9 +-
 cpukit/include/rtems/rtems/regiondata.h   |   7 +-
 cpukit/include/rtems/rtems/regionimpl.h   |   9 +-
 cpukit/include/rtems/rtems/semdata.h  |   7 +-
 cpukit/include/rtems/rtems/semimpl.h  |   9 +-
 cpukit/include/rtems/rtems/semmp.h|  18 +-
 cpukit/include/rtems/rtems/signalimpl.h   |  12 +-
 cpukit/include/rtems/rtems/signalmp.h |  18 +-
 cpukit/include/rtems/rtems/statusimpl.h   |  10 +-
 cpukit/include/rtems/rtems/taskmp.h   |  18 +-
 cpukit/include/rtems/rtems/tasksdata.h|   9 +-
 cpukit/include/rtems/rtems/tasksimpl.

[PATCH 08/12] score: Always define RTEMSScoreMRSP group

2020-12-01 Thread Sebastian Huber
This fixes a Doxygen warning.
---
 cpukit/include/rtems/score/mrsp.h | 9 -
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/cpukit/include/rtems/score/mrsp.h 
b/cpukit/include/rtems/score/mrsp.h
index e42c3a400c..678a678b14 100644
--- a/cpukit/include/rtems/score/mrsp.h
+++ b/cpukit/include/rtems/score/mrsp.h
@@ -24,9 +24,6 @@
 #define _RTEMS_SCORE_MRSP_H
 
 #include 
-
-#if defined(RTEMS_SMP)
-
 #include 
 
 #ifdef __cplusplus
@@ -57,6 +54,8 @@ extern "C" {
  * @{
  */
 
+#if defined(RTEMS_SMP)
+
 /**
  * @brief MrsP control block.
  */
@@ -77,12 +76,12 @@ typedef struct {
   Priority_Control ceiling_priorities[ RTEMS_ZERO_LENGTH_ARRAY ];
 } MRSP_Control;
 
+#endif /* RTEMS_SMP */
+
 /** @} */
 
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */
 
-#endif /* RTEMS_SMP */
-
 #endif /* _RTEMS_SCORE_MRSP_H */
-- 
2.26.2

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


[PATCH 06/12] rtems: Canonicalize implementation Doxygen groups

2020-12-01 Thread Sebastian Huber
Rename Classic API top-level group from Classic to RTEMSImplClassic.
Use RTEMSImplClassic as a prefix for the subgroups.  Change the group
names to be in line with the API group names.  Use common phrases for
the group brief descriptions.

Update #3706.
---
 cpukit/doxygen.h |  8 
 cpukit/include/rtems/extensiondata.h |  4 ++--
 cpukit/include/rtems/extensionimpl.h |  6 --
 cpukit/include/rtems/rtems/asrdata.h |  4 ++--
 cpukit/include/rtems/rtems/asrimpl.h |  7 +--
 cpukit/include/rtems/rtems/attrimpl.h|  7 +--
 cpukit/include/rtems/rtems/barrierdata.h |  4 ++--
 cpukit/include/rtems/rtems/barrierimpl.h | 10 ++
 cpukit/include/rtems/rtems/dpmemdata.h   |  4 ++--
 cpukit/include/rtems/rtems/dpmemimpl.h   |  6 --
 cpukit/include/rtems/rtems/eventdata.h   |  4 ++--
 cpukit/include/rtems/rtems/eventimpl.h   |  6 --
 cpukit/include/rtems/rtems/eventmp.h | 16 ++--
 cpukit/include/rtems/rtems/messagedata.h |  2 +-
 cpukit/include/rtems/rtems/messageimpl.h | 10 ++
 cpukit/include/rtems/rtems/modesimpl.h   |  6 --
 cpukit/include/rtems/rtems/msgmp.h   | 14 +-
 cpukit/include/rtems/rtems/objectimpl.h  |  6 --
 cpukit/include/rtems/rtems/optionsimpl.h |  6 --
 cpukit/include/rtems/rtems/partdata.h|  4 ++--
 cpukit/include/rtems/rtems/partimpl.h|  6 --
 cpukit/include/rtems/rtems/partmp.h  | 14 +-
 cpukit/include/rtems/rtems/ratemondata.h |  4 ++--
 cpukit/include/rtems/rtems/ratemonimpl.h |  6 --
 cpukit/include/rtems/rtems/regiondata.h  |  4 ++--
 cpukit/include/rtems/rtems/regionimpl.h  |  6 --
 cpukit/include/rtems/rtems/semdata.h |  4 ++--
 cpukit/include/rtems/rtems/semimpl.h |  6 --
 cpukit/include/rtems/rtems/semmp.h   | 14 --
 cpukit/include/rtems/rtems/signalimpl.h  |  9 ++---
 cpukit/include/rtems/rtems/signalmp.h| 14 --
 cpukit/include/rtems/rtems/statusimpl.h  |  7 +--
 cpukit/include/rtems/rtems/taskmp.h  | 14 --
 cpukit/include/rtems/rtems/tasksdata.h   |  4 ++--
 cpukit/include/rtems/rtems/tasksimpl.h   |  6 --
 cpukit/include/rtems/rtems/timerdata.h   |  4 ++--
 cpukit/include/rtems/rtems/timerimpl.h   |  6 --
 cpukit/include/rtems/rtems/types.h   | 10 ++
 cpukit/rtems/src/barrierident.c  |  2 +-
 cpukit/rtems/src/dpmemident.c|  2 +-
 cpukit/rtems/src/eventmp.c   |  2 +-
 cpukit/rtems/src/eventreceive.c  |  2 +-
 cpukit/rtems/src/eventseize.c|  2 +-
 cpukit/rtems/src/eventsend.c |  2 +-
 cpukit/rtems/src/eventsurrender.c|  2 +-
 cpukit/rtems/src/msgqcreate.c|  2 +-
 cpukit/rtems/src/msgqident.c |  2 +-
 cpukit/rtems/src/part.c  |  2 +-
 cpukit/rtems/src/partcreate.c|  2 +-
 cpukit/rtems/src/partdelete.c|  2 +-
 cpukit/rtems/src/partgetbuffer.c |  2 +-
 cpukit/rtems/src/partident.c |  2 +-
 cpukit/rtems/src/partreturnbuffer.c  |  2 +-
 cpukit/rtems/src/ratemonident.c  |  2 +-
 cpukit/rtems/src/regionident.c   |  2 +-
 cpukit/rtems/src/rtemsmaxprio.c  |  2 +-
 cpukit/rtems/src/rtemsnametoid.c |  2 +-
 cpukit/rtems/src/semident.c  |  2 +-
 cpukit/rtems/src/systemeventreceive.c|  2 +-
 cpukit/rtems/src/systemeventsend.c   |  2 +-
 cpukit/rtems/src/taskident.c |  2 +-
 cpukit/rtems/src/timerident.c|  2 +-
 cpukit/sapi/src/extensionident.c |  2 +-
 63 files changed, 191 insertions(+), 131 deletions(-)

diff --git a/cpukit/doxygen.h b/cpukit/doxygen.h
index 0428424476..2d9cf29c13 100644
--- a/cpukit/doxygen.h
+++ b/cpukit/doxygen.h
@@ -1,11 +1,3 @@
-/**
- * @defgroup RTEMSImplClassic Classic
- * 
- * @ingroup RTEMSImpl
- *
- * @brief Classic
- */
-
 /**
  * @defgroup RTEMSAPIIO IO
  *
diff --git a/cpukit/include/rtems/extensiondata.h 
b/cpukit/include/rtems/extensiondata.h
index 61319d5668..63614329af 100644
--- a/cpukit/include/rtems/extensiondata.h
+++ b/cpukit/include/rtems/extensiondata.h
@@ -1,7 +1,7 @@
 /**
  * @file
  *
- * @ingroup ClassicUserExtensionsImpl
+ * @ingroup RTEMSImplClassicUserExt
  *
  * @brief Classic User Extensions Data Structures
  */
@@ -27,7 +27,7 @@ extern "C" {
 #endif
 
 /**
- * @addtogroup ClassicUserExtensionsImpl
+ * @addtogroup RTEMSImplClassicUserExt
  *
  * @{
  */
diff --git a/cpukit/include/rtems/extensionimpl.h 
b/cpukit/include/rtems/extensionimpl.h
index ed9da1fa28..502aac87ca 100644
--- a/cpukit/include/rtems/extensionimpl.h
+++ b/cpukit/include/rtems/extensionimpl.h
@@ -1,7 +1,7 @@
 /**
  * @file
  *
- * @ingroup ClassicUserExtensionsImpl
+ * @ingroup RTEMSImplClassicUserExt
  *
  * @brief Classic User Extensions Implementation
  */
@@ -26,10 +26,12 @@ extern "C" {
 #endif
 
 /**
- * @defgroup ClassicUserExtensionsImpl User Extensions Implementation
+ * @defgroup RTEMSImplC

[PATCH 07/12] score: Canonicalize Doxygen groups

2020-12-01 Thread Sebastian Huber
Adjust group identifier and names to be in line with a common pattern.
Use common phrases for the group brief descriptions.

Update #3706.
---
 cpukit/include/rtems/score/address.h  |  2 +-
 cpukit/include/rtems/score/apimutex.h |  5 -
 cpukit/include/rtems/score/assert.h   |  2 +-
 cpukit/include/rtems/score/atomic.h   |  2 +-
 cpukit/include/rtems/score/chain.h|  2 +-
 cpukit/include/rtems/score/context.h  |  2 +-
 cpukit/include/rtems/score/copyrt.h   |  7 ---
 cpukit/include/rtems/score/corebarrier.h  |  2 +-
 cpukit/include/rtems/score/coremsg.h  |  2 +-
 cpukit/include/rtems/score/coremutex.h|  2 +-
 cpukit/include/rtems/score/corerwlockimpl.h   | 11 ++-
 cpukit/include/rtems/score/coresem.h  |  2 +-
 cpukit/include/rtems/score/cpustdatomic.h |  7 ---
 cpukit/include/rtems/score/freechain.h|  8 
 cpukit/include/rtems/score/heap.h |  2 +-
 cpukit/include/rtems/score/interr.h   |  5 ++---
 cpukit/include/rtems/score/io.h   | 12 
 cpukit/include/rtems/score/isr.h  |  5 ++---
 cpukit/include/rtems/score/isrlock.h  | 10 ++
 cpukit/include/rtems/score/memory.h   |  6 --
 cpukit/include/rtems/score/mpci.h |  2 +-
 cpukit/include/rtems/score/mppkt.h|  7 ---
 cpukit/include/rtems/score/mrsp.h |  5 +++--
 cpukit/include/rtems/score/object.h   | 13 ++---
 cpukit/include/rtems/score/objectmp.h |  7 ---
 cpukit/include/rtems/score/onceimpl.h |  5 +++--
 cpukit/include/rtems/score/percpu.h   | 14 --
 cpukit/include/rtems/score/percpudata.h   | 15 ---
 cpukit/include/rtems/score/priority.h |  2 +-
 cpukit/include/rtems/score/prioritybitmap.h   |  4 ++--
 cpukit/include/rtems/score/prioritybitmapimpl.h   |  2 +-
 cpukit/include/rtems/score/processormask.h|  2 +-
 cpukit/include/rtems/score/profiling.h|  2 +-
 cpukit/include/rtems/score/protectedheap.h|  2 +-
 cpukit/include/rtems/score/rbtree.h   |  2 +-
 cpukit/include/rtems/score/schedulercbs.h |  5 +++--
 cpukit/include/rtems/score/scheduleredf.h |  2 +-
 cpukit/include/rtems/score/scheduleredfsmp.h  |  5 +++--
 cpukit/include/rtems/score/schedulerimpl.h|  6 --
 cpukit/include/rtems/score/schedulerpriority.h|  3 ++-
 .../rtems/score/schedulerpriorityaffinitysmp.h|  3 ++-
 cpukit/include/rtems/score/schedulerprioritysmp.h |  2 +-
 cpukit/include/rtems/score/schedulersimple.h  |  2 +-
 cpukit/include/rtems/score/schedulersimplesmp.h   |  2 +-
 cpukit/include/rtems/score/schedulersmp.h |  2 +-
 cpukit/include/rtems/score/schedulerstrongapa.h   |  2 +-
 cpukit/include/rtems/score/smp.h  |  4 +---
 cpukit/include/rtems/score/smpbarrier.h   |  6 --
 cpukit/include/rtems/score/smpimpl.h  |  2 +-
 cpukit/include/rtems/score/smplock.h  |  5 +++--
 cpukit/include/rtems/score/stack.h|  2 +-
 cpukit/include/rtems/score/states.h   |  2 +-
 cpukit/include/rtems/score/sysstate.h |  2 +-
 cpukit/include/rtems/score/thread.h   |  2 +-
 cpukit/include/rtems/score/threadmp.h |  7 ---
 cpukit/include/rtems/score/threadq.h  |  2 +-
 cpukit/include/rtems/score/timecounter.h  |  2 +-
 cpukit/include/rtems/score/timespec.h |  8 +++-
 cpukit/include/rtems/score/timestamp.h|  6 +++---
 cpukit/include/rtems/score/timestampimpl.h|  2 +-
 cpukit/include/rtems/score/tls.h  |  3 ++-
 cpukit/include/rtems/score/todimpl.h  |  5 +++--
 cpukit/include/rtems/score/userext.h  | 12 +++-
 cpukit/include/rtems/score/watchdog.h |  2 +-
 cpukit/include/rtems/score/wkspace.h  |  6 --
 65 files changed, 166 insertions(+), 128 deletions(-)

diff --git a/cpukit/include/rtems/score/address.h 
b/cpukit/include/rtems/score/address.h
index 2735db5ca3..f93fcde7db 100644
--- a/cpukit/include/rtems/score/address.h
+++ b/cpukit/include/rtems/score/address.h
@@ -32,7 +32,7 @@ extern "C" {
  *
  * @ingroup RTEMSScore
  *
- * @brief Support for Address Manipulation
+ * @brief This group contains the Address Handler implementation.
  *
  * This handler encapsulates functionality which abstracts address
  * manipulation in a portable manner.
diff --git a/cpukit/include/rtems/score/apimutex.h 
b/cpukit/include/rtems/score/apimutex.h
index e118269c3f..20d57b669f 100644
--- a/cpukit/include/rtems/score/apimutex.h
+++ b/cpukit/include/rtems/score/apimutex.h
@@ -27,7 +27,10 @@
  *
  * @ingroup RTEMSScore
  *
- * @brief Provides routines to ensur

[PATCH 12/12] config: Canonicalize @defgroup and @file comments

2020-12-01 Thread Sebastian Huber
Adjust group identifier and names to be in line with a common pattern.
Use common phrases for the group and file brief descriptions.

Update #3706.
---
 cpukit/include/rtems/confdefs.h| 17 -
 cpukit/include/rtems/confdefs/bdbuf.h  |  5 +++--
 cpukit/include/rtems/confdefs/bsp.h|  5 +++--
 cpukit/include/rtems/confdefs/clock.h  |  5 +++--
 cpukit/include/rtems/confdefs/console.h|  5 +++--
 cpukit/include/rtems/confdefs/extensions.h |  5 +++--
 cpukit/include/rtems/confdefs/inittask.h   |  5 +++--
 cpukit/include/rtems/confdefs/initthread.h |  5 +++--
 cpukit/include/rtems/confdefs/iodrivers.h  |  5 +++--
 cpukit/include/rtems/confdefs/libio.h  |  5 +++--
 cpukit/include/rtems/confdefs/libpci.h |  5 +++--
 cpukit/include/rtems/confdefs/malloc.h |  5 +++--
 cpukit/include/rtems/confdefs/mpci.h   |  5 +++--
 cpukit/include/rtems/confdefs/newlib.h |  5 +++--
 cpukit/include/rtems/confdefs/objectsclassic.h |  5 +++--
 cpukit/include/rtems/confdefs/objectsposix.h   |  5 +++--
 cpukit/include/rtems/confdefs/obsolete.h   |  5 +++--
 cpukit/include/rtems/confdefs/percpu.h |  5 +++--
 cpukit/include/rtems/confdefs/scheduler.h  |  5 +++--
 cpukit/include/rtems/confdefs/threads.h|  5 +++--
 cpukit/include/rtems/confdefs/unlimited.h  |  5 +++--
 cpukit/include/rtems/confdefs/wkspace.h|  5 +++--
 cpukit/include/rtems/confdefs/wkspacesupport.h |  5 +++--
 cpukit/include/rtems/extensiondata.h   |  3 ++-
 cpukit/include/rtems/rtems/asrdata.h   |  4 +++-
 cpukit/include/rtems/rtems/barrierdata.h   |  3 ++-
 cpukit/include/rtems/rtems/dpmemdata.h |  4 +++-
 cpukit/include/rtems/rtems/eventdata.h |  5 +++--
 cpukit/include/rtems/rtems/messagedata.h   |  5 +++--
 cpukit/include/rtems/rtems/partdata.h  |  4 ++--
 cpukit/include/rtems/rtems/ratemondata.h   |  3 ++-
 cpukit/include/rtems/rtems/regiondata.h|  3 ++-
 cpukit/include/rtems/rtems/semdata.h   |  3 ++-
 cpukit/include/rtems/rtems/tasksdata.h |  5 -
 cpukit/include/rtems/rtems/timerdata.h |  3 ++-
 cpukit/include/rtems/score/objectdata.h|  5 -
 cpukit/include/rtems/score/threadidledata.h|  4 +++-
 cpukit/include/rtems/score/userextdata.h   |  5 -
 cpukit/include/rtems/score/wkspacedata.h   |  5 +++--
 39 files changed, 118 insertions(+), 73 deletions(-)

diff --git a/cpukit/include/rtems/confdefs.h b/cpukit/include/rtems/confdefs.h
index fb4a7b9800..e6dd3d70ee 100644
--- a/cpukit/include/rtems/confdefs.h
+++ b/cpukit/include/rtems/confdefs.h
@@ -3,14 +3,15 @@
 /**
  * @file
  *
- * @ingroup RTEMSApplicationConfiguration
+ * @ingroup RTEMSApplConfig
  *
- * @brief Evaluate Configuration Options
+ * @brief This header file evaluates the application configuration options
+ *   defined by the application.
  *
  * This header file includes a couple of header files which evaluate the
  * configuration options specified by the application.  The macros and defines
- * used to configure the system are documented in the Configuring a System
- * chapter of the Classic API User's Guide.
+ * used to configure the system are documented in @ref RTEMSApplConfig and the
+ * "Configuring a System" chapter of the "RTEMS Classic API User's Guide".
  */
 
 /*
@@ -43,14 +44,12 @@
 #define __CONFIGURATION_TEMPLATE_h
 
 /**
- * @defgroup RTEMSApplicationConfiguration Application Configuration
+ * @defgroup RTEMSImplApplConfig Application Configuration
  *
  * @ingroup RTEMSImpl
  *
- * @brief Evaluation of Application Configuration Options
- *
- * This group contains header files which evaluate the configuration options
- * specified by the application.
+ * @brief The application configuration defines system parameters according to
+ *   configuration options (defines) provided by the application.
  *
  * @{
  */
diff --git a/cpukit/include/rtems/confdefs/bdbuf.h 
b/cpukit/include/rtems/confdefs/bdbuf.h
index bef1cb8072..79e991f6d9 100644
--- a/cpukit/include/rtems/confdefs/bdbuf.h
+++ b/cpukit/include/rtems/confdefs/bdbuf.h
@@ -3,9 +3,10 @@
 /**
  * @file
  *
- * @ingroup RTEMSApplicationConfiguration
+ * @ingroup RTEMSImplApplConfig
  *
- * @brief Evaluate Block Device Cache Configuration Options
+ * @brief This header file evaluates configuration options related to the block
+ *   device cache configuration.
  *
  * It defines
  *
diff --git a/cpukit/include/rtems/confdefs/bsp.h 
b/cpukit/include/rtems/confdefs/bsp.h
index a9a32348d6..03ad9bf55f 100644
--- a/cpukit/include/rtems/confdefs/bsp.h
+++ b/cpukit/include/rtems/confdefs/bsp.h
@@ -3,9 +3,10 @@
 /**
  * @file
  *
- * @ingroup RTEMSApplicationConfiguration
+ * @ingroup RTEMSImplApplConfig
  *
- * @brief Evaluate BSP Related Configuration Options
+ * @brief This header file evaluates configuration options related to the BSP
+ *   configuration.
  */
 
 /*
diff --git 

[PATCH 11/12] sapi: Canonicalize @defgroup and @file comments

2020-12-01 Thread Sebastian Huber
Adjust group identifier and names to be in line with a common pattern.
Use common phrases for the group and file brief descriptions.

Update #3706.
---
 cpukit/include/rtems/chain.h | 12 
 cpukit/include/rtems/counter.h   |  4 ++--
 cpukit/include/rtems/extension.h | 10 +-
 cpukit/include/rtems/ioimpl.h| 17 -
 cpukit/include/rtems/profiling.h |  6 +++---
 cpukit/include/rtems/rbheap.h| 11 +++
 cpukit/include/rtems/rbtree.h| 14 ++
 cpukit/include/rtems/timecounter.h   |  9 ++---
 cpukit/include/rtems/version.h   |  7 +--
 cpukit/sapi/src/chainappendnotify.c  |  5 +++--
 cpukit/sapi/src/chaingetnotify.c |  5 +++--
 cpukit/sapi/src/chaingetwait.c   |  5 +++--
 cpukit/sapi/src/chainprependnotify.c |  5 +++--
 cpukit/sapi/src/chainprotected.c | 12 
 cpukit/sapi/src/delaynano.c  |  9 +
 cpukit/sapi/src/delayticks.c |  9 +
 cpukit/sapi/src/exinit.c |  7 +--
 cpukit/sapi/src/exshutdown.c |  9 +
 cpukit/sapi/src/extension.c  |  5 +++--
 cpukit/sapi/src/extensioncreate.c|  6 --
 cpukit/sapi/src/extensiondelete.c|  5 +++--
 cpukit/sapi/src/extensionident.c |  3 ++-
 cpukit/sapi/src/fatal.c  |  6 +++---
 cpukit/sapi/src/fatalsrctext.c   |  5 +++--
 cpukit/sapi/src/getconfigmax.c   | 22 --
 cpukit/sapi/src/getcopyrightnotice.c |  5 +++--
 cpukit/sapi/src/getversionstring.c   |  5 +++--
 cpukit/sapi/src/interrtext.c |  5 +++--
 cpukit/sapi/src/io.c |  6 --
 cpukit/sapi/src/ioclose.c|  4 ++--
 cpukit/sapi/src/iocontrol.c  |  4 ++--
 cpukit/sapi/src/iodefault.c  |  6 +++---
 cpukit/sapi/src/ioinitialize.c   |  4 ++--
 cpukit/sapi/src/ioopen.c |  6 ++
 cpukit/sapi/src/ioread.c |  4 ++--
 cpukit/sapi/src/ioregisterdriver.c   |  5 +++--
 cpukit/sapi/src/iounregisterdriver.c |  5 +++--
 cpukit/sapi/src/iowrite.c|  4 ++--
 cpukit/sapi/src/panic.c  |  9 +
 cpukit/sapi/src/profilingiterate.c   |  9 +
 cpukit/sapi/src/profilingreportxml.c |  9 +
 cpukit/sapi/src/rbheap.c |  7 +--
 cpukit/sapi/src/rbtree.c |  8 +---
 cpukit/sapi/src/rbtreefind.c |  5 +++--
 cpukit/sapi/src/sapirbtreeinsert.c   |  9 +
 cpukit/sapi/src/sysinitverbose.c | 13 +++--
 cpukit/sapi/src/tcsimpleinstall.c|  9 +
 cpukit/sapi/src/version.c| 18 +++---
 48 files changed, 266 insertions(+), 101 deletions(-)

diff --git a/cpukit/include/rtems/chain.h b/cpukit/include/rtems/chain.h
index 25ea0b23b7..03177834a9 100644
--- a/cpukit/include/rtems/chain.h
+++ b/cpukit/include/rtems/chain.h
@@ -1,7 +1,9 @@
 /**
  * @file
  * 
- * @brief Chain API
+ * @ingroup RTEMSAPIClassicChains
+ *
+ * @brief This header file provides the Chains API.
  */
 
 /*
@@ -26,13 +28,15 @@ extern "C" {
 #endif
 
 /**
- * @defgroup ClassicChains Chains
+ * @defgroup RTEMSAPIClassicChains Chains
  *
  * @ingroup RTEMSAPIClassic
  *
- * @brief Chain API
+ * @brief The chain container provides data structures and directives to manage
+ *   user-defined data structures in doubly-linked lists.
+ *
+ * @{
  */
-/**@{**/
 
 typedef Chain_Node rtems_chain_node;
 
diff --git a/cpukit/include/rtems/counter.h b/cpukit/include/rtems/counter.h
index caf0491d9c..5bf7736e4a 100644
--- a/cpukit/include/rtems/counter.h
+++ b/cpukit/include/rtems/counter.h
@@ -30,9 +30,9 @@ extern "C" {
 #endif /* __cplusplus */
 
 /**
- * @defgroup ClassicCounter Free-Running Counter and Busy Wait Delay
+ * @defgroup RTEMSAPICounter Free-Running Counter and Busy Wait Delay
  *
- * @ingroup RTEMSAPIClassic
+ * @ingroup RTEMSAPI
  *
  * @brief Free-running counter and busy wait delay functions.
  *
diff --git a/cpukit/include/rtems/extension.h b/cpukit/include/rtems/extension.h
index 59d4839bf4..6f97ebe24c 100644
--- a/cpukit/include/rtems/extension.h
+++ b/cpukit/include/rtems/extension.h
@@ -1,7 +1,7 @@
 /**
  * @file
  *
- * @ingroup ClassicUserExtensions
+ * @ingroup RTEMSImplClassicUserExt
  *
  * @brief User Extensions API.
  */
@@ -27,7 +27,7 @@ extern "C" {
 #endif
 
 /**
- * @defgroup ClassicUserExtensions User Extensions
+ * @defgroup RTEMSAPIClassicUserExt User Extensions Manager
  *
  * @ingroup RTEMSAPIClassic
  *
@@ -35,7 +35,7 @@ extern "C" {
  * augment the executive by allowing them to supply extension routines which
  * are invoked at critical system events.
  *
- * @section ClassicUserExtensionsSets Extension Sets
+ * @section RTEMSAPIClassicUserExtSets Extension Sets
  *
  * An @ref User_extensions_Table "extension set" is defined as a set of
  * routines which are invoked at each of the critical system events at which
@@ -75,7 +75,7 @@ extern "C" {
  * Extension switches do not effect the context switch overhead if no sw

[PATCH 09/12] rtems: Canonicalize Doxygen @file comments

2020-12-01 Thread Sebastian Huber
Use common phrases for the file brief descriptions.

Update #3706.
---
 cpukit/include/rtems/rtems/asrimpl.h|  3 ++-
 cpukit/include/rtems/rtems/attrimpl.h   |  3 ++-
 cpukit/include/rtems/rtems/barrierimpl.h|  3 ++-
 cpukit/include/rtems/rtems/clockimpl.h  |  4 ++--
 cpukit/include/rtems/rtems/dpmemimpl.h  |  3 ++-
 cpukit/include/rtems/rtems/eventimpl.h  |  3 ++-
 cpukit/include/rtems/rtems/eventmp.h|  4 ++--
 cpukit/include/rtems/rtems/messageimpl.h|  3 ++-
 cpukit/include/rtems/rtems/modesimpl.h  |  3 ++-
 cpukit/include/rtems/rtems/mp.h |  7 +++
 cpukit/include/rtems/rtems/msgmp.h  |  6 ++
 cpukit/include/rtems/rtems/objectimpl.h |  3 ++-
 cpukit/include/rtems/rtems/optionsimpl.h|  3 ++-
 cpukit/include/rtems/rtems/partimpl.h   |  4 ++--
 cpukit/include/rtems/rtems/partmp.h |  6 ++
 cpukit/include/rtems/rtems/ratemonimpl.h|  3 ++-
 cpukit/include/rtems/rtems/regionimpl.h |  3 ++-
 cpukit/include/rtems/rtems/semimpl.h|  3 ++-
 cpukit/include/rtems/rtems/semmp.h  |  4 ++--
 cpukit/include/rtems/rtems/signalimpl.h |  3 ++-
 cpukit/include/rtems/rtems/signalmp.h   |  4 ++--
 cpukit/include/rtems/rtems/statusimpl.h |  3 ++-
 cpukit/include/rtems/rtems/taskmp.h |  4 ++--
 cpukit/include/rtems/rtems/tasksimpl.h  |  3 ++-
 cpukit/include/rtems/rtems/timerimpl.h  |  3 ++-
 cpukit/rtems/src/barrier.c  |  5 +++--
 cpukit/rtems/src/barriercreate.c|  5 +++--
 cpukit/rtems/src/barrierdelete.c|  8 +---
 cpukit/rtems/src/barrierident.c |  3 ++-
 cpukit/rtems/src/barrierrelease.c   |  5 +++--
 cpukit/rtems/src/barrierwait.c  |  8 +---
 cpukit/rtems/src/clockgetsecondssinceepoch.c|  8 +---
 cpukit/rtems/src/clockgettickspersecond.c   |  8 +---
 cpukit/rtems/src/clockgettod.c  |  5 +++--
 cpukit/rtems/src/clockgettodtimeval.c   |  8 +---
 cpukit/rtems/src/clockgetuptime.c   |  5 +++--
 cpukit/rtems/src/clockgetuptimenanoseconds.c|  5 +++--
 cpukit/rtems/src/clockgetuptimeseconds.c|  5 -
 cpukit/rtems/src/clockgetuptimetimeval.c|  8 +---
 cpukit/rtems/src/clockset.c |  8 +---
 cpukit/rtems/src/clocktick.c|  8 +---
 cpukit/rtems/src/clocktodtoseconds.c|  8 +---
 cpukit/rtems/src/clocktodvalidate.c |  8 +---
 cpukit/rtems/src/dpmem.c|  5 +++--
 cpukit/rtems/src/dpmemcreate.c  |  9 ++---
 cpukit/rtems/src/dpmemdelete.c  |  8 +---
 cpukit/rtems/src/dpmemexternal2internal.c   |  8 +---
 cpukit/rtems/src/dpmemident.c   |  3 ++-
 cpukit/rtems/src/dpmeminternal2external.c   |  8 +---
 cpukit/rtems/src/eventmp.c  |  4 ++--
 cpukit/rtems/src/eventseize.c   |  3 ++-
 cpukit/rtems/src/getapiconfig.c |  9 +
 cpukit/rtems/src/intrbody.c |  9 ++---
 cpukit/rtems/src/intrcatch.c|  8 +---
 cpukit/rtems/src/modes.c| 10 ++
 cpukit/rtems/src/mp.c   |  8 +---
 cpukit/rtems/src/msg.c  |  5 +++--
 cpukit/rtems/src/msgmp.c|  5 +++--
 cpukit/rtems/src/msgqbroadcast.c|  8 +---
 cpukit/rtems/src/msgqconstruct.c|  8 +---
 cpukit/rtems/src/msgqdelete.c   |  8 +---
 cpukit/rtems/src/msgqflush.c|  5 +++--
 cpukit/rtems/src/msgqgetnumberpending.c |  5 +++--
 cpukit/rtems/src/msgqident.c|  3 ++-
 cpukit/rtems/src/msgqreceive.c  |  8 +---
 cpukit/rtems/src/msgqsend.c |  5 +++--
 cpukit/rtems/src/msgqurgent.c   |  8 +---
 cpukit/rtems/src/part.c |  4 ++--
 cpukit/rtems/src/partcreate.c   |  2 +-
 cpukit/rtems/src/partmp.c   |  6 +++---
 cpukit/rtems/src/ratemon.c  |  5 +++--
 cpukit/rtems/src/ratemoncancel.c|  8 +---
 cpukit/rtems/src/ratemoncreate.c|  5 +++--
 cpukit/rtems/src/ratemondelete.c|  8 +---
 cpukit/rtems/src/ratemongetstatistics.c |  8 +---
 cpukit/rtems/src/ratemongetstatus.c |  8 +---
 cpukit/rtems/src/ratemonident.c |  3 ++-
 cpukit/rtems/src/ratemonperiod.c|  8 +---
 cpukit/rtems/src/ratemonreportstatistics.c  |  8 +---
 cpukit/rtems/src/ratemonresetall.c  |  5 +++--
 cpukit/rtems/src/ratemonresetstatistics.c   |  5 +++--
 cpukit/rtems/src/rat

[PATCH rtems-docs v2] shell: Document i2c and spi commands.

2020-12-01 Thread Christian Mauderer
---
 shell/general_commands.rst | 215 +
 1 file changed, 215 insertions(+)

diff --git a/shell/general_commands.rst b/shell/general_commands.rst
index c74ae45..5913f54 100644
--- a/shell/general_commands.rst
+++ b/shell/general_commands.rst
@@ -44,6 +44,14 @@ The RTEMS shell has the following general commands:
 
 - rtc_ - RTC driver configuration
 
+- i2cdetect_ - detect I2C devices
+
+- i2cget_ - get data from an EEPROM like I2C device
+
+- i2cset_ - write data to an EEPROM like I2C device
+
+- spi_ - read and write simple data to an SPI bus
+
 - exit_ - alias for logoff command
 
 Commands
@@ -1179,6 +1187,213 @@ CONFIGURATION:
 
\clearpage
 
+.. _i2cdetect:
+
+i2cdetect - detect I2C devices
+--
+.. index:: i2cdetect
+
+SYNOPSYS:
+.. code-block:: shell
+
+i2cdetect 
+
+.. index:: CONFIGURE_SHELL_NO_COMMAND_I2CDETECT
+.. index:: CONFIGURE_SHELL_COMMAND_I2CDETECT
+
+DESCRIPTION:
+Tries to detect I2C devices connected to the I2C bus. To do that, write
+requests with the length of 0 are used.
+
+WARNING: This might confuse some I2C devices, so please use it only if you
+know what you are doing.
+
+The command supports a ``-h`` option to get usage details.
+
+The command works only with I2C bus drivers that use the Linux-Style API.
+
+EXAMPLES:
+The following is an example where two I2C devices are detected. One on 0x1a
+and one on 0x1f:
+
+.. code-block:: shell
+
+SHLL [/] # i2cdetect /dev/i2c1
+x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF
+0x -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+1x  -- -- -- -- -- -- -- -- -- -- 1a -- -- -- -- 1f
+2x  -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+3x  -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+4x  -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+5x  -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+6x  -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+7x  -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+SHLL [/] #
+
+CONFIGURATION:
+This command is included in the default shell command set.  When building a
+custom command set, define ``CONFIGURE_SHELL_COMMAND_I2CDETECT`` to have
+this command included.
+
+This command can be excluded from the shell command set by defining
+``CONFIGURE_SHELL_NO_COMMAND_I2CDETECT`` when all shell commands have been
+configured.
+
+.. raw:: latex
+
+   \clearpage
+
+.. _i2cget:
+
+i2cget - get data from an EEPROM like I2C device
+
+.. index:: i2cget
+
+SYNOPSYS:
+.. code-block:: shell
+
+i2cget[]
+
+.. index:: CONFIGURE_SHELL_NO_COMMAND_I2CGET
+.. index:: CONFIGURE_SHELL_COMMAND_I2CGET
+
+DESCRIPTION:
+Get one or multiple bytes from an EEPROM like I2C device. If  is
+not given the command defaults to reading one byte. If you read multiple
+bytes ( given and bigger then 1) the read will be done in one
+single request. An auto incrementing register pointer is assumed.
+
+The command supports a ``-h`` option to get usage details.
+
+All numbers can be entered in decimal form (normal digits; e.g. 16),
+hexadecimal form (with 0x prefix; e.g. 0x10) or octal form (with a leading
+zero; e.g. 020).
+
+The command works only with I2C bus drivers that use the Linux-Style API.
+
+EXAMPLES:
+The following is an example how to read a one byte register at 0xd from the
+I2C device at 0x1f:
+
+.. code-block:: shell
+
+SHLL [/] # i2cget /dev/i2c1 0x1f 0x0d
+0xc7 
+SHLL [/] #
+
+CONFIGURATION:
+This command is included in the default shell command set.  When building a
+custom command set, define ``CONFIGURE_SHELL_COMMAND_I2CGET`` to have this
+command included.
+
+This command can be excluded from the shell command set by defining
+``CONFIGURE_SHELL_NO_COMMAND_I2CGET`` when all shell commands have been
+configured.
+
+.. raw:: latex
+
+   \clearpage
+
+.. _i2cset:
+
+i2cset - write data to an EEPROM like I2C device
+
+.. index:: i2cset
+
+SYNOPSYS:
+.. code-block:: shell
+
+i2cset [ [...]]
+
+.. index:: CONFIGURE_SHELL_NO_COMMAND_I2CSET
+.. index:: CONFIGURE_SHELL_COMMAND_I2CSET
+
+DESCRIPTION:
+Write one or multiple bytes to an EEPROM like I2C device. If you write
+multiple bytes (multiple  given) the write will be done in one 
single
+request. An auto incrementing register pointer is assumed.
+
+The command supports a ``-h`` option to get usage details.
+
+All numbers can be entered in decimal form (normal digits; e.g. 16),
+hexadecimal form (with 0x prefix; e.g. 0x10) or octal form (with a leading
+zero; e.g. 020).
+
+The command works only with I2C bus drivers that use the Linux-Style API.
+
+EXAMPLES:
+The following is an example how to write one byte

Re: [PATCH rtems-docs] shell: Document i2c and spi commands.

2020-12-01 Thread Peter Dufault


> On Nov 30, 2020, at 18:07 , Gedare Bloom  wrote:
> 
> Aren't nearly all shell commands at least a bit unsafe? And we don't
> have a lot of commands that have to be explicitly turned on if
> CONFIGURE_SHELL_COMMANDS_ALL is already set. I found only networking
> commands.
> 
> That seems accurate, you can go ahead with the approach you took then. It 
> seems to be mostly consistent with the state of practice.
> 
> 

I was surprised at the need to enable each command instead of adding all I2C 
commands with a single enable.  I don't think code overhead is an issue.  If 
you're testing I2C from the shell I'm not sure when it's important to have only 
e.g. i2cget but not i2cset.

Peter
-
Peter Dufault
HD Associates, Inc.  Software and System Engineering

This email is delivered through the public internet using protocols subject to 
interception and tampering.



signature.asc
Description: Message signed with OpenPGP
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [PATCH rtems-docs] shell: Document i2c and spi commands.

2020-12-01 Thread Christian MAUDERER

Am 01.12.20 um 13:45 schrieb Peter Dufault:




On Nov 30, 2020, at 18:07 , Gedare Bloom  wrote:

Aren't nearly all shell commands at least a bit unsafe? And we don't
have a lot of commands that have to be explicitly turned on if
CONFIGURE_SHELL_COMMANDS_ALL is already set. I found only networking
commands.

That seems accurate, you can go ahead with the approach you took then. It seems 
to be mostly consistent with the state of practice.




I was surprised at the need to enable each command instead of adding all I2C 
commands with a single enable.  I don't think code overhead is an issue.  If 
you're testing I2C from the shell I'm not sure when it's important to have only 
e.g. i2cget but not i2cset.


It's like with a lot of other commands in RTEMS. You can have all or you 
enable them one by one. I had a look and we have (for example) also no 
group for file commands like rm, mv, cp, ls.


The only group I found (beneath CONFIGURE_SHELL_COMMANDS_ALL) is the 
CONFIGURE_SHELL_COMMANDS_ALL_NETWORKING. I'm not sure whether it would 
be a good idea to start a new group now.


Best regards

Christian



Peter
-
Peter Dufault
HD Associates, Inc.  Software and System Engineering

This email is delivered through the public internet using protocols subject to 
interception and tampering.


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



--

embedded brains GmbH
Herr Christian MAUDERER
Dornierstr. 4
82178 Puchheim
Germany
email: christian.maude...@embedded-brains.de
phone: +49-89-18 94 741 - 18
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


[PATCH] c-user: Clarify rtems_partition_create()

2020-12-01 Thread Sebastian Huber
The rtems_partition_create() returns an object identifier and not just a
partition identifier.

Update #3993.
---
 c-user/partition/directives.rst | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/c-user/partition/directives.rst b/c-user/partition/directives.rst
index 1a76ad0..9579877 100644
--- a/c-user/partition/directives.rst
+++ b/c-user/partition/directives.rst
@@ -81,9 +81,8 @@ Creates a partition.
 This directive creates a partition of fixed size buffers from a physically
 contiguous memory space which starts at ``starting_address`` and is ``length``
 bytes in size.  Each allocated buffer is to be of ``buffer_size`` in bytes.
-The assigned partition identifier is returned in ``id``.  This partition
-identifier is used to access the partition with other partition related
-directives.
+The assigned object identifier is returned in ``id``.  This identifier is used
+to access the partition with other partition related directives.
 
 The **attribute set** specified in ``attribute_set`` is built through a
 *bitwise or* of the attribute constants described below.  Attributes not
-- 
2.26.2

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


[PATCH] c-user: Clarify rtems_partition_delete()

2020-12-01 Thread Sebastian Huber
Move the PTCB sentence to the notes to be in line with
rtems_partition_create().

Update #3993.
---
 c-user/partition/directives.rst | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/c-user/partition/directives.rst b/c-user/partition/directives.rst
index 9579877..8bccb09 100644
--- a/c-user/partition/directives.rst
+++ b/c-user/partition/directives.rst
@@ -292,8 +292,7 @@ Deletes the partition.
 .. rubric:: DESCRIPTION:
 
 This directive deletes the partition specified by the ``id`` parameter.  The
-partition cannot be deleted if any of its buffers are still allocated.  The
-:term:`PTCB` for the deleted partition is reclaimed by RTEMS.
+partition cannot be deleted if any of its buffers are still allocated.
 
 .. rubric:: RETURN VALUES:
 
@@ -314,6 +313,8 @@ partition cannot be deleted if any of its buffers are still 
allocated.  The
 This directive may cause the calling task to be preempted due to an obtain and
 release of the object allocator mutex.
 
+The :term:`PTCB` for the deleted partition is reclaimed by RTEMS.
+
 The calling task does not have to be the task that created the partition. Any
 local task that knows the partition identifier can delete the partition.
 
-- 
2.26.2

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


Re: qemu5 and zynq console input

2020-12-01 Thread Gedare Bloom
On Mon, Nov 30, 2020 at 4:59 PM Chris Johns  wrote:

> On 1/12/20 10:25 am, Joel Sherrill wrote:
> > Does this combination work for anyone? I am suspicious that this broke
> with the
> > qemu version bump in the RSB.
>
> I did not test input. The tester does not have the ability to test input.
>
> Would something like https://pexpect.readthedocs.io/en/stable/ work? It
could be an interesting project to get even one input-related test running
under automation.


> 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

Re: qemu5 and zynq console input

2020-12-01 Thread Joel Sherrill
On Tue, Dec 1, 2020, 10:30 AM Gedare Bloom  wrote:

>
>
> On Mon, Nov 30, 2020 at 4:59 PM Chris Johns  wrote:
>
>> On 1/12/20 10:25 am, Joel Sherrill wrote:
>> > Does this combination work for anyone? I am suspicious that this broke
>> with the
>> > qemu version bump in the RSB.
>>
>> I did not test input. The tester does not have the ability to test input.
>>
>> Would something like https://pexpect.readthedocs.io/en/stable/ work? It
> could be an interesting project to get even one input-related test running
> under automation.
>

This might be a good GSoC project. Hard part might be associating test
scripts with executables.

What if we want more than one? Seems likely if the shell is going to be
exercised thoroughly.

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

Re: rtems waf, examples, and RTEMS_POSIX_API

2020-12-01 Thread Gedare Bloom
On Tue, Dec 1, 2020 at 12:33 AM Sebastian Huber <
sebastian.hu...@embedded-brains.de> wrote:

> On 01/12/2020 07:49, Chris Johns wrote:
>
> > On 1/12/20 5:31 pm, Sebastian Huber wrote:
> >> On 30/11/2020 21:43, Joel Sherrill wrote:
> >>> On Mon, Nov 30, 2020 at 1:06 PM Sebastian Huber
> >>>  >>> > wrote:
> >>>  On 30/11/2020 20:00, Joel Sherrill wrote:
> >>>  > Applications can use something like:
> >>>  >
> >>>  > #if __RTEMS_MAJOR__ >= 5
> >>>  >
> >>>  > POSIX threads are always enabled ...
> >>>  >
> >>>  > #endif
> >>>  >
> >>>  > This is a change to our public API that was completely
> unnecessary.
> >>>  >
> >>>  > We do not require changes to application code when it can be
> >>>  avoided.
> >>>  If you enable the POSIX API, then you don't have to change
> >>>  anything in
> >>>  your application. You can use now more of the POSIX API without
> >>>  having
> >>>  to enable it explicitly. It is up to you if you want to rely on
> >>>  this or not.
> >>>
> >>>
> >>> What about rtems-libbsd? It fails to build because of this flag having
> changed
> >>> meaning.
> >>>
> >>> I think we broke a contract on what the meaning of a published
> >>> feature macro means.
> >> Sorry, I still don't understand the problem. You always had to build
> libbsd with
> >> a BSP which was configured with --enable-posix.
> >>
> >> Since now more POSIX APIs are enabled by default, we may remove this
> check from
> >> libbsd. However, this requires someone with enough time to implement
> and test this.
> > The semantics of what is being offered by the option has changed. Yes
> adding the
> > option does make things build but it is now inconsistent in what it
> covers and
> > how it is being detected and used. Papering over this only delays the
> point in
> > time we need to address it
>
> What is offered by default changed. What didn't change is the meaning of
> RTEMS_POSIX_API define. What you want to do now is making use of the
> additional POSIX features enabled by default in RTEMS 5 and later. This
> is the problem we have to address. I suggested to use the
> __RTEMS_MAJOR__ to figure out what is enabled by default.
>
>
IMO: the meaning of RTEMS_POSIX_API remains consistent. It means RTEMS was
./configure'd with --enable-posix if true, otherwise it is false.

What that _implies_ to the application does change, but I am opposed to
taking any action to modify the behavior we have. The concerns noted by
Joel and the advice by Sebastian should be codified in documentation to
clarify the situation for users who care about what POSIX features are
always available vs conditioned on RTEMS_POSIX_API, and how the set of
default features may change over time. What really matters is whether we
want to ensure forward compatibility for the existing defaults. I think
that makes sense.

As I understand the historical introduction of the option was to keep the
code size small, and there are still POSIX features that can pull in excess
code that may be hard to 'prune' (by LTO), then it makes sense to keep the
feature option.


> >
> > Can the enable-posix option be removed and always enabled? We minimise
> the
> > executable size automatically. Always being enabled means the option in
> the
> > header is always true and any dependent package or build system can
> happily
> > continue and be updated when it suites.
> I didn't remove the RTEMS_POSIX_API completely, since the signals have
> an impact on the size of the Thread_Control and may pull in some extra
> code which is probably very seldom used (e.g. the sporadic server
> stuff). I tried hard to make sure that the additional POSIX features
> enabled now by default don't add an overhead to applications which don't
> use them. An increased Thread_Control size affects all applications.
> >
> > Failing that can the default always be true?
> Yes, this would be an option, but if we do this, then we make a change
> which impacts existing application configurations.
>
> --
> embedded brains GmbH
> Herr Sebastian HUBER
> Dornierstr. 4
> 82178 Puchheim
> Germany
> email: sebastian.hub...@embedded-brains.de
> phone: +49-89-18 94 741 - 16
> fax:   +49-89-18 94 741 - 08
>
> Registergericht: Amtsgericht München
> Registernummer: HRB 157899
> Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
> Unsere Datenschutzerklärung finden Sie hier:
> https://embedded-brains.de/datenschutzerklaerung/
>
> ___
> 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: qemu5 and zynq console input

2020-12-01 Thread Gedare Bloom
On Tue, Dec 1, 2020 at 9:37 AM Joel Sherrill  wrote:

>
>
> On Tue, Dec 1, 2020, 10:30 AM Gedare Bloom  wrote:
>
>>
>>
>> On Mon, Nov 30, 2020 at 4:59 PM Chris Johns  wrote:
>>
>>> On 1/12/20 10:25 am, Joel Sherrill wrote:
>>> > Does this combination work for anyone? I am suspicious that this broke
>>> with the
>>> > qemu version bump in the RSB.
>>>
>>> I did not test input. The tester does not have the ability to test input.
>>>
>>> Would something like https://pexpect.readthedocs.io/en/stable/ work? It
>> could be an interesting project to get even one input-related test running
>> under automation.
>>
>
> This might be a good GSoC project. Hard part might be associating test
> scripts with executables.
>
> What if we want more than one? Seems likely if the shell is going to be
> exercised thoroughly.
>

Induction. :)


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

Re: [PATCH 08/12] score: Always define RTEMSScoreMRSP group

2020-12-01 Thread Gedare Bloom
I never realized the Doxygen picks up the CPP feature checks. That's really
interesting.

On Tue, Dec 1, 2020 at 1:10 AM Sebastian Huber <
sebastian.hu...@embedded-brains.de> wrote:

> This fixes a Doxygen warning.
> ---
>  cpukit/include/rtems/score/mrsp.h | 9 -
>  1 file changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/cpukit/include/rtems/score/mrsp.h
> b/cpukit/include/rtems/score/mrsp.h
> index e42c3a400c..678a678b14 100644
> --- a/cpukit/include/rtems/score/mrsp.h
> +++ b/cpukit/include/rtems/score/mrsp.h
> @@ -24,9 +24,6 @@
>  #define _RTEMS_SCORE_MRSP_H
>
>  #include 
> -
> -#if defined(RTEMS_SMP)
> -
>  #include 
>
>  #ifdef __cplusplus
> @@ -57,6 +54,8 @@ extern "C" {
>   * @{
>   */
>
> +#if defined(RTEMS_SMP)
> +
>  /**
>   * @brief MrsP control block.
>   */
> @@ -77,12 +76,12 @@ typedef struct {
>Priority_Control ceiling_priorities[ RTEMS_ZERO_LENGTH_ARRAY ];
>  } MRSP_Control;
>
> +#endif /* RTEMS_SMP */
> +
>  /** @} */
>
>  #ifdef __cplusplus
>  }
>  #endif /* __cplusplus */
>
> -#endif /* RTEMS_SMP */
> -
>  #endif /* _RTEMS_SCORE_MRSP_H */
> --
> 2.26.2
>
> ___
> 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: [PATCH 00/12] Canonicalize @defgroup and @file comments

2020-12-01 Thread Gedare Bloom
I spot-checked, the set looks fine to me (and appears quite boring indeed).

On Tue, Dec 1, 2020 at 1:10 AM Sebastian Huber <
sebastian.hu...@embedded-brains.de> wrote:

> This patch set removes some unused stuff and cleans up some minor things
> which I noticed during the review.
>
> The main part is a canonicalization of the @defgroup and @file comments
> in rtems, sapi, and score. This was a quite mechancial and boaring task
> which coveres more than 600 files.
>
> Sebastian Huber (12):
>   score: Delete empty pheapinit.c
>   posix: Delete unused _POSIX_Fatal_error()
>   rtems: Simplify includes in version.c
>   shell: Rename "IO" typedef for better Doxygen
>   rtems: Add 
>   rtems: Canonicalize implementation Doxygen groups
>   score: Canonicalize Doxygen groups
>   score: Always define RTEMSScoreMRSP group
>   rtems: Canonicalize Doxygen @file comments
>   score: Canonicalize Doxygen @file comments
>   sapi: Canonicalize @defgroup and @file comments
>   config: Canonicalize @defgroup and @file comments
>
>  bsps/arm/altera-cyclone-v/rtc/rtc.c   |   1 +
>  bsps/arm/lpc32xx/rtc/rtc-config.c |   1 +
>  bsps/bfin/shared/dev/rtc.c|   1 +
>  bsps/shared/dev/rtc/ds1375.c  |   1 +
>  bsps/shared/dev/rtc/rtc-support.c |   1 +
>  cpukit/Makefile.am|   2 -
>  cpukit/doxygen.h  |   8 -
>  cpukit/include/rtems/chain.h  |  12 +-
>  cpukit/include/rtems/confdefs.h   |  17 +-
>  cpukit/include/rtems/confdefs/bdbuf.h |   5 +-
>  cpukit/include/rtems/confdefs/bsp.h   |   5 +-
>  cpukit/include/rtems/confdefs/clock.h |   5 +-
>  cpukit/include/rtems/confdefs/console.h   |   5 +-
>  cpukit/include/rtems/confdefs/extensions.h|   5 +-
>  cpukit/include/rtems/confdefs/inittask.h  |   5 +-
>  cpukit/include/rtems/confdefs/initthread.h|   5 +-
>  cpukit/include/rtems/confdefs/iodrivers.h |   5 +-
>  cpukit/include/rtems/confdefs/libio.h |   5 +-
>  cpukit/include/rtems/confdefs/libpci.h|   5 +-
>  cpukit/include/rtems/confdefs/malloc.h|   5 +-
>  cpukit/include/rtems/confdefs/mpci.h  |   5 +-
>  cpukit/include/rtems/confdefs/newlib.h|   5 +-
>  .../include/rtems/confdefs/objectsclassic.h   |   5 +-
>  cpukit/include/rtems/confdefs/objectsposix.h  |   5 +-
>  cpukit/include/rtems/confdefs/obsolete.h  |   5 +-
>  cpukit/include/rtems/confdefs/percpu.h|   5 +-
>  cpukit/include/rtems/confdefs/scheduler.h |   5 +-
>  cpukit/include/rtems/confdefs/threads.h   |   5 +-
>  cpukit/include/rtems/confdefs/unlimited.h |   5 +-
>  cpukit/include/rtems/confdefs/wkspace.h   |   5 +-
>  .../include/rtems/confdefs/wkspacesupport.h   |   5 +-
>  cpukit/include/rtems/counter.h|   4 +-
>  cpukit/include/rtems/extension.h  |  10 +-
>  cpukit/include/rtems/extensiondata.h  |   7 +-
>  cpukit/include/rtems/extensionimpl.h  |   6 +-
>  cpukit/include/rtems/ioimpl.h |  17 +-
>  cpukit/include/rtems/posix/posixapi.h |  18 --
>  cpukit/include/rtems/profiling.h  |   6 +-
>  cpukit/include/rtems/rbheap.h |  11 +-
>  cpukit/include/rtems/rbtree.h |  14 +-
>  cpukit/include/rtems/rtems/asrdata.h  |   8 +-
>  cpukit/include/rtems/rtems/asrimpl.h  |  10 +-
>  cpukit/include/rtems/rtems/attrimpl.h |  10 +-
>  cpukit/include/rtems/rtems/barrierdata.h  |   7 +-
>  cpukit/include/rtems/rtems/barrierimpl.h  |  13 +-
>  cpukit/include/rtems/rtems/clock.h|  30 ---
>  cpukit/include/rtems/rtems/clockimpl.h|  73 +++
>  cpukit/include/rtems/rtems/dpmemdata.h|   8 +-
>  cpukit/include/rtems/rtems/dpmemimpl.h|   9 +-
>  cpukit/include/rtems/rtems/eventdata.h|   9 +-
>  cpukit/include/rtems/rtems/eventimpl.h|   9 +-
>  cpukit/include/rtems/rtems/eventmp.h  |  20 +-
>  cpukit/include/rtems/rtems/messagedata.h  |   7 +-
>  cpukit/include/rtems/rtems/messageimpl.h  |  13 +-
>  cpukit/include/rtems/rtems/modesimpl.h|   9 +-
>  cpukit/include/rtems/rtems/mp.h   |   7 +-
>  cpukit/include/rtems/rtems/msgmp.h|  18 +-
>  cpukit/include/rtems/rtems/objectimpl.h   |   9 +-
>  cpukit/include/rtems/rtems/optionsimpl.h  |   9 +-
>  cpukit/include/rtems/rtems/partdata.h |   8 +-
>  cpukit/include/rtems/rtems/partimpl.h |  10 +-
>  cpukit/include/rtems/rtems/partmp.h   |  18 +-
>  cpukit/include/rtems/rtems/ratemondata.h  |   7 +-
>  cpukit/include/rtems/rtems/ratemonimpl.h  |   9 +-
>  cpukit/include/rtems/rtems/regiondata.h   |   7 +-
>  cpukit/include/rtems/rtems/regionimpl.h   |   9 +-
>  cpukit/include/rtems/rtems/semdata.h  |   7 +-
>  cpukit/include/rtems/rtems/semimpl.h  |   9 +-
>  cpukit/include/rtems/rtems/

Re: [PATCH] c-user: Clarify rtems_partition_delete()

2020-12-01 Thread Gedare Bloom
ok

On Tue, Dec 1, 2020 at 8:50 AM Sebastian Huber <
sebastian.hu...@embedded-brains.de> wrote:

> Move the PTCB sentence to the notes to be in line with
> rtems_partition_create().
>
> Update #3993.
> ---
>  c-user/partition/directives.rst | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/c-user/partition/directives.rst
> b/c-user/partition/directives.rst
> index 9579877..8bccb09 100644
> --- a/c-user/partition/directives.rst
> +++ b/c-user/partition/directives.rst
> @@ -292,8 +292,7 @@ Deletes the partition.
>  .. rubric:: DESCRIPTION:
>
>  This directive deletes the partition specified by the ``id`` parameter.
> The
> -partition cannot be deleted if any of its buffers are still allocated.
> The
> -:term:`PTCB` for the deleted partition is reclaimed by RTEMS.
> +partition cannot be deleted if any of its buffers are still allocated.
>
>  .. rubric:: RETURN VALUES:
>
> @@ -314,6 +313,8 @@ partition cannot be deleted if any of its buffers are
> still allocated.  The
>  This directive may cause the calling task to be preempted due to an
> obtain and
>  release of the object allocator mutex.
>
> +The :term:`PTCB` for the deleted partition is reclaimed by RTEMS.
> +
>  The calling task does not have to be the task that created the partition.
> Any
>  local task that knows the partition identifier can delete the partition.
>
> --
> 2.26.2
>
> ___
> 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: [PATCH 08/12] score: Always define RTEMSScoreMRSP group

2020-12-01 Thread Sebastian Huber

On 01/12/2020 17:48, Gedare Bloom wrote:

I never realized the Doxygen picks up the CPP feature checks. That's 
really interesting.
Yes, and there are some configuration options which control the 
pre-processing done by Doxygen.


--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.hub...@embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/

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

[PATCH v1 2/3] bsps: Move ARM GICv2 driver to bsps/shared

2020-12-01 Thread Kinsey Moore
This moves the ARM GICv2 driver to bsps/shared to be usable by AArch64
code.
---
 ...-gicv3-aarch64.c => irq-arm-gicvx-aarch64.c} |  2 +-
 ...-gicv3-aarch32.c => irq-arm-gicvx-aarch32.c} |  2 +-
 bsps/include/dev/irq/arm-gic-irq.h  |  4 ++--
 .../irq-gic.c => shared/dev/irq/arm-gicv2.c}| 17 +++--
 bsps/shared/dev/irq/arm-gicv3.c |  2 +-
 .../lib/libbsp/arm/altera-cyclone-v/Makefile.am |  3 ++-
 c/src/lib/libbsp/arm/imx/Makefile.am|  3 ++-
 .../lib/libbsp/arm/realview-pbx-a9/Makefile.am  |  3 ++-
 c/src/lib/libbsp/arm/xen/Makefile.am|  3 ++-
 c/src/lib/libbsp/arm/xilinx-zynq/Makefile.am|  3 ++-
 c/src/lib/libbsp/arm/xilinx-zynqmp/Makefile.am  |  3 ++-
 spec/build/bsps/aarch64/a53/obj.yml |  2 +-
 .../arm/altera-cyclone-v/bspalteracyclonev.yml  |  3 ++-
 spec/build/bsps/arm/imx/bspimx.yml  |  3 ++-
 .../arm/realview-pbx-a9/bsprealviewpbxa9.yml|  3 ++-
 spec/build/bsps/arm/xen/bspxen.yml  |  3 ++-
 spec/build/bsps/arm/xilinx-zynq/obj.yml |  3 ++-
 .../bsps/arm/xilinx-zynqmp/bspxilinxzynqmp.yml  |  3 ++-
 18 files changed, 33 insertions(+), 32 deletions(-)
 rename bsps/aarch64/shared/irq/{irq-arm-gicv3-aarch64.c => 
irq-arm-gicvx-aarch64.c} (98%)
 rename bsps/arm/shared/irq/{irq-arm-gicv3-aarch32.c => 
irq-arm-gicvx-aarch32.c} (98%)
 rename bsps/{arm/shared/irq/irq-gic.c => shared/dev/irq/arm-gicv2.c} (95%)

diff --git a/bsps/aarch64/shared/irq/irq-arm-gicv3-aarch64.c 
b/bsps/aarch64/shared/irq/irq-arm-gicvx-aarch64.c
similarity index 98%
rename from bsps/aarch64/shared/irq/irq-arm-gicv3-aarch64.c
rename to bsps/aarch64/shared/irq/irq-arm-gicvx-aarch64.c
index fe74bf46bd..67839118e1 100644
--- a/bsps/aarch64/shared/irq/irq-arm-gicv3-aarch64.c
+++ b/bsps/aarch64/shared/irq/irq-arm-gicvx-aarch64.c
@@ -60,5 +60,5 @@ void arm_interrupt_facility_set_exception_handler(void)
 
 void bsp_interrupt_dispatch(void)
 {
-  gicv3_interrupt_dispatch();
+  gicvx_interrupt_dispatch();
 }
diff --git a/bsps/arm/shared/irq/irq-arm-gicv3-aarch32.c 
b/bsps/arm/shared/irq/irq-arm-gicvx-aarch32.c
similarity index 98%
rename from bsps/arm/shared/irq/irq-arm-gicv3-aarch32.c
rename to bsps/arm/shared/irq/irq-arm-gicvx-aarch32.c
index b805199ba9..b9267aecba 100644
--- a/bsps/arm/shared/irq/irq-arm-gicv3-aarch32.c
+++ b/bsps/arm/shared/irq/irq-arm-gicvx-aarch32.c
@@ -57,5 +57,5 @@ void arm_interrupt_facility_set_exception_handler(void)
 
 void bsp_interrupt_dispatch(void)
 {
-  gicv3_interrupt_dispatch();
+  gicvx_interrupt_dispatch();
 }
diff --git a/bsps/include/dev/irq/arm-gic-irq.h 
b/bsps/include/dev/irq/arm-gic-irq.h
index a97191faca..d63fce32d1 100644
--- a/bsps/include/dev/irq/arm-gic-irq.h
+++ b/bsps/include/dev/irq/arm-gic-irq.h
@@ -122,10 +122,10 @@ void arm_interrupt_facility_set_exception_handler(void);
 void arm_interrupt_handler_dispatch(rtems_vector_number vector);
 
 /**
- * This is the GICv3 interrupt dispatcher that is to be called from the
+ * This is the GICv1/GICv2/GICv3 interrupt dispatcher that is to be called 
from the
  * architecture-specific implementation of the IRQ handler.
  */
-void gicv3_interrupt_dispatch(void);
+void gicvx_interrupt_dispatch(void);
 
 static inline uint32_t arm_gic_irq_processor_count(void)
 {
diff --git a/bsps/arm/shared/irq/irq-gic.c b/bsps/shared/dev/irq/arm-gicv2.c
similarity index 95%
rename from bsps/arm/shared/irq/irq-gic.c
rename to bsps/shared/dev/irq/arm-gicv2.c
index 1a401b67b6..cba8982764 100644
--- a/bsps/arm/shared/irq/irq-gic.c
+++ b/bsps/shared/dev/irq/arm-gicv2.c
@@ -14,10 +14,6 @@
 
 #include 
 
-#include 
-
-#include 
-
 #include 
 #include 
 #include 
@@ -53,7 +49,7 @@
 #define CPUIF_ICCICR GIC_CPUIF_ICCICR_ENABLE
 #endif
 
-void bsp_interrupt_dispatch(void)
+void gicvx_interrupt_dispatch(void)
 {
   volatile gic_cpuif *cpuif = GIC_CPUIF;
   uint32_t icciar = cpuif->icciar;
@@ -61,11 +57,7 @@ void bsp_interrupt_dispatch(void)
   rtems_vector_number spurious = 1023;
 
   if (vector != spurious) {
-uint32_t psr = _ARMV4_Status_irq_enable();
-
-bsp_interrupt_handler_dispatch(vector);
-
-_ARMV4_Status_restore(psr);
+arm_interrupt_handler_dispatch(vector);
 
 cpuif->icceoir = icciar;
   }
@@ -117,10 +109,7 @@ rtems_status_code bsp_interrupt_facility_initialize(void)
   uint32_t id_count = get_id_count(dist);
   uint32_t id;
 
-  arm_cp15_set_exception_handler(
-ARM_EXCEPTION_IRQ,
-_ARMV4_Exception_interrupt
-  );
+  arm_interrupt_facility_set_exception_handler();
 
   for (id = 0; id < id_count; id += 32) {
 #ifdef BSP_ARM_GIC_ENABLE_FIQ_FOR_GROUP_0
diff --git a/bsps/shared/dev/irq/arm-gicv3.c b/bsps/shared/dev/irq/arm-gicv3.c
index ad39872eb0..da19300b15 100644
--- a/bsps/shared/dev/irq/arm-gicv3.c
+++ b/bsps/shared/dev/irq/arm-gicv3.c
@@ -134,7 +134,7 @@
 #define ARM_GIC_REDIST ((volatile gic_redist *) BSP_ARM_GIC_REDIST_BASE)
 #define ARM_GIC_SGI_PPI (((volatile gic_sgi_ppi *) 
((char*)BSP_ARM_GIC_REDIST_BASE + (1 << 16

[PATCH v1 1/3] bsps: Move zynq-uart to bsps/shared

2020-12-01 Thread Kinsey Moore
This moves the zynq-uart driver from bsps/arm/shared to bsps/shared to
accomodate use by AArch64 BSPs.
---
 bsps/arm/headers.am| 2 --
 bsps/arm/xilinx-zynq/console/console-config.c  | 2 +-
 bsps/arm/xilinx-zynq/console/console-init.c| 2 +-
 bsps/arm/xilinx-zynq/console/debug-console.c   | 2 +-
 bsps/arm/xilinx-zynq/include/bsp.h | 2 +-
 bsps/arm/xilinx-zynq/start/bspreset.c  | 2 +-
 bsps/arm/xilinx-zynqmp/console/console-config.c| 2 +-
 bsps/headers.am| 2 ++
 .../include/bsp => include/dev/serial}/zynq-uart-regs.h| 0
 bsps/{arm/include/bsp => include/dev/serial}/zynq-uart.h   | 7 +++
 bsps/{arm/shared => shared/dev}/serial/zynq-uart-polled.c  | 4 ++--
 bsps/{arm/shared => shared/dev}/serial/zynq-uart.c | 4 ++--
 c/src/lib/libbsp/arm/xilinx-zynq/Makefile.am   | 4 ++--
 c/src/lib/libbsp/arm/xilinx-zynqmp/Makefile.am | 4 ++--
 spec/build/bsps/arm/grp.yml| 2 --
 spec/build/bsps/arm/xilinx-zynq/obj.yml| 2 --
 spec/build/bsps/arm/xilinx-zynqmp/bspxilinxzynqmp.yml  | 2 --
 spec/build/bsps/obj.yml| 4 
 18 files changed, 27 insertions(+), 22 deletions(-)
 rename bsps/{arm/include/bsp => include/dev/serial}/zynq-uart-regs.h (100%)
 rename bsps/{arm/include/bsp => include/dev/serial}/zynq-uart.h (93%)
 rename bsps/{arm/shared => shared/dev}/serial/zynq-uart-polled.c (98%)
 rename bsps/{arm/shared => shared/dev}/serial/zynq-uart.c (98%)

diff --git a/bsps/arm/headers.am b/bsps/arm/headers.am
index bff9a16fc8..a4d6dfa09e 100644
--- a/bsps/arm/headers.am
+++ b/bsps/arm/headers.am
@@ -31,8 +31,6 @@ include_bsp_HEADERS += 
../../../../../bsps/arm/include/bsp/lpc-i2s.h
 include_bsp_HEADERS += ../../../../../bsps/arm/include/bsp/lpc-lcd.h
 include_bsp_HEADERS += ../../../../../bsps/arm/include/bsp/lpc-timer.h
 include_bsp_HEADERS += ../../../../../bsps/arm/include/bsp/start.h
-include_bsp_HEADERS += ../../../../../bsps/arm/include/bsp/zynq-uart-regs.h
-include_bsp_HEADERS += ../../../../../bsps/arm/include/bsp/zynq-uart.h
 
 include_libcpudir = $(includedir)/libcpu
 include_libcpu_HEADERS =
diff --git a/bsps/arm/xilinx-zynq/console/console-config.c 
b/bsps/arm/xilinx-zynq/console/console-config.c
index 7e28716bbe..0581247a2d 100644
--- a/bsps/arm/xilinx-zynq/console/console-config.c
+++ b/bsps/arm/xilinx-zynq/console/console-config.c
@@ -26,7 +26,7 @@
  */
 
 #include 
-#include 
+#include 
 
 zynq_uart_context zynq_uart_instances[2] = {
   {
diff --git a/bsps/arm/xilinx-zynq/console/console-init.c 
b/bsps/arm/xilinx-zynq/console/console-init.c
index 72ba27006c..a3659e3906 100644
--- a/bsps/arm/xilinx-zynq/console/console-init.c
+++ b/bsps/arm/xilinx-zynq/console/console-init.c
@@ -28,7 +28,7 @@
 #include 
 
 #include 
-#include 
+#include 
 
 rtems_status_code console_initialize(
   rtems_device_major_number major,
diff --git a/bsps/arm/xilinx-zynq/console/debug-console.c 
b/bsps/arm/xilinx-zynq/console/debug-console.c
index 809fd6830d..0e9b756f30 100644
--- a/bsps/arm/xilinx-zynq/console/debug-console.c
+++ b/bsps/arm/xilinx-zynq/console/debug-console.c
@@ -29,7 +29,7 @@
 #include 
 
 #include 
-#include 
+#include 
 
 #include 
 
diff --git a/bsps/arm/xilinx-zynq/include/bsp.h 
b/bsps/arm/xilinx-zynq/include/bsp.h
index 6c2759ce50..fde8d03130 100644
--- a/bsps/arm/xilinx-zynq/include/bsp.h
+++ b/bsps/arm/xilinx-zynq/include/bsp.h
@@ -54,7 +54,7 @@
 
 #include 
 #include 
-#include 
+#include 
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/bsps/arm/xilinx-zynq/start/bspreset.c 
b/bsps/arm/xilinx-zynq/start/bspreset.c
index e0c81ca2ef..3e797a137e 100644
--- a/bsps/arm/xilinx-zynq/start/bspreset.c
+++ b/bsps/arm/xilinx-zynq/start/bspreset.c
@@ -27,7 +27,7 @@
 
 #include 
 #include 
-#include 
+#include 
 
 void bsp_reset(void)
 {
diff --git a/bsps/arm/xilinx-zynqmp/console/console-config.c 
b/bsps/arm/xilinx-zynqmp/console/console-config.c
index a525f9c565..fb0b003c83 100644
--- a/bsps/arm/xilinx-zynqmp/console/console-config.c
+++ b/bsps/arm/xilinx-zynqmp/console/console-config.c
@@ -35,7 +35,7 @@
 #include 
 
 #include 
-#include 
+#include 
 
 #include 
 
diff --git a/bsps/headers.am b/bsps/headers.am
index b433c2d8d4..8147745711 100644
--- a/bsps/headers.am
+++ b/bsps/headers.am
@@ -32,6 +32,8 @@ include_dev_serialdir = $(includedir)/dev/serial
 include_dev_serial_HEADERS =
 include_dev_serial_HEADERS += ../../bsps/include/dev/serial/arm-pl011-regs.h
 include_dev_serial_HEADERS += ../../bsps/include/dev/serial/arm-pl011.h
+include_dev_serial_HEADERS += ../../bsps/include/dev/serial/zynq-uart-regs.h
+include_dev_serial_HEADERS += ../../bsps/include/dev/serial/zynq-uart.h
 
 include_grlibdir = $(includedir)/grlib
 include_grlib_HEADERS =
diff --git a/bsps/arm/include/bsp/zynq-uart-regs.h 
b/bsps/include/dev/se

[PATCH v1 3/3] Add AArch64 ZynpMP BSP

2020-12-01 Thread Kinsey Moore
This adds a BSP family that runs on the Xilinx Ultrascale+ MPSOC
(ZynqMP) family of chips. It is configured to be usable on the Qemu
ZCU102 machine definition and should be almost trivially portable to
ZynqMP development boards and custom hardware. It is also configured to
be usable with libbsd.
---
 bsps/aarch64/xilinx-zynqmp/console/console.c  | 134 ++
 bsps/aarch64/xilinx-zynqmp/include/bsp.h  |  81 +++
 bsps/aarch64/xilinx-zynqmp/include/bsp/irq.h  |  72 ++
 bsps/aarch64/xilinx-zynqmp/include/tm27.h |  46 ++
 bsps/aarch64/xilinx-zynqmp/start/bspstart.c   |  49 +++
 .../xilinx-zynqmp/start/bspstarthooks.c   |  50 +++
 spec/build/bsps/aarch64/xilinx-zynqmp/abi.yml |  22 +++
 .../aarch64/xilinx-zynqmp/bspqemuilp32.yml|  21 +++
 .../aarch64/xilinx-zynqmp/bspqemulp64.yml |  21 +++
 spec/build/bsps/aarch64/xilinx-zynqmp/grp.yml |  44 ++
 .../aarch64/xilinx-zynqmp/linkcmds_ilp32.yml  |  72 ++
 .../aarch64/xilinx-zynqmp/linkcmds_lp64.yml   |  71 ++
 spec/build/bsps/aarch64/xilinx-zynqmp/obj.yml |  37 +
 .../bsps/aarch64/xilinx-zynqmp/optclkuart.yml |  20 +++
 .../aarch64/xilinx-zynqmp/optconminor.yml |  15 ++
 .../bsps/aarch64/xilinx-zynqmp/optloadoff.yml |  18 +++
 .../aarch64/xilinx-zynqmp/optnocachelen.yml   |  18 +++
 .../bsps/aarch64/xilinx-zynqmp/optramlen.yml  |  18 +++
 .../bsps/aarch64/xilinx-zynqmp/optramori.yml  |  18 +++
 .../bsps/aarch64/xilinx-zynqmp/tstqemu.yml|  56 
 20 files changed, 883 insertions(+)
 create mode 100644 bsps/aarch64/xilinx-zynqmp/console/console.c
 create mode 100644 bsps/aarch64/xilinx-zynqmp/include/bsp.h
 create mode 100644 bsps/aarch64/xilinx-zynqmp/include/bsp/irq.h
 create mode 100644 bsps/aarch64/xilinx-zynqmp/include/tm27.h
 create mode 100644 bsps/aarch64/xilinx-zynqmp/start/bspstart.c
 create mode 100644 bsps/aarch64/xilinx-zynqmp/start/bspstarthooks.c
 create mode 100644 spec/build/bsps/aarch64/xilinx-zynqmp/abi.yml
 create mode 100644 spec/build/bsps/aarch64/xilinx-zynqmp/bspqemuilp32.yml
 create mode 100644 spec/build/bsps/aarch64/xilinx-zynqmp/bspqemulp64.yml
 create mode 100644 spec/build/bsps/aarch64/xilinx-zynqmp/grp.yml
 create mode 100644 spec/build/bsps/aarch64/xilinx-zynqmp/linkcmds_ilp32.yml
 create mode 100644 spec/build/bsps/aarch64/xilinx-zynqmp/linkcmds_lp64.yml
 create mode 100644 spec/build/bsps/aarch64/xilinx-zynqmp/obj.yml
 create mode 100644 spec/build/bsps/aarch64/xilinx-zynqmp/optclkuart.yml
 create mode 100644 spec/build/bsps/aarch64/xilinx-zynqmp/optconminor.yml
 create mode 100644 spec/build/bsps/aarch64/xilinx-zynqmp/optloadoff.yml
 create mode 100644 spec/build/bsps/aarch64/xilinx-zynqmp/optnocachelen.yml
 create mode 100644 spec/build/bsps/aarch64/xilinx-zynqmp/optramlen.yml
 create mode 100644 spec/build/bsps/aarch64/xilinx-zynqmp/optramori.yml
 create mode 100644 spec/build/bsps/aarch64/xilinx-zynqmp/tstqemu.yml

diff --git a/bsps/aarch64/xilinx-zynqmp/console/console.c 
b/bsps/aarch64/xilinx-zynqmp/console/console.c
new file mode 100644
index 00..7bd85626d9
--- /dev/null
+++ b/bsps/aarch64/xilinx-zynqmp/console/console.c
@@ -0,0 +1,134 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
+/**
+ * @file
+ *
+ * @ingroup RTEMSBSPsAArch64XilinxZynqMP
+ *
+ * @brief Console Configuration
+ */
+
+/*
+ * Copyright (C) 2020 On-Line Applications Research Corporation (OAR)
+ * Written by Kinsey Moore 
+ *
+ * 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 OWNER 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.
+ */
+
+#include 
+#include 
+#include 
+
+#include 
+#include 
+
+#include 
+
+static zynq_uart_context zynqmp_uart_instances[2] = {
+  {
+.base = RTEMS_TERMIOS_DEVICE_CONTEXT_INITIALIZER( "Zynq UART 0" ),
+.regs = (volatile struct

Re: qemu5 and zynq console input

2020-12-01 Thread Chris Johns
On 2/12/20 3:29 am, Gedare Bloom wrote:
 On Mon, Nov 30, 2020 at 4:59 PM Chris Johns  > wrote:
> 
> On 1/12/20 10:25 am, Joel Sherrill wrote:
> > Does this combination work for anyone? I am suspicious that this broke
> with the
> > qemu version bump in the RSB.
> 
> I did not test input. The tester does not have the ability to test input.
> 
> Would something like https://pexpect.readthedocs.io/en/stable/
>  work?

Yes it would and it is small enough to be included.

> It could be an interesting
> project to get even one input-related test running under automation.

It would be and this failure highlights a weakness in the rtems-test command.

I would need to see where in the runtime I would place input processing and if
the input side would need an extra thread.

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

Re: rtems waf, examples, and RTEMS_POSIX_API

2020-12-01 Thread Chris Johns
On 2/12/20 3:39 am, Gedare Bloom wrote:
> 
> 
> On Tue, Dec 1, 2020 at 12:33 AM Sebastian Huber
>  >
> wrote:
> 
> On 01/12/2020 07:49, Chris Johns wrote:
> 
> > On 1/12/20 5:31 pm, Sebastian Huber wrote:
> >> On 30/11/2020 21:43, Joel Sherrill wrote:
> >>> On Mon, Nov 30, 2020 at 1:06 PM Sebastian Huber
> >>>  
> >>>  >> wrote:
> >>>      On 30/11/2020 20:00, Joel Sherrill wrote:
> >>>      >     Applications can use something like:
> >>>      >
> >>>      >     #if __RTEMS_MAJOR__ >= 5
> >>>      >
> >>>      >     POSIX threads are always enabled ...
> >>>      >
> >>>      >     #endif
> >>>      >
> >>>      > This is a change to our public API that was completely 
> unnecessary.
> >>>      >
> >>>      > We do not require changes to application code when it can be
> >>>      avoided.
> >>>      If you enable the POSIX API, then you don't have to change
> >>>      anything in
> >>>      your application. You can use now more of the POSIX API without
> >>>      having
> >>>      to enable it explicitly. It is up to you if you want to rely on
> >>>      this or not.
> >>>
> >>>
> >>> What about rtems-libbsd? It fails to build because of this flag having
> changed
> >>> meaning.
> >>>
> >>> I think we broke a contract on what the meaning of a published
> >>> feature macro means.
> >> Sorry, I still don't understand the problem. You always had to build
> libbsd with
> >> a BSP which was configured with --enable-posix.
> >>
> >> Since now more POSIX APIs are enabled by default, we may remove this
> check from
> >> libbsd. However, this requires someone with enough time to implement 
> and
> test this.
> > The semantics of what is being offered by the option has changed. Yes
> adding the
> > option does make things build but it is now inconsistent in what it 
> covers and
> > how it is being detected and used. Papering over this only delays the 
> point in
> > time we need to address it
> 
> What is offered by default changed. What didn't change is the meaning of
> RTEMS_POSIX_API define. What you want to do now is making use of the
> additional POSIX features enabled by default in RTEMS 5 and later. This
> is the problem we have to address. I suggested to use the
> __RTEMS_MAJOR__ to figure out what is enabled by default.
> 
> 
> IMO: the meaning of RTEMS_POSIX_API remains consistent. It means RTEMS was
> ./configure'd with --enable-posix if true, otherwise it is false.
> 
> What that _implies_ to the application does change, but I am opposed to taking
> any action to modify the behavior we have. The concerns noted by Joel and the
> advice by Sebastian should be codified in documentation to clarify the 
> situation
> for users who care about what POSIX features are always available vs 
> conditioned
> on RTEMS_POSIX_API, and how the set of default features may change over time.
> What really matters is whether we want to ensure forward compatibility for the
> existing defaults. I think that makes sense.

To me 'RTEMS_POSIX_API = False' does not do what it says. The POSIX API is still
present except for signals and they should only be used when porting code. A new
option in the new build system called 'RTEMS_POSIX_SIGNALS' would be better long
term.

> As I understand the historical introduction of the option was to keep the code
> size small, and there are still POSIX features that can pull in excess code 
> that
> may be hard to 'prune' (by LTO), then it makes sense to keep the feature 
> option.

My understanding of the original question was in relation to libbsd. Currently
to build libbsd you need 'RTEMS_POSIX_API = True' which translates to enable
POSIX signals and I think this is ironic because libbsd does not support
signals! :) This appears confusing to me.

Chris

> > Can the enable-posix option be removed and always enabled? We minimise 
> the
> > executable size automatically. Always being enabled means the option in 
> the
> > header is always true and any dependent package or build system can 
> happily
> > continue and be updated when it suites.
> I didn't remove the RTEMS_POSIX_API completely, since the signals have
> an impact on the size of the Thread_Control and may pull in some extra
> code which is probably very seldom used (e.g. the sporadic server
> stuff). I tried hard to make sure that the additional POSIX features
> enabled now by default don't add an overhead to applications which don't
> use them. An increased Thread_Control size affects all applications.

Thanks. I was wondering about the reason. Why not make it clear by adding
RTEMS_POSIX_SIGNALS? This would min

Re: qemu5 and zynq console input

2020-12-01 Thread Joel Sherrill
On Tue, Dec 1, 2020 at 3:06 PM Chris Johns  wrote:

> On 2/12/20 3:29 am, Gedare Bloom wrote:
>  On Mon, Nov 30, 2020 at 4:59 PM Chris Johns  > > wrote:
> >
> > On 1/12/20 10:25 am, Joel Sherrill wrote:
> > > Does this combination work for anyone? I am suspicious that this
> broke
> > with the
> > > qemu version bump in the RSB.
> >
> > I did not test input. The tester does not have the ability to test
> input.
> >
> > Would something like https://pexpect.readthedocs.io/en/stable/
> >  work?
>
> Yes it would and it is small enough to be included.
>
> > It could be an interesting
> > project to get even one input-related test running under automation.
>
> It would be and this failure highlights a weakness in the rtems-test
> command.
>
> I would need to see where in the runtime I would place input processing
> and if
> the input side would need an extra thread.
>

FWIW I retrieved the qemu4 bset files (two) and think I built a qemu4 again.
I am not sure input worked on it either.  Confirmation appreciated.

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