summaryrefslogtreecommitdiffstats
path: root/c-user/interrupt/introduction.rst
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-01-19 07:24:45 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-04-28 09:03:49 +0200
commitf6b433727c82958db118a0c004573e7dda46a3c2 (patch)
tree0839a8c035341fbfa9938200aded90ade889fb60 /c-user/interrupt/introduction.rst
parentc-user: Constify timer fire when directives (diff)
downloadrtems-docs-f6b433727c82958db118a0c004573e7dda46a3c2.tar.bz2
c-user: Generate interrupt manager documentation
The documentation is a consolidation of the comments in Doxygen markup and the documentation sources in Sphinx markup. The documentation was transfered to interface specification items. The documentation source files were generated from the items by a script. Update #3993.
Diffstat (limited to 'c-user/interrupt/introduction.rst')
-rw-r--r--c-user/interrupt/introduction.rst101
1 files changed, 87 insertions, 14 deletions
diff --git a/c-user/interrupt/introduction.rst b/c-user/interrupt/introduction.rst
index 272eba2..3d5c71d 100644
--- a/c-user/interrupt/introduction.rst
+++ b/c-user/interrupt/introduction.rst
@@ -1,37 +1,110 @@
.. SPDX-License-Identifier: CC-BY-SA-4.0
+.. Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
.. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+.. This file is part of the RTEMS quality process and was automatically
+.. generated. If you find something that needs to be fixed or
+.. worded better please post a report or patch to an RTEMS mailing list
+.. or raise a bug report:
+..
+.. https://www.rtems.org/bugs.html
+..
+.. For information on updating and regenerating please refer to the How-To
+.. section in the Software Requirements Engineering chapter of the
+.. RTEMS Software Engineering manual. The manual is provided as a part of
+.. a release. For development sources please refer to the online
+.. documentation at:
+..
+.. https://docs.rtems.org
+
+.. Generated from spec:/rtems/intr/if/group
+
+.. _InterruptManagerIntroduction:
+
Introduction
============
+.. The following list was generated from:
+.. spec:/rtems/intr/if/catch
+.. spec:/rtems/intr/if/disable
+.. spec:/rtems/intr/if/enable
+.. spec:/rtems/intr/if/flash
+.. spec:/rtems/intr/if/local-disable
+.. spec:/rtems/intr/if/local-enable
+.. spec:/rtems/intr/if/is-in-progress
+.. spec:/rtems/intr/if/cause
+.. spec:/rtems/intr/if/clear
+.. spec:/rtems/intr/if/lock-initialize
+.. spec:/rtems/intr/if/lock-destroy
+.. spec:/rtems/intr/if/lock-acquire
+.. spec:/rtems/intr/if/lock-release
+.. spec:/rtems/intr/if/lock-acquire-isr
+.. spec:/rtems/intr/if/lock-release-isr
+.. spec:/rtems/intr/if/lock-isr-disable
+.. spec:/rtems/intr/if/lock-declare
+.. spec:/rtems/intr/if/lock-define
+.. spec:/rtems/intr/if/lock-initializer
+.. spec:/rtems/intr/if/lock-member
+.. spec:/rtems/intr/if/lock-reference
+
Any real-time executive must provide a mechanism for quick response to
externally generated interrupts to satisfy the critical time constraints of the
-application. The interrupt manager provides this mechanism for RTEMS. This
+application. The Interrupt Manager provides this mechanism for RTEMS. This
manager permits quick interrupt response times by providing the critical
ability to alter task execution which allows a task to be preempted upon exit
-from an ISR. The interrupt manager includes the following directive:
+from an ISR. The directives provided by the Interrupt Manager are:
+
+* :ref:`InterfaceRtemsInterruptCatch` - Establishes an interrupt service
+ routine.
+
+* :ref:`InterfaceRtemsInterruptDisable` - Disables the maskable interrupts on
+ the current processor.
+
+* :ref:`InterfaceRtemsInterruptEnable` - Restores the previous interrupt level
+ on the current processor.
+
+* :ref:`InterfaceRtemsInterruptFlash` - Flashes interrupts on the current
+ processor.
+
+* :ref:`InterfaceRtemsInterruptLocalDisable` - Disables the maskable interrupts
+ on the current processor.
+
+* :ref:`InterfaceRtemsInterruptLocalEnable` - Restores the previous interrupt
+ level on the current processor.
+
+* :ref:`InterfaceRtemsInterruptIsInProgress` - Checks if an ISR is in progress
+ on the current processor.
+
+* :ref:`InterfaceRtemsInterruptCause` - Causes the interrupt.
+
+* :ref:`InterfaceRtemsInterruptClear` - Clears the interrupt.
-- :ref:`rtems_interrupt_catch`
+* :ref:`InterfaceRtemsInterruptLockInitialize` - Initializes the ISR lock.
-- :ref:`rtems_interrupt_disable`
+* :ref:`InterfaceRtemsInterruptLockDestroy` - Destroys the ISR lock.
-- :ref:`rtems_interrupt_enable`
+* :ref:`InterfaceRtemsInterruptLockAcquire` - Acquires the ISR lock.
-- :ref:`rtems_interrupt_flash`
+* :ref:`InterfaceRtemsInterruptLockRelease` - Releases the ISR lock.
-- :ref:`rtems_interrupt_local_disable`
+* :ref:`InterfaceRtemsInterruptLockAcquireIsr` - Acquires the ISR lock from
+ within an ISR.
-- :ref:`rtems_interrupt_local_enable`
+* :ref:`InterfaceRtemsInterruptLockReleaseIsr` - Releases the ISR lock from
+ within an ISR.
-- :ref:`rtems_interrupt_lock_initialize`
+* :ref:`InterfaceRtemsInterruptLockInterruptDisable` - Disables maskable
+ interrupts on the current processor.
-- :ref:`rtems_interrupt_lock_acquire`
+* :ref:`InterfaceRTEMSINTERRUPTLOCKDECLARE` - Declares an ISR lock object.
-- :ref:`rtems_interrupt_lock_release`
+* :ref:`InterfaceRTEMSINTERRUPTLOCKDEFINE` - Defines an ISR lock object.
-- :ref:`rtems_interrupt_lock_acquire_isr`
+* :ref:`InterfaceRTEMSINTERRUPTLOCKINITIALIZER` - Statically initializes an ISR
+ lock object.
-- :ref:`rtems_interrupt_lock_release_isr`
+* :ref:`InterfaceRTEMSINTERRUPTLOCKMEMBER` - Defines an ISR lock member.
-- :ref:`rtems_interrupt_is_in_progress`
+* :ref:`InterfaceRTEMSINTERRUPTLOCKREFERENCE` - Defines an ISR lock object
+ reference.