[rtems-central] Add POSIX Timer FACE Behavior Configuration

Joel Sherrill joel at rtems.org
Fri Sep 2 16:25:09 UTC 2022


Updates #4691.
---
 config.yml                                 |  2 ++
 spec/acfg/if/group-face.yml                | 30 ++++++++++++++++++++++++++++++
 spec/acfg/if/posix-timer-face-behavior.yml | 23 +++++++++++++++++++++++
 3 files changed, 55 insertions(+)
 create mode 100644 spec/acfg/if/group-face.yml
 create mode 100644 spec/acfg/if/posix-timer-face-behavior.yml

diff --git a/config.yml b/config.yml
index bbf8c31..acd88d0 100644
--- a/config.yml
+++ b/config.yml
@@ -92,6 +92,8 @@ appl-config:
     target: modules/rtems-docs/c-user/config/device-driver.rst
   - uid: /acfg/if/group-eventrecord
     target: modules/rtems-docs/c-user/config/event-record.rst
+  - uid: /acfg/if/group-face
+    target: modules/rtems-docs/c-user/config/face-technical-standard.rst
   - uid: /acfg/if/group-filesystem
     target: modules/rtems-docs/c-user/config/filesystem.rst
   - uid: /acfg/if/group-general
diff --git a/spec/acfg/if/group-face.yml b/spec/acfg/if/group-face.yml
new file mode 100644
index 0000000..752c715
--- /dev/null
+++ b/spec/acfg/if/group-face.yml
@@ -0,0 +1,30 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2022 On-Line Applications Research Corporation (OAR)
+description: |
+  This section describes configuration options related to adapting
+  RTEMS behavior to be aligned with the FACE Technical Standard.
+  The FACE Technical Standard is a product of the FACE Consortium
+  which operates under the Open Group. The FACE Consortium was founded
+  by avionics organizations to improve the portability of cockpit software
+  across various platforms. It addresses technical and business concerns.
+
+  Most important from an RTEMS perspective, the FACE Technical Standard
+  defines four POSIX profiles: Security, Safety Base, Safety Extended, and
+  the General Purpose Profile. Each has an increasingly larger subset of
+  POSIX APIs. In the Security and Safety profiles, ARINC 653 is required.
+  It is optional in the General Purpose Profile.
+
+  The RTEMS Project has been tracking alignment with the FACE POSIX profiles
+  and they are included in the "RTEMS POSIX 1003.1 Compliance Guide."
+enabled-by: true
+index-entries: []
+interface-type: appl-config-group
+links:
+- role: interface-placement
+  uid: ../../if/domain
+- role: requirement-refinement
+  uid: ../../req/applconfig
+name: FACE Technical Standard Related Configuration
+text: ''
+type: interface
diff --git a/spec/acfg/if/posix-timer-face-behavior.yml b/spec/acfg/if/posix-timer-face-behavior.yml
new file mode 100644
index 0000000..3ab094f
--- /dev/null
+++ b/spec/acfg/if/posix-timer-face-behavior.yml
@@ -0,0 +1,23 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+appl-config-option-type: feature-enable
+copyrights:
+- Copyright (C) 2022 On-Line Applications Research Corporation (OAR)
+description: |
+  If this configuration option is defined, then POSIX timers may
+  not be created to use the CLOCK_REALTIME. Per POSIX, this is allowed
+  behavior but per the FACE Technical Standard, it is not. Using POSIX
+  timers based on CLOCK_REALTIME (e.g., time of day) is unsafe for
+  real-time safety systems as setting CLOCK_REALTIME will perturb any
+  active timers.
+
+  If this option is not defined, POSIX timers may be created to use the
+  CLOCK_REALTIME in compliance with the POSIX specification.
+enabled-by: true
+index-entries: []
+interface-type: appl-config-option
+links:
+- role: appl-config-group-member
+  uid: group-face
+name: CONFIGURE_POSIX_TIMERS_FACE_BEHAVIOR
+notes: null
+type: interface
-- 
1.8.3.1



More information about the devel mailing list