Commit 2afcf1d4 authored by Lauren Wehrmeister's avatar Lauren Wehrmeister Committed by TrustedFirmware Code Review
Browse files

Merge "doc: RAS: fixing broken links" into integration

parents 568a8817 c3233c11
...@@ -176,6 +176,8 @@ dispatcher may register more than one priority level. ...@@ -176,6 +176,8 @@ dispatcher may register more than one priority level.
Dispatchers are assigned interrupt priority levels in two steps: Dispatchers are assigned interrupt priority levels in two steps:
.. _Partitioning priority levels:
Partitioning priority levels Partitioning priority levels
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...@@ -365,6 +367,8 @@ assign interrupts to fictitious dispatchers: ...@@ -365,6 +367,8 @@ assign interrupts to fictitious dispatchers:
See also the `Build-time flow`_ and the `Run-time flow`_. See also the `Build-time flow`_ and the `Run-time flow`_.
.. _Activating and Deactivating priorities:
Activating and Deactivating priorities Activating and Deactivating priorities
-------------------------------------- --------------------------------------
......
...@@ -9,10 +9,8 @@ In conjunction with the |EHF|, support for RAS extension enables firmware-first ...@@ -9,10 +9,8 @@ In conjunction with the |EHF|, support for RAS extension enables firmware-first
paradigm for handling platform errors: exceptions resulting from errors are paradigm for handling platform errors: exceptions resulting from errors are
routed to and handled in EL3. Said errors are Synchronous External Abort (SEA), routed to and handled in EL3. Said errors are Synchronous External Abort (SEA),
Asynchronous External Abort (signalled as SErrors), Fault Handling and Error Asynchronous External Abort (signalled as SErrors), Fault Handling and Error
Recovery interrupts. The |EHF| document mentions various `error handling Recovery interrupts. The |EHF| document mentions various :ref:`error handling
use-cases`__. use-cases <delegation-use-cases>` .
.. __: exception-handling.rst#delegation-use-cases
For the description of Arm RAS extensions, Standard Error Records, and the For the description of Arm RAS extensions, Standard Error Records, and the
precise definition of RAS terminology, please refer to the Arm Architecture precise definition of RAS terminology, please refer to the Arm Architecture
...@@ -46,9 +44,7 @@ Platform APIs ...@@ -46,9 +44,7 @@ Platform APIs
The RAS framework allows the platform to define handlers for External Abort, The RAS framework allows the platform to define handlers for External Abort,
Uncontainable Errors, Double Fault, and errors rising from EL3 execution. Please Uncontainable Errors, Double Fault, and errors rising from EL3 execution. Please
refer to the porting guide for the `RAS platform API descriptions`__. refer to :ref:`RAS Porting Guide <External Abort handling and RAS Support>`.
.. __: ../getting_started/porting-guide.rst#external-abort-handling-and-ras-support
Registering RAS error records Registering RAS error records
----------------------------- -----------------------------
...@@ -114,9 +110,8 @@ The error handler must have the following prototype: ...@@ -114,9 +110,8 @@ The error handler must have the following prototype:
The ``data`` constant parameter describes the various properties of the error, The ``data`` constant parameter describes the various properties of the error,
including the reason for the error, exception syndrome, and also ``flags``, including the reason for the error, exception syndrome, and also ``flags``,
``cookie``, and ``handle`` parameters from the `top-level exception handler`__. ``cookie``, and ``handle`` parameters from the :ref:`top-level exception handler
<EL3 interrupts>`.
.. __: interrupt-framework-design.rst#el3-interrupts
The platform is expected populate an array using the macros above, and register The platform is expected populate an array using the macros above, and register
the it with the RAS framework using the macro ``REGISTER_ERR_RECORD_INFO()``, the it with the RAS framework using the macro ``REGISTER_ERR_RECORD_INFO()``,
...@@ -229,21 +224,17 @@ Interaction with Exception Handling Framework ...@@ -229,21 +224,17 @@ Interaction with Exception Handling Framework
As mentioned in earlier sections, RAS framework interacts with the |EHF| to As mentioned in earlier sections, RAS framework interacts with the |EHF| to
arbitrate handling of RAS exceptions with others that are routed to EL3. This arbitrate handling of RAS exceptions with others that are routed to EL3. This
means that the platform must partition a `priority level`__ for handling RAS means that the platform must partition a :ref:`priority level <Partitioning
exceptions. The platform must then define the macro ``PLAT_RAS_PRI`` to the priority levels>` for handling RAS exceptions. The platform must then define
priority level used for RAS exceptions. Platforms would typically want to the macro ``PLAT_RAS_PRI`` to the priority level used for RAS exceptions.
allocate the highest secure priority for RAS handling. Platforms would typically want to allocate the highest secure priority for
RAS handling.
.. __: exception-handling.rst#partitioning-priority-levels
Handling of both :ref:`interrupt <interrupt-flow>` and :ref:`non-interrupt
Handling of both `interrupt`__ and `non-interrupt`__ exceptions follow the <non-interrupt-flow>` exceptions follow the sequences outlined in the |EHF|
sequences outlined in the |EHF| documentation. I.e., for interrupts, the documentation. I.e., for interrupts, the priority management is implicit; but
priority management is implicit; but for non-interrupt exceptions, they're for non-interrupt exceptions, they're explicit using :ref:`EHF APIs
explicit using `EHF APIs`__. <Activating and Deactivating priorities>`.
.. __: exception-handling.rst#interrupt-flow
.. __: exception-handling.rst#non-interrupt-flow
.. __: exception-handling.rst#activating-and-deactivating-priorities
-------------- --------------
......
...@@ -138,6 +138,8 @@ Non-secure interrupts ...@@ -138,6 +138,8 @@ Non-secure interrupts
reason to route the interrupt to EL3 software and then hand it back to reason to route the interrupt to EL3 software and then hand it back to
non-secure software for handling. non-secure software for handling.
.. _EL3 interrupts:
EL3 interrupts EL3 interrupts
^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
......
...@@ -2729,6 +2729,8 @@ data on the designated crash console. It should only use general purpose ...@@ -2729,6 +2729,8 @@ data on the designated crash console. It should only use general purpose
registers x0 through x5 to do its work. The return value is 0 on successful registers x0 through x5 to do its work. The return value is 0 on successful
completion; otherwise the return value is -1. completion; otherwise the return value is -1.
.. _External Abort handling and RAS Support:
External Abort handling and RAS Support External Abort handling and RAS Support
--------------------------------------- ---------------------------------------
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment