SMC详解

news2024/11/16 1:41:30

SMC全称:Secure Monitor Call

目的:进入到EL3异常等级

应用场景:大于等于EL1异常等级下使用(EL0下不能使用)

官方介绍以及使用方式如下:

主要配置:

(1) SCR_EL3.SMD:

(2) HCR_EL2.TSC

 主要功能如下:

实验验证:

功能0

基本配置:安全状态,安全;异常等级EL3;执行状态,AArch64

具体操作:执行SMC #0x1234

操作前后相关寄存器变化对比见下图:

 测试结论:进入到EL3,EC值等于0x17,并且能将值传递到ESR_EL3中的imm16字段中

功能1

基本配置:安全状态,安全;异常等级Supervisor;执行状态,AArch32

具体操作:执行SMC #0x08 

操作前后相关寄存器变化对比见下图:

  测试结论:进入到EL3,EC值等于0x13

  疑问:传递参数不能超过15,并且参数不知道传递到哪里

功能2和功能3

功能4

基本配置:安全状态,非安全;异常等级EL1;执行状态,AArch64

具体操作:执行SMC #0x1234

操作前后相关寄存器变化对比见下图:

  测试结论:进入到EL2,EC值等于0x17,并且能将值传递到ESR_EL2中的imm16字段中

  注:

(1)从EL3切到EL1非安装状态的时候,HCR寄存器RW, bit [31]设置为1,否则设置不成功

(2)HCR寄存器TSC, bit [19]设置为1

功能5

基本配置:安全状态,非安全;异常等级Supervisor;执行状态,AArch32

具体操作:执行SMC #0x8

操作前后相关寄存器变化对比见下图:

测试结论:Hyp mode,EC值等于0x13

 汇总:

结论:除了功能1外,其它功能经验证符合预期

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/129377.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ArcGIS基础实验操作100例--实验20按像元修改栅格值

