From df72fa282fc958582f5d62df01c84481f02d6dcc Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Thu, 11 Apr 2024 15:11:12 -0700 Subject: [PATCH 01/21] Software requirements: system init ifc, func, non-func sections Summary of the changes: - Add empty sections for Interface, Functional, Non-Functional requirements. Verified by: 1. Visual verification of strictdoc server web page using firefox. Signed-off-by: Gregory Shue --- .../system_initialization.sdoc | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/docs/software_requirements/system_initialization.sdoc b/docs/software_requirements/system_initialization.sdoc index 1002edf..10fa76d 100644 --- a/docs/software_requirements/system_initialization.sdoc +++ b/docs/software_requirements/system_initialization.sdoc @@ -10,3 +10,36 @@ IMPORT_FROM_FILE: software_requirements.sgra TBD [/FREETEXT] + +[SECTION] +TITLE: Interface Requirements + +[FREETEXT] + +TBD + +[/FREETEXT] + +[/SECTION] + +[SECTION] +TITLE: Functional Requirements + +[FREETEXT] + +TBD + +[/FREETEXT] + +[/SECTION] + +[SECTION] +TITLE: Non-Functional Requirements + +[FREETEXT] + +TBD + +[/FREETEXT] + +[/SECTION] From de16130bfd06145aa038240a2c4131411868b5f4 Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Thu, 11 Apr 2024 15:20:16 -0700 Subject: [PATCH 02/21] SW Reqs: system init interface for common init notification registration Summary of the changes: - Add interface requirement for build-time registration for notifications of the following system initialization events: - Pre-CPU Architecture Initialization - Pre-Kernel Initialization - Post-Kernel Initialized - Application Initialization Verified by: 1. Visual verification of strictdoc server web page using firefox. Signed-off-by: Gregory Shue --- .../system_initialization.sdoc | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/software_requirements/system_initialization.sdoc b/docs/software_requirements/system_initialization.sdoc index 10fa76d..3c23473 100644 --- a/docs/software_requirements/system_initialization.sdoc +++ b/docs/software_requirements/system_initialization.sdoc @@ -20,6 +20,21 @@ TBD [/FREETEXT] +[REQUIREMENT] +UID: ZEP-127 +STATUS: Draft +TYPE: Interface +COMPONENT: System Initialization +TITLE: Build-time Registration for System Initialization Notifications +STATEMENT: >>> +The Zephyr RTOS shall expose an interface to build-time registration for the following system initialization notifications: + +- Pre-CPU Architecture Initialization +- Pre-Kernel Initialization +- Post-Kernel Initialized +- Application Initialization +<<< + [/SECTION] [SECTION] From 587615bfce0a76a43e2dfc599c81753ff9bd32b1 Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Thu, 11 Apr 2024 15:32:55 -0700 Subject: [PATCH 03/21] SW Reqs: system init sustains active, non-reconfigurable HW wdog Summary of the changes: - Add functional requirement for sustaining an inherited active, non-reconfigurable HW watchdog. Verified by: 1. Visual verification of strictdoc server web page using firefox. Signed-off-by: Gregory Shue --- .../software_requirements/system_initialization.sdoc | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/software_requirements/system_initialization.sdoc b/docs/software_requirements/system_initialization.sdoc index 3c23473..201eea2 100644 --- a/docs/software_requirements/system_initialization.sdoc +++ b/docs/software_requirements/system_initialization.sdoc @@ -46,6 +46,18 @@ TBD [/FREETEXT] +[REQUIREMENT] +UID: ZEP-128 +STATUS: Draft +TYPE: Functional +COMPONENT: System Initialization +TITLE: Sustain hardware watchdog inherited from preceding executable +STATEMENT: >>> +Where the Zephyr RTOS inherits an active hardware watchdog that cannot be reconfigured, + +the Zephyr RTOS shall sustain the active hardware watchdog. +<<< + [/SECTION] [SECTION] From 1fdd1f5e59c074d24af14317da4fd26414e1b737 Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Thu, 11 Apr 2024 15:38:13 -0700 Subject: [PATCH 04/21] SW Reqs: system init uses <= published limit of initial CPU stack Summary of the changes: - Add functional requirement for System Initialization using no more than the published limit of the initial CPU stack. This phrasing allows for previous executables to: - pass data on the inherited stack; - design a maximum size for the inherited stack that will support Zephyr RTOS initialization. Verified by: 1. Visual verification of strictdoc server web page using firefox. Signed-off-by: Gregory Shue --- docs/software_requirements/system_initialization.sdoc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/software_requirements/system_initialization.sdoc b/docs/software_requirements/system_initialization.sdoc index 201eea2..77eb38a 100644 --- a/docs/software_requirements/system_initialization.sdoc +++ b/docs/software_requirements/system_initialization.sdoc @@ -58,6 +58,16 @@ Where the Zephyr RTOS inherits an active hardware watchdog that cannot be reconf the Zephyr RTOS shall sustain the active hardware watchdog. <<< +[REQUIREMENT] +UID: ZEP-129 +STATUS: Draft +TYPE: Functional +COMPONENT: System Initialization +TITLE: Initial CPU stack usage kept within published limits +STATEMENT: >>> +The Zephyr RTOS shall use no more than the published amount of the initial CPU stack. +<<< + [/SECTION] [SECTION] From 81f537bcf924c3d06757f56a789eb9106e0b5f70 Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Thu, 11 Apr 2024 15:49:01 -0700 Subject: [PATCH 05/21] SW Reqs: during system init allow read access to preceding exec data Summary of the changes: - Add functional requirement for System Initialization to allow read access during initialization to data from preceding executable. Verified by: 1. Visual verification of strictdoc server web page using firefox. Signed-off-by: Gregory Shue --- .../software_requirements/system_initialization.sdoc | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/software_requirements/system_initialization.sdoc b/docs/software_requirements/system_initialization.sdoc index 77eb38a..2d5e573 100644 --- a/docs/software_requirements/system_initialization.sdoc +++ b/docs/software_requirements/system_initialization.sdoc @@ -68,6 +68,18 @@ STATEMENT: >>> The Zephyr RTOS shall use no more than the published amount of the initial CPU stack. <<< +[REQUIREMENT] +UID: ZEP-130 +STATUS: Draft +TYPE: Functional +COMPONENT: System Initialization +TITLE: Preceding executable data availability +STATEMENT: >>> +While the Zephyr RTOS is in any system initialization phase, + +the Zephyr RTOS shall allow read access to the data provided by the preceding executable. +<<< + [/SECTION] [SECTION] From a3d78273e73ca42034f4e3390fd6976832bc8fce Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Thu, 11 Apr 2024 15:55:04 -0700 Subject: [PATCH 06/21] SW Reqs: system init follows component dependency order Summary of the changes: - Add functional requirement for System Initialization to follow component dependecy order. Verified by: 1. Visual verification of strictdoc server web page using firefox. Signed-off-by: Gregory Shue --- docs/software_requirements/system_initialization.sdoc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/software_requirements/system_initialization.sdoc b/docs/software_requirements/system_initialization.sdoc index 2d5e573..8d9e645 100644 --- a/docs/software_requirements/system_initialization.sdoc +++ b/docs/software_requirements/system_initialization.sdoc @@ -80,6 +80,16 @@ While the Zephyr RTOS is in any system initialization phase, the Zephyr RTOS shall allow read access to the data provided by the preceding executable. <<< +[REQUIREMENT] +UID: ZEP-131 +STATUS: Draft +TYPE: Functional +COMPONENT: System Initialization +TITLE: Initialization follows component dependency order +STATEMENT: >>> +The Zephyr RTOS shall initialize the system following the order of component dependencies. +<<< + [/SECTION] [SECTION] From a2bbb6f80ff5b594efcef4bd740be917588c1d7c Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Thu, 11 Apr 2024 16:03:04 -0700 Subject: [PATCH 07/21] SW Reqs: system init notifies before CPU Arch-specific init Summary of the changes: - Add functional requirement for System Initialization to notify components registered for the Pre-CPU-Architecture init event. Verified by: 1. Visual verification of strictdoc server web page using firefox. Signed-off-by: Gregory Shue --- .../system_initialization.sdoc | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/docs/software_requirements/system_initialization.sdoc b/docs/software_requirements/system_initialization.sdoc index 8d9e645..eac952e 100644 --- a/docs/software_requirements/system_initialization.sdoc +++ b/docs/software_requirements/system_initialization.sdoc @@ -90,6 +90,20 @@ STATEMENT: >>> The Zephyr RTOS shall initialize the system following the order of component dependencies. <<< +[REQUIREMENT] +UID: ZEP-132 +STATUS: Draft +TYPE: Functional +COMPONENT: System Initialization +TITLE: Pre-CPU Architecture Initialization Notification +STATEMENT: >>> +While the CPU Architecture-specific initialization has not begun, + +When the C language execution environment has been initialized, + +the Zephyr RTOS shall publish a notification to each component registered for this event notification. +<<< + [/SECTION] [SECTION] From 03cd0300841d7d7baa2ae5374a5315de87054bc2 Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Thu, 11 Apr 2024 16:14:45 -0700 Subject: [PATCH 08/21] SW Reqs: system init notifies before Kernel init Summary of the changes: - Add functional requirement for System Initialization to notify components registered for the Pre-Kernel initialization event. Verified by: 1. Visual verification of strictdoc server web page using firefox. Signed-off-by: Gregory Shue --- .../system_initialization.sdoc | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/docs/software_requirements/system_initialization.sdoc b/docs/software_requirements/system_initialization.sdoc index eac952e..6875410 100644 --- a/docs/software_requirements/system_initialization.sdoc +++ b/docs/software_requirements/system_initialization.sdoc @@ -104,6 +104,20 @@ When the C language execution environment has been initialized, the Zephyr RTOS shall publish a notification to each component registered for this event notification. <<< +[REQUIREMENT] +UID: ZEP-133 +STATUS: Draft +TYPE: Functional +COMPONENT: System Initialization +TITLE: Pre-Kernel Initialization Notification +STATEMENT: >>> +While the RTOS Kernel initialization has not begun, + +When the CPU Architecture has been initialized, + +the Zephyr RTOS shall publish a notification to each component registered for the Pre-Kernel Initialization event notification. +<<< + [/SECTION] [SECTION] From 3e247aa077764886f217b52c866c0e74d87b1bab Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Thu, 11 Apr 2024 16:21:21 -0700 Subject: [PATCH 09/21] SW Reqs: system init notifies after Kernel init Summary of the changes: - Add functional requirement for System Initialization to notify components registered for the Post-Kernel initialization event. Verified by: 1. Visual verification of strictdoc server web page using firefox. Signed-off-by: Gregory Shue --- .../system_initialization.sdoc | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/docs/software_requirements/system_initialization.sdoc b/docs/software_requirements/system_initialization.sdoc index 6875410..efea149 100644 --- a/docs/software_requirements/system_initialization.sdoc +++ b/docs/software_requirements/system_initialization.sdoc @@ -118,6 +118,20 @@ When the CPU Architecture has been initialized, the Zephyr RTOS shall publish a notification to each component registered for the Pre-Kernel Initialization event notification. <<< +[REQUIREMENT] +UID: ZEP-134 +STATUS: Draft +TYPE: Functional +COMPONENT: System Initialization +TITLE: Post-Kernel Initialization Notification +STATEMENT: >>> +While the C++ static objects have not been initialized, + +When the RTOS Kernel initialization is complete, + +the Zephyr RTOS shall publish a notification to each component registered for the Post-Kernel Initialization event notification. +<<< + [/SECTION] [SECTION] From 2be5cc76b42f2f8426d3427ea59829f3b640496b Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Thu, 11 Apr 2024 16:29:42 -0700 Subject: [PATCH 10/21] SW Reqs: system init notifies after C++ static object init Summary of the changes: - Add functional requirement for System Initialization to notify components registered for the Application initialization event. Verified by: 1. Visual verification of strictdoc server web page using firefox. Signed-off-by: Gregory Shue --- .../system_initialization.sdoc | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/docs/software_requirements/system_initialization.sdoc b/docs/software_requirements/system_initialization.sdoc index efea149..02c3e85 100644 --- a/docs/software_requirements/system_initialization.sdoc +++ b/docs/software_requirements/system_initialization.sdoc @@ -132,6 +132,20 @@ When the RTOS Kernel initialization is complete, the Zephyr RTOS shall publish a notification to each component registered for the Post-Kernel Initialization event notification. <<< +[REQUIREMENT] +UID: ZEP-135 +STATUS: Draft +TYPE: Functional +COMPONENT: System Initialization +TITLE: Application Initialization Notification +STATEMENT: >>> +While the CPU memory coherence has not been established, + +When all C++ static objects have been initialized, + +the Zephyr RTOS shall publish a notification to each component registered for the Application Initialization event notification. +<<< + [/SECTION] [SECTION] From 2d679f508cf400e5d829fada0e922ae4b6895c59 Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Thu, 11 Apr 2024 16:39:22 -0700 Subject: [PATCH 11/21] SW Reqs: system init notifies after SMP initialized Summary of the changes: - Add functional requirement for System Initialization to notify components registered for the SMP Initialized event. Verified by: 1. Visual verification of strictdoc server web page using firefox. Signed-off-by: Gregory Shue --- .../system_initialization.sdoc | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/docs/software_requirements/system_initialization.sdoc b/docs/software_requirements/system_initialization.sdoc index 02c3e85..40fc71f 100644 --- a/docs/software_requirements/system_initialization.sdoc +++ b/docs/software_requirements/system_initialization.sdoc @@ -146,6 +146,24 @@ When all C++ static objects have been initialized, the Zephyr RTOS shall publish a notification to each component registered for the Application Initialization event notification. <<< +[REQUIREMENT] +UID: ZEP-136 +STATUS: Draft +TYPE: Functional +COMPONENT: System Initialization +TITLE: Symmetric Multi-Processing Initialized Notification +STATEMENT: >>> +Where the Symmetric Multi-Processing feature is enabled, + +Where the Non-Delayed SMP Initialization feature is enabled, + +While the Zephyr RTOS is in the initialization state, + +When the SMP initialization is complete, + +the Zephyr RTOS shall publish a notification to each component registered for the SMP Initialized notification event. +<<< + [/SECTION] [SECTION] From 2df6edecb7efab4c575508d75d277617fe761e1d Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Thu, 11 Apr 2024 16:47:54 -0700 Subject: [PATCH 12/21] SW Reqs: system init notifications given in priority order Summary of the changes: - Add functional requirement for System Initialization to notify components registered for an event based on the notification priority indicated in the event registration. Verified by: 1. Visual verification of strictdoc server web page using firefox. Signed-off-by: Gregory Shue --- docs/software_requirements/system_initialization.sdoc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/software_requirements/system_initialization.sdoc b/docs/software_requirements/system_initialization.sdoc index 40fc71f..c9df66c 100644 --- a/docs/software_requirements/system_initialization.sdoc +++ b/docs/software_requirements/system_initialization.sdoc @@ -90,6 +90,16 @@ STATEMENT: >>> The Zephyr RTOS shall initialize the system following the order of component dependencies. <<< +[REQUIREMENT] +UID: ZEP-137 +STATUS: Draft +TYPE: Functional +COMPONENT: System Initialization +TITLE: Initialization Notifications given in Registration Priority Order +STATEMENT: >>> +The Zephyr RTOS shall publish notifications for an event following the notification priority indicated in the event registration. +<<< + [REQUIREMENT] UID: ZEP-132 STATUS: Draft From a4e443d30e831e5f745f0cba22e07a57f8d4ad88 Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Thu, 11 Apr 2024 17:04:20 -0700 Subject: [PATCH 13/21] SW Reqs: system init ends at call to `main(void)` Summary of the changes: - Add functional requirement for System Initialization to end with the call to `main(void)`. Verified by: 1. Visual verification of strictdoc server web page using firefox. Signed-off-by: Gregory Shue --- .../system_initialization.sdoc | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/docs/software_requirements/system_initialization.sdoc b/docs/software_requirements/system_initialization.sdoc index c9df66c..fe418fe 100644 --- a/docs/software_requirements/system_initialization.sdoc +++ b/docs/software_requirements/system_initialization.sdoc @@ -90,6 +90,23 @@ STATEMENT: >>> The Zephyr RTOS shall initialize the system following the order of component dependencies. <<< +[REQUIREMENT] +UID: ZEP-138 +STATUS: Draft +TYPE: Functional +COMPONENT: System Initialization +TITLE: Initialization ends with call to `main(void)` +STATEMENT: >>> +When all of the following has been established, + +the Zephyr RTOS shall call the C function `main(void)` on the system initialization stack: + +- each C++ static object has been initialized; and +- each SMP context has been initialized; and +- each System Initialization notification has been published; and +- each memory access protection has been established. +<<< + [REQUIREMENT] UID: ZEP-137 STATUS: Draft From e740a176ee1fea462042fd52df2590939c41b17b Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Thu, 11 Apr 2024 17:51:26 -0700 Subject: [PATCH 14/21] SW Reqs: system init section: Notifications Summary of the changes: - Add System Initialization:Notifications section Verified by: 1. Visual verification of strictdoc server web page using firefox. Signed-off-by: Gregory Shue --- docs/software_requirements/system_initialization.sdoc | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/software_requirements/system_initialization.sdoc b/docs/software_requirements/system_initialization.sdoc index fe418fe..07902e2 100644 --- a/docs/software_requirements/system_initialization.sdoc +++ b/docs/software_requirements/system_initialization.sdoc @@ -107,6 +107,15 @@ the Zephyr RTOS shall call the C function `main(void)` on the system initializat - each memory access protection has been established. <<< +[SECTION] +TITLE: Initialization Notifications + +[FREETEXT] + +TBD + +[/FREETEXT] + [REQUIREMENT] UID: ZEP-137 STATUS: Draft @@ -193,6 +202,8 @@ the Zephyr RTOS shall publish a notification to each component registered for th [/SECTION] +[/SECTION] + [SECTION] TITLE: Non-Functional Requirements From 3b933f0faabee9d46a2b237fe37085853b5f9049 Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Thu, 11 Apr 2024 17:55:49 -0700 Subject: [PATCH 15/21] SW Reqs: system init ignores return value of `int main(void)` Summary of the changes: - Add requirement to ignore the return value of `main()` Verified by: 1. Visual verification of strictdoc server web page using firefox. Signed-off-by: Gregory Shue --- docs/software_requirements/system_initialization.sdoc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/software_requirements/system_initialization.sdoc b/docs/software_requirements/system_initialization.sdoc index 07902e2..7a9b3aa 100644 --- a/docs/software_requirements/system_initialization.sdoc +++ b/docs/software_requirements/system_initialization.sdoc @@ -107,6 +107,16 @@ the Zephyr RTOS shall call the C function `main(void)` on the system initializat - each memory access protection has been established. <<< +[REQUIREMENT] +UID: ZEP-139 +STATUS: Draft +TYPE: Functional +COMPONENT: System Initialization +TITLE: Return value of `int main(void)` ignored +STATEMENT: >>> +The Zephyr RTOS shall explicitly ignore the return value of the call to `int main(void)`. +<<< + [SECTION] TITLE: Initialization Notifications From 34c9ec4fbf74ba8373a630804578ca20ce7d310f Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Thu, 11 Apr 2024 18:00:52 -0700 Subject: [PATCH 16/21] SW Reqs: system init dumps code coverage data before shutdown sequence Summary of the changes: - Add requirement to dump code coverage data upon return from `main()` and before beginning the Zephyr RTOS shutdown sequence. Verified by: 1. Visual verification of strictdoc server web page using firefox. Signed-off-by: Gregory Shue --- .../system_initialization.sdoc | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/docs/software_requirements/system_initialization.sdoc b/docs/software_requirements/system_initialization.sdoc index 7a9b3aa..02247d6 100644 --- a/docs/software_requirements/system_initialization.sdoc +++ b/docs/software_requirements/system_initialization.sdoc @@ -117,6 +117,20 @@ STATEMENT: >>> The Zephyr RTOS shall explicitly ignore the return value of the call to `int main(void)`. <<< +[REQUIREMENT] +UID: ZEP-140 +STATUS: Draft +TYPE: Functional +COMPONENT: System Initialization +TITLE: Code Coverage Data Dumped Upon Return from `main()` +STATEMENT: >>> +While the Zephyr RTOS shutdown sequence has not begun, + +When the call to `main(void)` returns, + +the Zephyr RTOS shall dump code coverage data. +<<< + [SECTION] TITLE: Initialization Notifications From d3e38817ad351f0291d45719fb7bcc1223d7ebbe Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Thu, 11 Apr 2024 18:06:14 -0700 Subject: [PATCH 17/21] SW Reqs: system shutdown disables interrupts Summary of the changes: - Add requirement to disable interrupts during system shutdown. Verified by: 1. Visual verification of strictdoc server web page using firefox. Signed-off-by: Gregory Shue --- .../software_requirements/system_initialization.sdoc | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/software_requirements/system_initialization.sdoc b/docs/software_requirements/system_initialization.sdoc index 02247d6..dafd64e 100644 --- a/docs/software_requirements/system_initialization.sdoc +++ b/docs/software_requirements/system_initialization.sdoc @@ -131,6 +131,18 @@ When the call to `main(void)` returns, the Zephyr RTOS shall dump code coverage data. <<< +[REQUIREMENT] +UID: ZEP-141 +STATUS: Draft +TYPE: Functional +COMPONENT: System Initialization +TITLE: System Shutdown Disables Interrupts +STATEMENT: >>> +When the System Shutdown is entered, + +the Zephyr RTOS shall disable all interrupts. +<<< + [SECTION] TITLE: Initialization Notifications From 8ee280b4260cb8a8688e742ecafd1d5b4cd61f21 Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Thu, 11 Apr 2024 18:11:01 -0700 Subject: [PATCH 18/21] SW Reqs: system shutdown ends in empty infinte loop Summary of the changes: - Add requirement to end system shutdown in an empty infinte loop. Verified by: 1. Visual verification of strictdoc server web page using firefox. Signed-off-by: Gregory Shue --- .../software_requirements/system_initialization.sdoc | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/software_requirements/system_initialization.sdoc b/docs/software_requirements/system_initialization.sdoc index dafd64e..f2d25d3 100644 --- a/docs/software_requirements/system_initialization.sdoc +++ b/docs/software_requirements/system_initialization.sdoc @@ -143,6 +143,18 @@ When the System Shutdown is entered, the Zephyr RTOS shall disable all interrupts. <<< +[REQUIREMENT] +UID: ZEP-142 +STATUS: Draft +TYPE: Functional +COMPONENT: System Initialization +TITLE: Shutdown ends in empty infinite loop. +STATEMENT: >>> +When the System Shutdown sequence is completed, + +the Zephyr RTOS shall spin in an empty infinite loop. +<<< + [SECTION] TITLE: Initialization Notifications From 25707e3a39d67300faf52c441cd2db1dc5b259d1 Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Thu, 11 Apr 2024 18:23:06 -0700 Subject: [PATCH 19/21] SW Reqs: sys init ifc: build-time register for SMP-Init notification Summary of the changes: - Add requirement for interface for registration for SMP-INit notification. Verified by: 1. Visual verification of strictdoc server web page using firefox. Signed-off-by: Gregory Shue --- .../system_initialization.sdoc | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/docs/software_requirements/system_initialization.sdoc b/docs/software_requirements/system_initialization.sdoc index f2d25d3..ed69441 100644 --- a/docs/software_requirements/system_initialization.sdoc +++ b/docs/software_requirements/system_initialization.sdoc @@ -35,6 +35,20 @@ The Zephyr RTOS shall expose an interface to build-time registration for the fol - Application Initialization <<< +[REQUIREMENT] +UID: ZEP-143 +STATUS: Draft +TYPE: Interface +COMPONENT: System Initialization +TITLE: Build-time Registration for SMP-Initialized Notification +STATEMENT: >>> +Where the Symmetric Multi-Processing feature is enabled, + +the Zephyr RTOS shall expose an interface to build-time registration for the following system initialization notifications: + +- Symmetric Multi-Processing Initialized. +<<< + [/SECTION] [SECTION] From 98fdb1dd01b02b8dfd2c0c070fcabc40e4159aee Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Tue, 16 Apr 2024 15:21:51 -0700 Subject: [PATCH 20/21] Sys Reqs: sys init section & high level requirements Summary of the changes: - Add System Requirements section for System Initialization with - Parent requirement for extensibility. - Child requirements for build time registration of init hooks and initialization time execution of registered init hooks. Verified by: 1. Visual verification of strictdoc server web page using firefox. Signed-off-by: Gregory Shue --- docs/system_requirements/index.sdoc | 45 +++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/docs/system_requirements/index.sdoc b/docs/system_requirements/index.sdoc index dd33b1a..e0a9a9f 100644 --- a/docs/system_requirements/index.sdoc +++ b/docs/system_requirements/index.sdoc @@ -86,6 +86,51 @@ USER_STORY: >>> As a Zephyr RTOS user I want errors and exceptions to handled and react according to my applications requirements (e.g. reach/establish the applications safety state). <<< +[SECTION] +TITLE: System Initialization + +[FREETEXT] +TBD +[/FREETEXT] + +[REQUIREMENT] +UID: ZEP-144 +STATUS: Draft +TYPE: High Level +COMPONENT: System Initialization +TITLE: Extensible System Initialization +STATEMENT: >>> +The Zephyr RTOS initialization sequence shall be extensible. +<<< + +[REQUIREMENT] +UID: ZEP-145 +STATUS: Draft +TYPE: High Level +COMPONENT: System Initialization +TITLE: System Initialization Hooks +STATEMENT: >>> +The Zephyr RTOS shall execute registered initialization hooks at the requested point of the System Initialization sequence. +<<< +RELATIONS: +- TYPE: Parent + VALUE: ZEP-144 + +[REQUIREMENT] +UID: ZEP-146 +STATUS: Draft +TYPE: High Level +COMPONENT: System Initialization +TITLE: Build Time Registration of System Initialization Hooks +STATEMENT: >>> +The Zephyr RTOS shall expose an interface for build-time registration of an initialization hook to be executed at a specific point in the system initialization sequence. +<<< +RELATIONS: +- TYPE: Parent + VALUE: ZEP-144 + +[/SECTION] + [REQUIREMENT] UID: ZEP-38 STATUS: Draft From 93ebcc858078d17f9ceab3a2cf0802643c6c2a8e Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Tue, 16 Apr 2024 15:38:13 -0700 Subject: [PATCH 21/21] SW Reqs: sys init notification relationships Summary of the changes: - Add relationships for System Requirements:System Initialization notification requirements. Verified by: 1. Visual verification of strictdoc server web page using firefox. Signed-off-by: Gregory Shue --- .../system_initialization.sdoc | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/docs/software_requirements/system_initialization.sdoc b/docs/software_requirements/system_initialization.sdoc index ed69441..cd40579 100644 --- a/docs/software_requirements/system_initialization.sdoc +++ b/docs/software_requirements/system_initialization.sdoc @@ -34,6 +34,9 @@ The Zephyr RTOS shall expose an interface to build-time registration for the fol - Post-Kernel Initialized - Application Initialization <<< +RELATIONS: +- TYPE: Parent + VALUE: ZEP-146 [REQUIREMENT] UID: ZEP-143 @@ -48,6 +51,9 @@ the Zephyr RTOS shall expose an interface to build-time registration for the fol - Symmetric Multi-Processing Initialized. <<< +RELATIONS: +- TYPE: Parent + VALUE: ZEP-146 [/SECTION] @@ -187,6 +193,9 @@ TITLE: Initialization Notifications given in Registration Priority Order STATEMENT: >>> The Zephyr RTOS shall publish notifications for an event following the notification priority indicated in the event registration. <<< +RELATIONS: +- TYPE: Parent + VALUE: ZEP-145 [REQUIREMENT] UID: ZEP-132 @@ -201,6 +210,9 @@ When the C language execution environment has been initialized, the Zephyr RTOS shall publish a notification to each component registered for this event notification. <<< +RELATIONS: +- TYPE: Parent + VALUE: ZEP-135 [REQUIREMENT] UID: ZEP-133 @@ -215,6 +227,9 @@ When the CPU Architecture has been initialized, the Zephyr RTOS shall publish a notification to each component registered for the Pre-Kernel Initialization event notification. <<< +RELATIONS: +- TYPE: Parent + VALUE: ZEP-135 [REQUIREMENT] UID: ZEP-134 @@ -229,6 +244,9 @@ When the RTOS Kernel initialization is complete, the Zephyr RTOS shall publish a notification to each component registered for the Post-Kernel Initialization event notification. <<< +RELATIONS: +- TYPE: Parent + VALUE: ZEP-135 [REQUIREMENT] UID: ZEP-135 @@ -243,6 +261,9 @@ When all C++ static objects have been initialized, the Zephyr RTOS shall publish a notification to each component registered for the Application Initialization event notification. <<< +RELATIONS: +- TYPE: Parent + VALUE: ZEP-145 [REQUIREMENT] UID: ZEP-136 @@ -261,6 +282,9 @@ When the SMP initialization is complete, the Zephyr RTOS shall publish a notification to each component registered for the SMP Initialized notification event. <<< +RELATIONS: +- TYPE: Parent + VALUE: ZEP-135 [/SECTION]