0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SMP多核启动:armv8的安全扩展

麦辣鸡腿堡 来源:TrustZone 作者:Hcoco 2023-12-05 16:48 次阅读

为了增强arm架构的安全性,aarch64一共实现了secure和non-secure两种安全状态。通过一系列硬件扩展,在cpu执行状态、总线、内存、外设、中断、tlb、cache等方面都实现了两种状态之间的隔离。

在这种机制下,secure空间的程序可以访问所有secure和non-secure的资源,而non-secure空间的程序只能访问non-secure资源,却不能访问secure资源。从而可以将一些安全关键的资源放到secure空间,以增强其安全性。

为此aarch64实现了4个异常等级,其中EL3工作在secure空间,而EL0 – EL2既可以工作于secure空间,又可以工作于non-secure空间。不同异常等级及不同secure状态的模式下可运行不同类型软件。

如secure EL1和El0用于运行trust os内核及其用户态程序,non-secure EL1和El0用于运行普通操作系统内核(如linux)及其用户态程序,EL2用于运行虚拟机的hypervisor

而EL3运行secure monitor程序(通常为bl31),其功能为执行secure和non
secure状态切换、消息转发以及提供类似psci等secure空间服务。

以下为其示意图:

图片

psci是工作于non secure EL1(linux内核)和EL3(bl31)之间的一组电源管理接口,其目的是让linux实现具体的电源管理策略,而由bl31管理底层硬件相关的操作。从而将cpu电源控制这种影响系统安全的控制权限放到安全等级更高的层级中,从而提升系统的整体安全性。

那么psci如何从EL1调用EL3的服务呢?其实它和系统调用是类似的,只是系统调用是用户态程序陷入操作系统内核,而psci是从操作系统内核陷入secure monitor。armv8提供了一条smc异常指令,内核只需要提供合适的参数后,触发该指令即可通过异常的方式进入secure monitor。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电源
    +关注

    关注

    184

    文章

    17478

    浏览量

    249103
  • ARM
    ARM
    +关注

    关注

    134

    文章

    9027

    浏览量

    366432
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10802

    浏览量

    210762
  • SMP
    SMP
    +关注

    关注

    0

    文章

    71

    浏览量

    19610
