Click the blue "Arm Selected" in the upper left corner and select "Set as Favorite"
Types of Asynchronous Exceptions
What asynchronous exceptions (interrupts) exist in the system?
Official documentation states:<span><span>In the Armv8-A architecture, asynchronous exceptions that are taken to AArch64 state are also known as interrupts.</span></span>
Anyone who says interrupts are: FIQ, IRQ is a little turtle.
The correct statement should be: Asynchronous exceptions generated to AArch64 (including IRQ, FIQ, SError) can be considered as interrupts.
So what do asynchronous exceptions include?
They mainly consist of:irq, fiq, SError
Physical interrupts are signals sent to the PE from outside the PE. They are:
-
SError. System Error.
-
IRQ.
-
FIQ.
Virtual interrupts are interrupts that software executing at EL2 can enable and make pending. A virtual interrupt is taken from EL0 or EL1 to EL1. Virtual interrupts have names that correspond to the physical interrupts:
-
vSError.
-
vIRQ.
-
vFIQ
Routing of Asynchronous Exceptions
Masking of Asynchronous Exceptions
In PSTATE, the A/I/F bits can mask SError, IRQ, and FIQ respectively.
-
SError: PSTATE.A
-
IRQ: PSTATE.I
-
FIQ: PSTATE.F
However, in some scenarios, the MASK will become ineffective, such as when some interrupts are forcibly targeted to EL3, the interrupt taken will no longer relate to the PSTATE mask bits.
The following table provides detailed explanations:Where:
-
A indicates that the interrupt taken will ignore the PSTATE mask bits.
-
B indicates that the interrupt taken will not ignore the PSTATE mask bits; if masked, it will not be taken.
-
C indicates that the interrupt will not be taken.
-
A/B describes SError and is related to
<span><span>FEAT_DoubleFault</span></span>
; not introduced here.
———— END————
Recommended Courses | “From Beginner to Master in Armv8/Armv9 Architecture” (Three Sessions) |
“Trustzone/TEE/Security from Beginner to Master” Standard Edition | |
Arm Selected – Platinum VIP Course💋Arm Selected “All Store VIP” | |
🌍 Consult via WeChat: sami01_2023 |