没有合适的资源?快使用搜索试试~ 我知道了~
DEN0028E-SMC-Calling-Convention-1.4eac0
需积分: 0 2 下载量 171 浏览量
2023-01-02
20:39:09
上传
评论
收藏 764KB PDF 举报
温馨提示
试读
46页
DEN0028E-SMC-Calling-Convention-1.4eac0
资源推荐
资源详情
资源评论
SMC Calling Convention
Document number:
ARM DEN 0028E
Release Quality:
EAC0
Issue Number:
1.4
Confidentiality:
Non-confidential
Date of Issue:
May 2022
© Copyright Arm Limited 2013-2022. All rights reserved.
ARM DEN 0028E Copyright © 2013 - 2022 Arm Limited or its affiliates. All rights reserved. Page ii
1.4 Non-confidential
Contents
About this document v
Release Information v
Arm Non-Confidential Document Licence (“Licence”) vi
References viii
Terms and abbreviations ix
Feedback xii
Feedback on this book xii
1 Introduction 13
2 SMC and HVC calling conventions 14
2.1 Secure Monitor Calls 14
2.2 Hypervisor Calls 14
2.3 Fast Calls and Yielding Calls 14
2.4 32-bit and 64-bit conventions 14
2.5 Function Identifiers 14
2.5.1 Fast Calls 14
2.5.2 Yielding Calls 16
2.5.3 Conduits 16
2.6 SMC32/HVC32 argument passing 16
2.7 SMC64/HVC64 argument passing 17
2.8 SME, SVE, SIMD and floating-point registers 17
2.9 SMC and HVC immediate value 18
2.10 Client ID (optional) 18
2.10.1 SMC calls 18
2.10.2 HVC calls 18
2.11 Secure OS ID (optional) 19
2.12 Session ID (optional) 19
ARM DEN 0028E Copyright © 2013 - 2022 Arm Limited or its affiliates. All rights reserved. Page iii
1.4 Non-confidential
3 AArch64 SMC and HVC calling conventions 20
3.1 Register use in AArch64 SMC and HVC calls 20
4 AArch32 SMC and HVC calling convention 22
4.1 Register use in AArch32 SMC and HVC Calls 22
5 SMC and HVC results 23
5.1 Error codes 23
5.2 Unknown Function Identifier 23
5.3 Unique Identification format 23
5.4 Revision information format 24
6 Function Identifier Ranges 25
6.1 Allocation of values 25
6.2 General service queries 26
6.3 Implemented Standard Secure Service Calls 27
6.4 Implemented Standard Hypervisor Service Calls 28
7 Arm Architecture Calls 29
7.1 Return codes 29
7.2 SMCCC_VERSION 29
7.2.1 Usage 29
7.2.2 Discovery 29
7.2.3 Caller responsibilities 30
7.2.4 Implementation responsibilities 30
7.3 SMCCC_ARCH_FEATURES 30
7.3.1 Usage 30
7.3.2 Discovery 30
7.3.3 Parameters 30
7.3.4 Return 31
7.3.5 Caller responsibilities 31
7.3.6 Implementation responsibilities 31
7.4 SMCCC_ARCH_SOC_ID 31
7.4.1 Usage 32
7.4.2 Discovery 32
ARM DEN 0028E Copyright © 2013 - 2022 Arm Limited or its affiliates. All rights reserved. Page iv
1.4 Non-confidential
7.4.3 Parameters 32
7.4.4 Return 32
7.4.5 Caller responsibilities 32
7.4.6 Implementation responsibilities 32
7.5 SMCCC_ARCH_WORKAROUND_1 32
7.5.1 Usage 33
7.5.2 Discovery 33
7.5.3 Caller responsibilities 33
7.5.4 Implementation responsibilities 33
7.6 SMCCC_ARCH_WORKAROUND_2 34
7.6.1 Usage 34
7.6.2 Discovery 34
7.6.3 Caller responsibilities 35
7.6.4 Implementation responsibilities 35
7.7 SMCCC_ARCH_WORKAROUND_3 35
7.7.1 Usage 36
7.7.2 Discovery 36
7.7.3 Caller Responsibilities 36
7.7.4 Implementation responsibilities 36
8 Appendix A: Example implementation of Yielding Service calls 38
9 Appendix B: Discovery of Arm Architecture Service functions 39
Step 1: Determine if SMCCC_VERSION is implemented 39
Step 2: Determine if Arm Architecture Service function is implemented 39
10 Appendix C: SME, SVE, SIMD and FP live state preservation by the SMCCC implementation 41
10.1 SVE state 41
10.2 SME state 41
10.2.1 Streaming SVE processor state 41
10.3 Register list to be preserved 42
11 Appendix D: SMCCC deployment model 44
12 Appendix E: Changelog 45
ARM DEN 0028E Copyright © 2013 - 2022 Arm Limited or its affiliates. All rights reserved. Page v
1.4 Non-confidential
About this document
Release Information
The change history table lists the changes that have been made to this document.
Date
Version
Confidentiality
Change
June 2013
A
Non-Confidential
First release
November 2016
B
Non-Confidential
HVC calling convention.
SMC calling convention clarifications and updates.
August 2020
C
Non-Confidential
Merge information contained in DEN 0070 (see [12.]).
Add guidelines for SVE register context management
and SoC ID Arm architecture call.
Allow R4—R7 (SMC32/HVC32) to be used as result
registers.
Allow X8—X17 to be used as parameter registers in
SMC64/HVC64.
Allow X4—X17 to be used as result registers in
SMC64/HVC64.
January 2021
D
Non-confidential
Add SVE absence of live state hint bit (FID[16]).
Minor text clarifications.
May 2022
E
Non-confidential
Add SME state management guidelines.
Update Standard Secure Service call list.
Add Standard Hypervisor Service call list.
Add SMCCC_ARCH_WORKAROUND_3 definition.
Add SMCCC deployment model description.
剩余45页未读,继续阅读
资源评论
TrustZone_Hcoco
- 粉丝: 1w+
- 资源: 26
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 人工智能实验四 感知器算法的设计实现
- java小项目多线程多线程 复制文件 冒泡排序 群聊
- 四数之和(java代码).docx
- 701837906919458TapScanner v3.0.10 (Pro).apk
- 青岛大学人工智能实验二 利用α-β搜索的博弈树算法编写一字棋游戏
- ### 1、项目介绍 本项目Scrapy进行数据爬取,并使用Django框架+PyEcharts实现可视化大屏 效果如下:
- # 微信小程序-健康菜谱 基于微信小程序的一个查找检索菜谱的应用 ### 效果 !动态图(./res/gif/demo
- zabbix-get命令包资源
- 289ssm-mysql-jsp 计算机课程实验管理系统.zip(可运行源码+数据库文件+文档)
- 毕业设计,基于PyQt5实现的可视化界面的Python车牌自动识别系统源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功