Asynchronous Exception Types, Routing, and Masking in Armv8/Armv9

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.Asynchronous Exception Types, Routing, and Masking in Armv8/Armv9

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

Asynchronous Exception Types, Routing, and Masking in Armv8/Armv9Asynchronous Exception Types, Routing, and Masking in Armv8/Armv9

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:Asynchronous Exception Types, Routing, and Masking in Armv8/Armv9Where:

  • 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

Leave a Comment