本实验专栏来自于汤国安教授《地理信息系统基础实验操作100例》一书 实验平台:ArcGIS 10.6 实验数据:请访问实验1(传送门) 基础编辑篇--实验20 按像元修改栅格值 目录 一、实验背景 二、实验数据 三、实验步骤 (1&…

SpringCloud整合Seata(AT两阶段--场景: 下单减少库存)

文章目录零:前置操作 --- 搭建Seata服务一:介绍说明二:添加undolog表三:框架整合Seata相关依赖3.1:引入公共SEATA POM依赖3.2:业务服务引入SEATA公共组件依赖3.3:yml文件配置Seata客户端和注册信…

[C++]模板与STL简介

🥁作者: 华丞臧 📕​​​​专栏:【C】 各位读者老爷如果觉得博主写的不错,请诸位多多支持(点赞收藏关注)。如果有错误的地方,欢迎在评论区指出。 推荐一款刷题网站 👉LeetCode 文章目录模板初阶…

AspNetCore中的日志组件

介绍 本文写作年代比较久远,最新日志文档请查看: .NET Core 和 ASP.NET Core 中的日志记录 | Microsoft Learn了解如何使用由 Microsoft Extension.Logging NuGet 包提供的日志记录框架。https://learn.microsoft.com/zh-cn/aspnet/core/fundamentals/l…

选择-C++选择分支

引言 你们喜欢吃"只因"肉? a > 喜欢 b > 还行 c > 不喜欢 请说出你的答案: 证明 真ikun 和假ikun 关键点 我现在 a 因为我是ikun 我是 唯一玩梗的CSDN技术型博主 哈哈所以夹带点私货 你们dddd(懂的都懂) 关注我,让你看到更多的C/C 的技术点和技术以外的梗…

CTF之MISC题目-简单流量

CTF系列文章 第一篇 CTF之密码学题目-classical && coding 第二篇 CTF之MISC题目-西游记 第三篇 CTF之MISC题目-简单流量 文章目录CTF系列文章前言一、题目是什么?二、解题步骤1.下载文件、解压2.使用wireshark3.解压flag.zip总结前言 这是一道关于网络数…

ElasticSearch-倒排索引

文章目录一、mysql数据库存在的问题1.1 模糊查询索引失效1.2 不能分词查询二、倒排索引一、mysql数据库存在的问题 1.1 模糊查询索引失效 假设要查询上图中title中包含"手机"的信息,那么sql语句是这样的 SELECT * FROM goods WHERE title LIKE %手机%;如…

功能更新 | 身份认证增强安全配置

在开始本文前,先给大家出个解谜题,密码在下一段文字里,由 9 个字组成,开动你的脑筋吧,我们在本文结尾会揭晓答案: 2022 年马上就要结束了,机遇与挑战并存的一年。昨天,北京郊区一些地…

企业电子招标采购系统源码及功能清单

​ ​ 一、立项管理 1、招标立项申请 功能点:招标类项目立项申请入口,用户可以保存为草稿,提交。 2、非招标立项申请 功能点:非招标立项申请入口、用户可以保存为草稿、提交。 3、采购立项列表 功能点:对草稿进行编…

从卖货到广告,跨境电商解锁变现新模式

一、经济全球化背景下,跨境电商作为外贸发展的新模式,可谓势头正盛。而 2022 年,在汇率波动、欧美通胀等不可抗逆因素的影响下,跨境电商大环境也面临着诸多挑战。对于消费者而言,全球通货膨胀持续走高,物价…

List、List<Object>、List<?>

List、List、List<?>ListList<Object>List<?>demoList 1、声明的List集合对其 所指向的集合对象&#xff08;就是赋值的集合对象&#xff09;的限制:无泛型限制&#xff0c;并且无视指向的集合对象的泛型&#xff0c;直接当成List处理&#xff08;泛型擦除…

软件测试难吗?应该怎样学习?

软件测试是一份不错的职业&#xff0c;现在也有许多小伙伴想要学习软件测试技术&#xff0c;成为一名软件测试员。但是零经验的小白又担心不知道软件测试好不好学&#xff0c;应该如何学习软件测试能力&#xff0c;需要做哪些培训呢。下面就给大家推荐一些学习经验与技巧&#…

【JavaEE】JVM(八股文!)

努力经营当下&#xff0c;直至未来明朗&#xff01; 文章目录【JVM内存划分】【JVM类加载】【JVM垃圾回收机制GC】一&#xff09;GC是啥二&#xff09;GC回收哪部分内存三&#xff09;具体怎么回收四&#xff09;怎么找垃圾&#xff08;判定某个对象是否是垃圾&#xff09;五&a…

圆和椭圆外投影

1 圆外一点在缩放到圆上 圆方程: x2y222x^2y^2 2^2 x2y222 直线方程: ykxy kx ykx 圆外一点: A(3,3)A(3,3)A(3,3) 求点B. 方法1-解方程 圆外一点A(3,3)A(3,3)A(3,3),那么:直线k1k1k1,直线方程:yxyxyx 方程联立: x2x24x^2 x^2 4 \\ x2x24 x2y2x \sqrt{2} \\ y \sqrt…

点云 3D 分割 - SqueezeSeg(ICRA 2018)

点云 3D 分割 - SqueezeSeg&#xff08;ICRA 2018&#xff09;摘要1. 引言2. 相关工作A. 三维激光雷达点云的语义分割B. 用于3D点云的CNNC. 图像的语义分割D. 通过模拟收集数据3. 方法描述A. 点云变换B. 网络结构C. 条件随机场D. 数据收集4. 实验A. 评估指标B. 实验设置C. 实验…

2022电商行业重磅年度报告:八大年度关键词盘点

2022年终于过去&#xff0c;当网易云音乐推出“年度报告”霸屏朋友圈&#xff0c;它在试图唤起那些可能被遗忘的情绪和小心思。 这一年&#xff0c;有人悲观&#xff0c;有人积极&#xff0c;有人凭实力搭上了顺风车&#xff0c;也有人放弃了抵抗。这一年&#xff0c;作为电商人…

Mybatis学习笔记 | 动力节点老杜

目录 一、MyBatis概述 历史 MyBatis特点 ORM概述 二、Mybatis入门 1、SqlSessionFactory和SqlSession 2、核心配置文件的加载 3、mybatis事务管理机制 4、第一个mybatis程序 5、mybatis继承日志 三、mybatis增删改查 1、增加 通过Map传值 通过实体类传值 2、删除…

【uniapp】如何实现拖动文件直接上传

做uniapp项目发布H5有个后台管理&#xff0c;用户说上传文件的体验需要改进&#xff0c;那个弹出选择文件对话框然后去填文件路径选择文件上传&#xff0c;感觉操作太麻烦&#xff0c;于是就有了这么一个需求&#xff0c;需要实现拖动文件直接上传的&#xff0c;这样效率和体验…

九、动态组件与插槽

一、动态组件 1.1、什么是动态组件 动态组件指的是动态切换组件的显示与隐藏。 1.2、如何实现动态组件渲染 vue提供了一个内置的<component>组件&#xff0c;专门用来实现动态组件的渲染。示例代码如下&#xff1a; data() {// 1. 当前要渲染的组件名称return {comN…

学习笔记:混沌工程

个人理解&#xff1a; 混沌工程&#xff0c;chaos engineering&#xff0c;找出系统中的脆弱环节的方法学 混沌工程是软件测试和质量保证的一种方法&#xff0c;在黑客入侵之前或系统故障之前使用它来识别漏洞&#xff0c;由于混沌工程测试而做出的改变增加了人们对系统的信心。…