[ARM异常]-armv8/armv9异步异常类型、路由、屏蔽
快速鏈接:
.
👉👉👉 個人博客筆記導讀目錄(全部) 👈👈👈
1、異步異常的類型
系統中有哪些異步異常(中斷)?
官方文檔原話 :In the Armv8-A architecture, asynchronous exceptions that are taken to AArch64 state are also known as interrupts.
誰要是再說中斷就是:FIQ、IRQ誰就是小烏龜
正確的說法應該是:產生到aarch64的異步異常(包括IRQ, FIQ, SError) 可看作中斷
那么異步異常都包含哪些呢?
其實主要就是: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
2、異步異常的路由(routing)
3、異步異常的屏蔽(MASK)
在PSTATE中,A/I/F比特分別可以對SError、IRQ、FIQ進行MASK
- SError : PSTATE.A
- IRQ : PSTATE.I
- FIQ : PSTATE.F
但是在有些場景下,MASK將會失效,如在一些中斷被強制target到EL3的配置下,中斷的taken就不在關系PSTATE的mask位了。
以下表格做出了詳細的說明:
其中:
- A 表示 中斷的taken 將忽略 PSTATE的MASK位
- B 表示 中斷的taken 不會忽略 PSTATE的MASK位,如果MASK了,就不會taken了。
- C 表示 中斷不會被
- A/B是 描述serror且和FEAT_DoubleFault相關的,暫不介紹
總結
以上是生活随笔為你收集整理的[ARM异常]-armv8/armv9异步异常类型、路由、屏蔽的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [ARM异常]-异常进入和异常退出时的a
- 下一篇: [ARM异常]-中断的术语介绍:targ