ARMv8

您所在的位置:网站首页 arm的异常类型有哪些 ARMv8

ARMv8

2023-11-21 13:43| 来源: 网络整理| 查看: 265

ARM架构定义了基于处理器模式的异常模型。 对于每种异常类型,体系结构都定义了异常所采用的模式。 这种模式被称为异常的目标模式(target mode)。 然而可配置的陷入,使能和路由控制常常可以更改异常的目标模式。 ARMv8-A 的AArch32遵循此模型。

当处理器发生异常时:

将当前程序状态保存在目标模式的SPSR中。保存异常的返回地址: 如果目标模式不是Hyp模式,则在目标模式的链接寄存器(LR)中。如果目标模式是Hyp模式,则在ELR_hyp中。进入目标模式。 除非异常目标模式是Monitor模式,否则不会更改安全状态。

ARMv7-A体系结构使用从PL0到PL2的特权级别。 在ARMv8-A中,异常级别已经取代了权限级别,但本节将介绍如何对PL1继续进行特殊使用。 下表显示了包含虚拟化扩展和安全扩展的ARMv7-A处理器的全套处理器模式。 它还显示了ARMv7-A分配给每个模式的特权级别,这些模式定义了其执行权限。 执行权限是在每个安全状态中独立定义的。

模式功能安全状态ARMv7-A特权级别User (USR)非特权模式(大多数应用程序都运行在该模式)BothPL0FIQFIQ中断异常时进入BothPL1IRQIRQ中断异常时进入BothPL1Supervisor (SVC)重置时进入或执行监督调用指令(SVC)时进入BothPL1Monitor (MON)当执行SMC指令(安全监视器调用)时或处理器进入Monitor 模式异常用于支持安全状态和非安全状态之间的切换。Secure onlyPL1Abort (ABT)内存访问异常时进入BothPL1Undef (UND)在执行未定义的指令时进入BothPL1System (SYS)特权模式,与用户模式共享寄存器视图BothPL1Hyp (HYP)由Hypervisor调用和Hyp陷入异常时进入Non-secure onlyPL2

在ARMv7-A体系结构中,处理器模式可以在特权软件控制下更改,或者在发生异常时自动更改。 当发生异常时,内核保存当前执行状态和返回地址,进入处理异常所需的模式,并可能禁用硬件中断。 在以前没有特权的用户模式,应用程序以最低级别的特权PL0运行。

操作系统在PL1上运行。 在具有虚拟化扩展的系统中,Hypervisor在PL2上运行。 安全监视器作为在安全世界和普通世界之间切换的网关,也在PL1上运行。

ARMv8-A不更改此异常模型,但添加了以下规则以涵盖ARMv7-A中不可能出现的情况:

如果EL2正在使用AArch64,则任何以Hyp模式为目标的异常进入EL2也将使用AArch64。如果EL3正在使用AArch64,则任何以Monitor模式为目标的异常进入EL3也将使用AArch64。

在AArch64中,处理器模式被映射到的异常级别如下图所示(linux 就是rich os)。

比较典型映射如下:

当发生异常时,处理器把异常级别切换到能处理该异常类型的异常级别(相当于ARMv7-A中的处理器模式)。 在AArch32中安全监视器(Secure monitor)在PL1上运行,而在AArch64中安全监视器在EL3上运行。

处理器模式映射到异常级别

安全状态下的异常级别取决于EL3是否使用AArch64。 这会影响处理器模式如何映射到异常级别。

ARMv7-A中使用的monitor模式在ARMv8-A中不存在。这是因为正在使用AArch64的EL3提供了Secure monitor功能。

在普通世界中映射没有变化,但是在安全世界中,Supervisor 模式,Abort 模式,IRQ模式,FIQ模式,Undefined 模式和System 模式从EL1升级到EL3。 这是因为:

EL3提供Secure Monitor功能。ARMv6安全扩展将Monitor 模式定义为与下面这些模式为同一层级的安全状态模式:Supervisor 模式,Abort 模式,IRQ模式,FIQ模式,Undefined 模式和System 模式。 因此,这些模式和Secure Monitor功能一起表示为EL3。

这个重映射对处理器的操作没有影响。 在AArch32状态内的操作完全根据处理器模式之间的交互来定义,而不涉及任何关联的权限级别或异常级别。

ARMv8-A中的权限级别

当EL3使用AArch32时,这些模式集(Supervisor,Abort,IRQ,FIQ,Undefined,System)是处于安全状态的EL3模式,在所有其他情况下都是EL1模式。

为了避免这种复杂的描述,这些模式可以被描述为PL1模式,反映它们在ARMv7-A中的特权级别。 与此相关的是:

在这两种安全状态下,这些模式下影响执行的控制可以被描述为PL1控制。在这些模式或用户模式下执行时,使用的转换系统称为PL1&0转换机制。


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3