[rtems-central commit] Add POSIX Timer FACE Behavior Configuration

Sebastian Huber sebh at rtems.org
Mon Sep 5 06:47:01 UTC 2022

Module:    rtems-central
Branch:    master
Commit:    b1fd62357742decea316972fd15d475606ee6009
Changeset: http://git.rtems.org/rtems-central/commit/?id=b1fd62357742decea316972fd15d475606ee6009

Author:    Joel Sherrill <joel at rtems.org>
Date:      Fri Sep  2 11:25:09 2022 -0500

Add POSIX Timer FACE Behavior Configuration

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(+)

diff --git a/config.yml b/config.yml
index bbf8c316..acd88d00 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 00000000..752c7159
--- /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
+- 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
+- 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 00000000..3ab094f8
--- /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
+- 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
+- role: appl-config-group-member
+  uid: group-face
+notes: null
+type: interface

More information about the vc mailing list