diff options
Diffstat (limited to 'c-user/interrupt')
-rw-r--r-- | c-user/interrupt/directives.rst | 91 | ||||
-rw-r--r-- | c-user/interrupt/index.rst | 2 | ||||
-rw-r--r-- | c-user/interrupt/introduction.rst | 2 |
3 files changed, 60 insertions, 35 deletions
diff --git a/c-user/interrupt/directives.rst b/c-user/interrupt/directives.rst index 2d7dccf..80eddfd 100644 --- a/c-user/interrupt/directives.rst +++ b/c-user/interrupt/directives.rst @@ -1,6 +1,6 @@ .. SPDX-License-Identifier: CC-BY-SA-4.0 -.. Copyright (C) 2008, 2021 embedded brains GmbH (http://www.embedded-brains.de) +.. Copyright (C) 2008, 2022 embedded brains GmbH & Co. KG .. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) .. This file is part of the RTEMS quality process and was automatically @@ -63,9 +63,10 @@ Establishes an interrupt service routine. This parameter is the interrupt vector number. ``old_isr_handler`` - This parameter is the pointer to an :c:type:`rtems_isr_entry` object. When - the directive call is successful, the previous interrupt service routine - established for this interrupt vector will be stored in this object. + This parameter is the pointer to an :ref:`InterfaceRtemsIsrEntry` object. + When the directive call is successful, the previous interrupt service + routine established for this interrupt vector will be stored in this + object. .. rubric:: DESCRIPTION: @@ -128,13 +129,13 @@ Disables the maskable interrupts on the current processor. .. code-block:: c - #define rtems_interrupt_disable( isr_cookie ) + void rtems_interrupt_disable( rtems_interrupt_level isr_cookie ); .. rubric:: PARAMETERS: ``isr_cookie`` - This parameter is a variable of type :c:type:`rtems_interrupt_level` which - will be used to save the previous interrupt level. + This parameter is a variable of type :ref:`InterfaceRtemsInterruptLevel` + which will be used to save the previous interrupt level. .. rubric:: DESCRIPTION: @@ -218,7 +219,7 @@ Restores the previous interrupt level on the current processor. .. code-block:: c - #define rtems_interrupt_enable( isr_cookie ) + void rtems_interrupt_enable( rtems_interrupt_level isr_cookie ); .. rubric:: PARAMETERS: @@ -280,7 +281,7 @@ Flashes interrupts on the current processor. .. code-block:: c - #define rtems_interrupt_flash( isr_cookie ) + void rtems_interrupt_flash( rtems_interrupt_level isr_cookie ); .. rubric:: PARAMETERS: @@ -338,13 +339,13 @@ Disables the maskable interrupts on the current processor. .. code-block:: c - #define rtems_interrupt_local_disable( isr_cookie ) + void rtems_interrupt_local_disable( rtems_interrupt_level isr_cookie ); .. rubric:: PARAMETERS: ``isr_cookie`` - This parameter is a variable of type :c:type:`rtems_interrupt_level` which - will be used to save the previous interrupt level. + This parameter is a variable of type :ref:`InterfaceRtemsInterruptLevel` + which will be used to save the previous interrupt level. .. rubric:: DESCRIPTION: @@ -428,7 +429,7 @@ Restores the previous interrupt level on the current processor. .. code-block:: c - #define rtems_interrupt_local_enable( isr_cookie ) + void rtems_interrupt_local_enable( rtems_interrupt_level isr_cookie ); .. rubric:: PARAMETERS: @@ -484,7 +485,7 @@ Checks if an ISR is in progress on the current processor. .. code-block:: c - #define rtems_interrupt_is_in_progress() + bool rtems_interrupt_is_in_progress( void ); .. rubric:: DESCRIPTION: @@ -525,7 +526,10 @@ Initializes the ISR lock. .. code-block:: c - #define rtems_interrupt_lock_initialize( lock, name ) + void rtems_interrupt_lock_initialize( + rtems_interrupt_lock *lock, + const char *name + ); .. rubric:: PARAMETERS: @@ -561,7 +565,7 @@ Destroys the ISR lock. .. code-block:: c - #define rtems_interrupt_lock_destroy( lock ) + void rtems_interrupt_lock_destroy( rtems_interrupt_lock *lock ); .. rubric:: PARAMETERS: @@ -605,7 +609,10 @@ Acquires the ISR lock. .. code-block:: c - #define rtems_interrupt_lock_acquire( lock, lock_context ) + void rtems_interrupt_lock_acquire( + rtems_interrupt_lock *lock, + rtems_interrupt_lock_context *lock_context + ); .. rubric:: PARAMETERS: @@ -679,7 +686,7 @@ Releases the ISR lock. .. code-block:: c - #define rtems_interrupt_lock_release( lock, lock_context ) + void rtems_interrupt_lock_release( rtems_interrupt_lock_context *lock ); .. rubric:: PARAMETERS: @@ -737,7 +744,10 @@ Acquires the ISR lock from within an ISR. .. code-block:: c - #define rtems_interrupt_lock_acquire_isr( lock, lock_context ) + void rtems_interrupt_lock_acquire_isr( + rtems_interrupt_lock *lock, + rtems_interrupt_lock_context *lock_context + ); .. rubric:: PARAMETERS: @@ -800,7 +810,10 @@ Releases the ISR lock from within an ISR. .. code-block:: c - #define rtems_interrupt_lock_release_isr( lock, lock_context ) + void rtems_interrupt_lock_release_isr( + rtems_interrupt_lock *lock, + rtems_interrupt_lock_context *lock_context + ); .. rubric:: PARAMETERS: @@ -853,7 +866,9 @@ Disables maskable interrupts on the current processor. .. code-block:: c - #define rtems_interrupt_lock_interrupt_disable( lock_context ) + void rtems_interrupt_lock_interrupt_disable( + rtems_interrupt_lock_context *lock_context + ); .. rubric:: PARAMETERS: @@ -892,7 +907,7 @@ Declares an ISR lock object. .. code-block:: c - #define RTEMS_INTERRUPT_LOCK_DECLARE( specifier, designator ) + RTEMS_INTERRUPT_LOCK_DECLARE( specifier, designator ); .. rubric:: PARAMETERS: @@ -926,7 +941,7 @@ Defines an ISR lock object. .. code-block:: c - #define RTEMS_INTERRUPT_LOCK_DEFINE( specifier, designator, name ) + RTEMS_INTERRUPT_LOCK_DEFINE( specifier, designator, const char *name ); .. rubric:: PARAMETERS: @@ -968,7 +983,7 @@ Statically initializes an ISR lock object. .. code-block:: c - #define RTEMS_INTERRUPT_LOCK_INITIALIZER( name ) + RTEMS_INTERRUPT_LOCK_INITIALIZER( const char *name ); .. rubric:: PARAMETERS: @@ -1001,7 +1016,7 @@ Defines an ISR lock member. .. code-block:: c - #define RTEMS_INTERRUPT_LOCK_MEMBER( designator ) + RTEMS_INTERRUPT_LOCK_MEMBER( designator ); .. rubric:: PARAMETERS: @@ -1031,7 +1046,7 @@ Defines an ISR lock object reference. .. code-block:: c - #define RTEMS_INTERRUPT_LOCK_REFERENCE( designator, target ) + RTEMS_INTERRUPT_LOCK_REFERENCE( designator, rtems_interrupt_lock *target ); .. rubric:: PARAMETERS: @@ -1064,7 +1079,11 @@ Statically initializes an interrupt entry object. .. code-block:: c - #define RTEMS_INTERRUPT_ENTRY_INITIALIZER( routine, arg, info ) + RTEMS_INTERRUPT_ENTRY_INITIALIZER( + rtems_interrupt_handler routine, + void *arg, + const char *info + ); .. rubric:: PARAMETERS: @@ -2123,6 +2142,11 @@ Sets the processor affinity set of the interrupt vector. The :ref:`InterfaceRtemsInterruptGetAttributes` directive may be used to check if the processor affinity of an interrupt vector can be set. +Only online processors of the affinity set specified by ``affinity_size`` and +``affinity`` are considered by the directive. Other processors of the set are +ignored. If the set contains no online processor, then the set is invalid and +an error status is returned. + .. rubric:: CONSTRAINTS: The following constraints apply to this directive: @@ -2165,9 +2189,10 @@ Gets the attributes of the interrupt vector. This parameter is the interrupt vector number. ``attributes`` - This parameter is the pointer to an :c:type:`rtems_interrupt_attributes` - object. When the directive call is successful, the attributes of the - interrupt vector will be stored in this object. + This parameter is the pointer to an + :ref:`InterfaceRtemsInterruptAttributes` object. When the directive call + is successful, the attributes of the interrupt vector will be stored in + this object. .. rubric:: RETURN VALUES: @@ -2395,9 +2420,9 @@ Creates an interrupt server. ``control`` This parameter is the pointer to an - :c:type:`rtems_interrupt_server_control` object. When the directive call - was successful, the ownership of the object was transferred from the caller - of the directive to the interrupt server management. + :ref:`InterfaceRtemsInterruptServerControl` object. When the directive + call was successful, the ownership of the object was transferred from the + caller of the directive to the interrupt server management. ``config`` This parameter is the interrupt server configuration. diff --git a/c-user/interrupt/index.rst b/c-user/interrupt/index.rst index d3e4429..92d332d 100644 --- a/c-user/interrupt/index.rst +++ b/c-user/interrupt/index.rst @@ -1,6 +1,6 @@ .. SPDX-License-Identifier: CC-BY-SA-4.0 -.. Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +.. Copyright (C) 2020 embedded brains GmbH & Co. KG .. index:: interrupts diff --git a/c-user/interrupt/introduction.rst b/c-user/interrupt/introduction.rst index 7987b54..14ea275 100644 --- a/c-user/interrupt/introduction.rst +++ b/c-user/interrupt/introduction.rst @@ -1,6 +1,6 @@ .. SPDX-License-Identifier: CC-BY-SA-4.0 -.. Copyright (C) 2008, 2021 embedded brains GmbH (http://www.embedded-brains.de) +.. Copyright (C) 2008, 2022 embedded brains GmbH & Co. KG .. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) .. This file is part of the RTEMS quality process and was automatically |