ARMv8-A系列学习笔记(3)--Chapter 3 Fundamentals of ARMv8

本文详细探讨了ARM架构中不同的异常级别(Exception Level),包括各级别的功能与应用场景,如EL0对应应用程序,EL1对应操作系统内核等。此外,还讨论了安全世界与普通世界的区别及其对应的异常级别变化。
摘要由CSDN通过智能技术生成



1. 

Exception Level:

EL0: App

EL1: OS kernel

EL2: hypervisor

EL3: firmware or Secure Monitor  

<-------------这里的firmware可能包括U-BOOT吗?或者是说,这里的FIRMWARE,泛指什么,执行什么功能,达到什么目的,是不是对SYS CTRL寄存器进行配置的软件?

<-------------Secure monitor acts as agateway for moving between the Normal and Secure worlds. 这个Secure monitor是硬件还是软件,还是综合体?


2.

分Normal World-Non-secure World与Secure world

Non-secure: 

Guest OS: EL1

Hypervisor: EL2


secure world:

aarch64 execution states:

secure firmware: EL0

Trusted OS: EL1


aarch32 execution states:

secure firmware: EL0

Trusted OS: EL3

<--------------------为什么aarch32 execution states下,trusted OS在EL3(与secure monitor同在EL3), 而aarch64 execution states, trusted OS在EL1


Secure world的情况下,没有EL2

<--------------------为什么secure world情况下,没有EL2?






3.

3.2 Changing Exception levels
In the ARMv7 architecture, the processor mode can change under privileged software control
or automatically when taking an exception. When an exception occurs, the core saves the
current execution state and the return address, enters the required mode, and possibly disables
hardware interrupts.
This is summarized in the following table. Applications operate at the lowest level of privilege,
PL0, previously unprivileged mode. Operating systems run at PL1, and the Hypervisor in a
system with the Virtualization extensions at PL2. The Secure monitor, which acts as a gateway
for moving between the Secure and Non-secure (Normal) worlds, also operates at PL1.
 


 The Secure monitor, which acts as a gateway
for moving between the Secure and Non-secure (Normal) worlds, also operates at PL1.
 
<-----为什么这里,secure monitor又是在PL1(EL1)下了?

<-----Monitor(Mon) Mode应该运行在PL1, 但secure monitor是有EL3的?

<-----ARMv7-A 是这样的,或者是说ARMV7-A就没有EL3一说?

<-----从图3-6来看,ARMV8-A. aarch32 下,securer monitor是运行在EL3的


4.

You can only change execution state by changing Exception level. Taking an exception might
change from AArch32 to AArch64, and returning from an exception may change from AArch64
to AArch32.


<-----需要切换aarch 32 and 64, 只能通过EXCEPTION LEVEL的切换来达到





评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值