From b1fd62357742decea316972fd15d475606ee6009 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Fri, 2 Sep 2022 11:25:09 -0500 Subject: 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(+) 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 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 +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 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 +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 -- cgit v1.2.3