[rtems-docs commit] c-user: Clarify BSP related configuration settings

Sebastian Huber sebh at rtems.org
Wed Aug 31 09:43:10 UTC 2022


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

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Wed Nov 17 08:46:56 2021 +0100

c-user: Clarify BSP related configuration settings

---

 c-user/config/device-driver.rst |  7 +++--
 c-user/config/general.rst       | 60 ++++++++++++++++++++++++++++++++++++++---
 c-user/config/idle-task.rst     | 18 ++++++++++---
 3 files changed, 76 insertions(+), 9 deletions(-)

diff --git a/c-user/config/device-driver.rst b/c-user/config/device-driver.rst
index d84da0a..87ed27a 100644
--- a/c-user/config/device-driver.rst
+++ b/c-user/config/device-driver.rst
@@ -709,7 +709,7 @@ Driver Table.
 .. rubric:: NOTES:
 
 The value of this configuration option is placed after the entries defined by
-:ref:`CONFIGURE_BSP_PREREQUISITE_DRIVERS` and before all other device driver
+:c:macro:`CONFIGURE_BSP_PREREQUISITE_DRIVERS` and before all other device driver
 configuration options.
 
 See :ref:`CONFIGURE_APPLICATION_EXTRA_DRIVERS` for an alternative placement
@@ -858,7 +858,10 @@ options:
 
 * :ref:`CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS`
 
-* :ref:`CONFIGURE_BSP_PREREQUISITE_DRIVERS`
+If the :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` configuration option is not defined and
+the :term:`BSP` provides
+:c:macro:`CONFIGURE_BSP_PREREQUISITE_DRIVERS`, then the BSP-provided
+prerequisite device drivers are also taken into account.
 
 .. rubric:: DESCRIPTION:
 
diff --git a/c-user/config/general.rst b/c-user/config/general.rst
index fa43686..c80d162 100644
--- a/c-user/config/general.rst
+++ b/c-user/config/general.rst
@@ -67,6 +67,55 @@ memory is first dirtied and then zeroed.
 
 See also :ref:`CONFIGURE_MALLOC_DIRTY`.
 
+.. Generated from spec:/acfg/if/disable-bsp-settings
+
+.. raw:: latex
+
+    \clearpage
+
+.. index:: CONFIGURE_DISABLE_BSP_SETTINGS
+
+.. _CONFIGURE_DISABLE_BSP_SETTINGS:
+
+CONFIGURE_DISABLE_BSP_SETTINGS
+------------------------------
+
+.. rubric:: CONSTANT:
+
+``CONFIGURE_DISABLE_BSP_SETTINGS``
+
+.. rubric:: OPTION TYPE:
+
+This configuration option is a boolean feature define.
+
+.. rubric:: DEFAULT CONFIGURATION:
+
+If this configuration option is undefined, then the described feature is not
+enabled.
+
+.. rubric:: DESCRIPTION:
+
+In case this configuration option is defined, then the optional BSP provided
+settings listed below are disabled.
+
+The optional BSP provided default values for the following application
+configuration options are disabled:
+
+* :ref:`CONFIGURE_IDLE_TASK_BODY`
+
+* :ref:`CONFIGURE_IDLE_TASK_STACK_SIZE`
+
+* :ref:`CONFIGURE_INTERRUPT_STACK_SIZE`
+
+The optional BSP provided initial extension set is disabled (see
+:term:`initial extension sets`).  The optional BSP provided
+prerequisite IO device drivers are disabled (see
+Device Driver Configuration).  The optional BSP provided support for
+:c:func:`sbrk` is disabled.
+
+This configuration option provides an all or nothing choice with respect to
+the optional BSP provided settings.
+
 .. Generated from spec:/acfg/if/disable-newlib-reentrancy
 
 .. raw:: latex
@@ -237,8 +286,8 @@ initial user extensions.
 .. rubric:: NOTES:
 
 The value of this configuration option is placed before the entries of
-:ref:`BSP_INITIAL_EXTENSION` and after the entries of all other initial
-user extensions.
+:c:macro:`BSP_INITIAL_EXTENSION` and after the entries of all other
+initial user extensions.
 
 .. rubric:: CONSTRAINTS:
 
@@ -269,8 +318,11 @@ This configuration option is an integer define.
 
 .. rubric:: DEFAULT VALUE:
 
-The default value is :ref:`BSP_INTERRUPT_STACK_SIZE` in case it is defined,
-otherwise the default value is :c:macro:`CPU_STACK_MINIMUM_SIZE`.
+If the :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` configuration option is not defined and
+:c:macro:`BSP_INTERRUPT_STACK_SIZE` is provided by the
+:term:`BSP`, then the default value is defined by
+:c:macro:`BSP_INTERRUPT_STACK_SIZE`, otherwise the default value is
+:c:macro:`CPU_STACK_MINIMUM_SIZE`.
 
 .. rubric:: DESCRIPTION:
 
diff --git a/c-user/config/idle-task.rst b/c-user/config/idle-task.rst
index 5cf8364..359f862 100644
--- a/c-user/config/idle-task.rst
+++ b/c-user/config/idle-task.rst
@@ -48,8 +48,11 @@ This configuration option is an initializer define.
 
 .. rubric:: DEFAULT VALUE:
 
-If :ref:`BSP_IDLE_TASK_BODY` is defined, then this will be the default value,
-otherwise the default value is ``_CPU_Thread_Idle_body``.
+If the :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` configuration option is not defined and
+:c:macro:`BSP_IDLE_TASK_BODY` is provided by the
+:term:`BSP`, then the default value is defined by
+:c:macro:`BSP_IDLE_TASK_BODY`, otherwise the default value is
+``_CPU_Thread_Idle_body``.
 
 .. rubric:: DESCRIPTION:
 
@@ -64,6 +67,11 @@ exists.
 IDLE threads can be used to initialize the application, see configuration
 option :ref:`CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION`.
 
+The BSP may have knowledge of the specific CPU model, system controller
+logic, and peripheral buses, so a BSP-specific IDLE task may be capable of
+turning components off to save power during extended periods of no task
+activity.
+
 .. rubric:: CONSTRAINTS:
 
 The value of the configuration option shall be defined to a valid function
@@ -149,7 +157,11 @@ This configuration option is an integer define.
 
 .. rubric:: DEFAULT VALUE:
 
-The default value is :ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE`.
+If the :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` configuration option is not defined and
+:c:macro:`BSP_IDLE_TASK_STACK_SIZE` is provided by the
+:term:`BSP`, then the default value is defined by
+:c:macro:`BSP_IDLE_TASK_STACK_SIZE`, otherwise the default value is
+defined by the :ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE` configuration option.
 
 .. rubric:: DESCRIPTION:
 



More information about the vc mailing list