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.
This commit is contained in:
Sebastian Huber 2021-01-19 07:24:45 +01:00
parent de8fe65f57
commit f6b433727c
3 changed files with 1073 additions and 405 deletions

View File

@ -928,6 +928,11 @@ Glossary
target
The system on which the application will ultimately execute.
target architecture
The target architecture is the instruction set architecture (ISA) of the
:term:`target`. Some RTEMS features depend on the target architecture. For
the details consult the *RTEMS CPU Architecture Supplement*.
TAS
This term is an acronym for Test-And-Set.

File diff suppressed because it is too large Load Diff

View File

@ -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:`rtems_interrupt_catch`
* :ref:`InterfaceRtemsInterruptCatch` - Establishes an interrupt service
routine.
- :ref:`rtems_interrupt_disable`
* :ref:`InterfaceRtemsInterruptDisable` - Disables the maskable interrupts on
the current processor.
- :ref:`rtems_interrupt_enable`
* :ref:`InterfaceRtemsInterruptEnable` - Restores the previous interrupt level
on the current processor.
- :ref:`rtems_interrupt_flash`
* :ref:`InterfaceRtemsInterruptFlash` - Flashes interrupts on the current
processor.
- :ref:`rtems_interrupt_local_disable`
* :ref:`InterfaceRtemsInterruptLocalDisable` - Disables the maskable interrupts
on the current processor.
- :ref:`rtems_interrupt_local_enable`
* :ref:`InterfaceRtemsInterruptLocalEnable` - Restores the previous interrupt
level on the current processor.
- :ref:`rtems_interrupt_lock_initialize`
* :ref:`InterfaceRtemsInterruptIsInProgress` - Checks if an ISR is in progress
on the current processor.
- :ref:`rtems_interrupt_lock_acquire`
* :ref:`InterfaceRtemsInterruptCause` - Causes the interrupt.
- :ref:`rtems_interrupt_lock_release`
* :ref:`InterfaceRtemsInterruptClear` - Clears the interrupt.
- :ref:`rtems_interrupt_lock_acquire_isr`
* :ref:`InterfaceRtemsInterruptLockInitialize` - Initializes the ISR lock.
- :ref:`rtems_interrupt_lock_release_isr`
* :ref:`InterfaceRtemsInterruptLockDestroy` - Destroys the ISR lock.
- :ref:`rtems_interrupt_is_in_progress`
* :ref:`InterfaceRtemsInterruptLockAcquire` - Acquires the ISR lock.
* :ref:`InterfaceRtemsInterruptLockRelease` - Releases the ISR lock.
* :ref:`InterfaceRtemsInterruptLockAcquireIsr` - Acquires the ISR lock from
within an ISR.
* :ref:`InterfaceRtemsInterruptLockReleaseIsr` - Releases the ISR lock from
within an ISR.
* :ref:`InterfaceRtemsInterruptLockInterruptDisable` - Disables maskable
interrupts on the current processor.
* :ref:`InterfaceRTEMSINTERRUPTLOCKDECLARE` - Declares an ISR lock object.
* :ref:`InterfaceRTEMSINTERRUPTLOCKDEFINE` - Defines an ISR lock object.
* :ref:`InterfaceRTEMSINTERRUPTLOCKINITIALIZER` - Statically initializes an ISR
lock object.
* :ref:`InterfaceRTEMSINTERRUPTLOCKMEMBER` - Defines an ISR lock member.
* :ref:`InterfaceRTEMSINTERRUPTLOCKREFERENCE` - Defines an ISR lock object
reference.