收藏 人收藏

    评论

    相关推荐

    ARM重新定义ARMv8新架构,ARMv8新架构特性解说

    本文从ARMv8-A产生的背景开始,对它进行一个简单的介绍,使大家从整体上,对ARMv8有一个简单的了解。
    的头像 发表于 10-08 17:02 1w次阅读
    ARM重新定义<b class='flag-5'>ARMv8</b>新架构,<b class='flag-5'>ARMv8</b>新架构特性解说

    ARMv8架构资料分享

    )  · Memory Ordering  · 安全系统(例如普通世界和安全世界的切换)  本篇就依据上面的关键点对 ARMv8 架构进行一番探索。  ARMv8-A 架构基础    
    发表于 03-21 14:50

    ARMv8架构概述

    Armv8 OverviewARMv7与Armv8的升级示意如下:Aarch64指令集Aarch64的32个通用寄存器引用和描述如下,与Aarch32寄存器相比如下,在ARM 32位系统中,函数参数
    发表于 05-13 10:31

    Armv7和Armv8系统中跟踪的高级视图详解

    本指南主要介绍Armv7系统和Armv8系统中跟踪的高级视图,最高可达Armv8.4版本。 该指南涵盖: •跟踪是什么以及如何使用 •跟踪体系结构是如何定义的,以及它如何映射到不同的跟踪组件实现 •在Arm系统中可以看到哪些跟踪
    发表于 08-02 06:11

    ARMv8-A TrustZone软件对实施SVE的系统的影响

    本文档介绍ARMv8-A[ARMv8]的可伸缩向量扩展[SVE]对在应用程序处理器上以安全状态执行的软件的影响。 本文档考虑了部署现有ARMv8
    发表于 08-23 06:17

    ARM推新品:ARMv8首次支援64位元指令集

    处理器授权大厂ARM于上周(10/27)公布最新处理器规格ARMv8架构,一举将其产品线推入64位元市场。ARMv8ARMv7架构为基础,并内含64位元指令集,预估可将32/64位元应用优势极大化。
    发表于 11-01 09:32 1470次阅读

    64位ARMv8架构交易敲定 ARM助力Cavium进军新领域

    无晶圆网络芯片公司Cavium宣布,计划提供一个基于全定制内核设计的的家用多核系统芯片,该芯片是由ARM公司基于ARMv8 64位指令集架构基础上设计和实现的。该公司表示,该芯片将针对“
    发表于 08-02 16:57 1477次阅读

    TRACE32支持ARMv8架构

      ARMv8架构是首个包括64位执行模式的ARM架构,允许处理器将64位执行模式与32位执行模式相结合。开发该版本ARM指令系统的关键技术之一是将ARM处理器工艺的高能效优势融入64位计算,并获得更大的可用虚拟地址空间。ARMv8架构在异常及异常处理方面引入一种全新机制
    发表于 09-12 19:01 11次下载

    从软件开发的角度概述ARMv8处理器架构中的虚拟化操作

    ARMv8处理器CPU 基于ARMv8的系统中的虚拟化工具在这些系统中起着特殊的作用,它由几个组件组成,虽然ARMv7具有特殊的CPU模式来运行虚拟机管理程序作为扩展,但在
    发表于 10-13 20:00 831次阅读
    从软件开发的角度概述<b class='flag-5'>ARMv8</b>处理器架构中的虚拟化操作

    ARMv8处理器体系结构中的虚拟化功能

    基于ARMv8的系统中的虚拟化设施在这些系统中扮演着特殊角色,并且由几个组件组成。尽管ARMv7具有特殊的CPU模式来运行虚拟机监控程序作为扩展,但在ARMv8中,它已成为体系结构的一
    发表于 05-13 10:48 2041次阅读
    <b class='flag-5'>ARMv8</b>处理器体系结构中的虚拟化功能

    Armv8架构及虚拟化介绍

    ARMv8基本概念 (1)执行状态(execution state):处理器运行时的环境,包括寄存器的位宽、支持的指令集、异常模型、内存管理及编程模型等。ARMv8体系结构定义了两个执行状态: AArch64:64位的执行状态 提供31个64位的通用寄存
    的头像 发表于 04-16 10:45 6169次阅读

    rk3588是armv8吗?rk3588硬件资料

    rk3588是armv8吗?rk3588 硬件资料 RK3588是一款高性能处理器,是Rockchip公司推出的最新芯片。本文将详细介绍RK3588的硬件资料。 首先,我们需要了解一下RK3588
    的头像 发表于 08-21 17:32 3350次阅读

    ARMv8工作模式有哪些

    ),虚拟机管理器 EL3:最底层的安全固件,如 ARM Trusted Firmware(ATF/TF-A) ARMv8 提供了两种安全状态:Secure 和 Non-secure,也就是安全
    的头像 发表于 09-11 16:34 1334次阅读
    <b class='flag-5'>ARMv8</b>工作模式有哪些

    armv8 u-boot的启动介绍

    先看arm官网提供的一张图: 上图详细概括了arm官方推荐的armv8启动层次结构: 官方将启动分为了BL1,BL2,BL31,BL32,BL33阶段,根据顺序,芯片启动后首先执行B
    的头像 发表于 12-07 11:09 1836次阅读
    <b class='flag-5'>armv8</b> u-boot的<b class='flag-5'>启动</b>介绍

    u-boot armv8链接脚本

    u-boot armv8链接脚本 在进行源码分析之前,首先看看u-boot的链接脚本,通过链接脚本可以从整体了解一个u-boot的组成,并且可以在启动分析中知道某些逻辑是在完成什么工作。 在
    的头像 发表于 12-07 11:19 560次阅读