ARMv8简介

参考文献:

  1. DDI0487A_a_armv8_arm.pdf
  2. DDI0500C_cortex_a53_r0p2_trm.pdf
  3. ARM_Trusted_Firmare_for_ARMv8-A.LCU13_.pdf

Armv8 Overview

ARMv7与Armv8的升级示意如下:

armv8_overview

Aarch64指令集

Aarch64的32个通用寄存器引用和描述如下,

aarch64_gpr
与Aarch32寄存器相比如下,

Aarch64_reg
在ARM 32位系统中,函数参数用R0~R3表示arg0~arg3,超过4个传递参数的,压到栈里进行传递。 返回值用R0表示。
在AArch64中,函数参数用R0~R7表示arg0~arg7,超过8个传递参数的,压到栈里进行传递。 返回值用R0表示。在AArch64下,R可以是64bit也可以是32bit。

Exception Level

Aarch64_EL
EL0用于运行User-Space,EL1用于运行Kernel,EL2用于运行Hypervisor,EL3用于Secure/Non-Secure的切换。

Memory Management

在AArch64上,TBBR0和TBBR1分别用于指定user和kernel的页表。最大支持48bit的虚拟地址映射,也就是最大支持256TB的内存管理。

Armv8_MM
ARMv8的MMU支持4KB和64KB两种page size。
● 4KB and 4 levels => 48-bit VA
● 64KB and 3 levels => 48-bit VA (top table partially populated)
● 4KB and 3 levels => 39-bit VA (currently used by AArch64 Linux)
● 64KB and 2 levels => 42-bit VA

Security

AArch64中的EL3类似于ARM32的MON模式,用于secure和non-secure的trust zone切换。Secure EL1可以运行在AArch64或者AArch32,后者可以作为兼容以前的ARM32的Trusted OS使用。

aarch

ARM Trusted Firmware

EL3级别安全管理firmware,可负责CPU上下电,大小核迁移等。

trust world

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值