[译] ARMv8-A的基础知识

在ARMv8-A中,程序会运行在四个异常级别中的一个。 在64位执行状态下,异常级别决定了执行权限级别,类似于ARMv7-A中定义的权限级别。

异常级别的概念是ARMv8-A架构的基础。 所有操作都在定义的异常级别进行,一个寄存器可以存在一个或多个异常级别。 在一个异常级别更改寄存器中的某个位可以在另一个异常级别有不同的效果。

异常级别提供了软件执行权限的逻辑分离,该软件执行权限适用于ARMv8-A体系结构的所有操作状态。 系统软件确定异常级别,从而确定运行软件的权限级别。 异常级别与计算机科学中常见的分层的保护域(hierarchical protection domains)类似,并且支持这一概念。

通常在每个异常级别运行的软件类型是:

  • EL0
    普通用户应用程序。 EL0对应于最低特权级别,通常被描述为非特权级别,而在EL0之上的任何异常级别执行的通常被称为特权执行。
  • EL1
    操作系统内核。通常被描述为特权。
  • EL2
    虚拟机管理程序(Hypervisor)。
  • EL3
    低级固件,包括安全监视器等。

如果一个异常级别(ELn)比另一个异常级别的n更大,则n更大的异常级别更高,被认为是处于较高的异常级别。 反之n值更小的则异常级别更低。

一般来说,一个软件(如应用程序,操作系统的内核或hypervisor)占用一个异常级别。 一个例外是内核管理程序,比如KVM,在EL2和EL1上都有运行。

ARMv8-A还提供了两个安全状态。 ARM®体系结构参考手册使用术语安全(Secure )和非安全(Non-secure)来指代这些系统安全状态。 这里,非安全状态被称为普通世界(Normal world)。 非安全状态并不表示任何安全漏洞,而是指正常操作,因此与普通世界相同。 “世界”(‘world’ )这个词是用来强调安全世界和这个设备能够拥有的其他状态之间的关系。

操作系统(OS)在普通世界中运行,与在同一硬件上运行在安全世界中的可信操作系统并行运行。 ARMTrustZone®技术使系统能够在普通世界和安全世界之间进行区分。 这可以防止某些软件攻击和硬件攻击。 安全监视器(Secure monitor )充当普通世界和安全世界之间移动的网关。 ARMv8-A体系结构中的安全监视器比起所有其他软件有着更高的异常级别。

exception_levels

            在普通世界和安全世界中的ARMv8-A异常级别

ARMv8-A还为虚拟化提供硬件支持。 在普通世界中,虚拟化使得多个操作系统能够在同一个系统上共存和操作。 这意味着管理程序(hypervisor )或虚拟机管理器(VMM)可以在系统上运行并托管多个客户机操作系统。 然后每个客户操作系统在虚拟机上运行。 每个操作系统并没有意识到它与其他客户操作系统共享系统时间。

这意味着普通世界由以下部分组成:

  • 应用
    运行在普通世界的应用程序。
  • 客户操作系统
    这些包括在非安全EL1中运行的Linux或Windows。在虚拟机管理程序下运行时,操作系统内核可以作为客户机或主机运行,具体取决于虚拟机管理程序模式。
  • 管理程序(Hypervisor)
    这在EL2上运行。当管理程序出现并启用时,可以在多个客户操作系统之间进行切换操作。

安全世界有以下组件:

  • 安全固件(Secure firmware)
    在应用处理器上,安全固件必须是系统启动的第一个程序。它提供了多种服务,包括平台初始化,可信操作系统的安装以及路由安全监视器的调用。安全固件在EL3上执行。
  • 可信的操作系统
    可信的操作系统为普通世界提供安全服务,并为执行安全或受信任的应用程序提供运行时环境。它在EL3使用AArch64时在安全EL1上执行,在EL3使用AArch32时在安全EL3上执行。

原文

https://developer.arm.com/products/architecture/a-profile/docs/100878/latest/fundamentals-of-armv8-a

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,794评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,050评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,587评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,861评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,901评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,898评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,832评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,617评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,077评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,349评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,483评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,199评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,824评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,442评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,632评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,474评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,393评论 2 352