发布时间:2026/7/18 5:47:54
【SOC】SMC 中的 function identifier 和 SCMI中 protocol_id 的区别 SMC Function ID 和 SCMI Protocol ID 虽然都带“ID”但它们的性质、格式和作用范围完全不同。简单来说它们是两张不同坐标系里独立编制的“门牌号”SMC Function ID门牌号是开启“SMC这一扇大门”的钥匙。由 SMCCC (DEN0028)规范 定义它是一个32位数值其中的 OEN字段 标识了服务提供者。它的核心作用是路由告诉EL3的Secure Monitor固件该SMC调用属于哪类服务ARM标准服务、SiP服务还是OEM服务。SCMI Protocol ID房间号是在SCMI这一扇门内具体管理特定类型硬件资源的“协议模块”编号。由 SCMI (DEN0056)规范定义它是一个8位数值。它的核心作用是内部寻址在SCMI消息内部进一步指定当前要操作的目标比如电源管理0x11还是时钟0x14。 SMC Function ID通往安全世界的大门SMC Function ID是ARM定义的“SMC调用约定” (SMCCC, DEN0028) 中的核心概念。AP通过执行SMC指令并传递这个32位的ID来请求EL3的安全固件执行某项服务。寻址方式基于 OEN (Owner Entity Number)功能服务路由将调用指向对应的服务提供方ARM, SiP, OEM等格式[31]调用类型 [30]调用约定 [29:24] OEN [15:0]功能号示例0x82000001 (OEN0b10, SiP功能), 0x84000001 (OEN0b11, OEM功能)规范SMCCC (DEN0028)[reference:10]在实现上SMC Function ID由AP在SMC指令的参数通常是x0寄存器中传递。通过OEN区分调用目标例如OEN0x02是SiP服务OEN0x03是OEM服务使得EL3固件能将后续处理交给对应的服务模块。而SCMI是一个上层协议其实现通常与SMC调用绑定例如在Devicetree中定义一个arm,smc-id 0x82004000的SMC Function ID作为SCMI消息传输的“通道触发”。 SCMI Protocol ID系统管理的功能模块SCMI Protocol ID是ARM定义的“系统控制与管理接口” (SCMI, DEN0056) 协议中的概念。它标识了SCMI协议框架内部的一组功能集合用于管理特定类型的系统资源。寻址方式基于 Protocol ID功能功能寻址在SCMI框架内指定要操作的资源类型格式8位整数十六进制示例0x11 (电源域管理), 0x14 (时钟管理), 0x16 (复位域管理)规范SCMI (DEN0056)[reference:15]在实现上SCMI Protocol ID由AP在SCMI消息的头部中传递。它用于指定本次SCMI操作要管理的资源类型。然后通过Message ID消息ID进一步指定具体的操作比如POWER_STATE_SET是设置电源状态。SCMI通常作为一个上层服务可以通过多种传输方式实现。当使用SMC作为传输层时FW会解析SCMI消息内的Protocol ID来调用相应的底层驱动。SCMI 的消息格式: Message_Header (32bit) Payload32bit x NMessage_Header 内容bits[31:28] reservedmust be zerobits[27:18] tokenbits[17:10] protocol_idbits[9:8] message_typebits[7:0] message_id 从整栋楼到房间理解二者的层级关系如果我们将整个系统抽象为一栋大楼SMC Function ID 更像是进入不同楼层如SIP/OEM服务的大门钥匙。SCMI Protocol ID 则是SCMI服务这一层楼内的房间门牌号。 实际案例与检查清单通过一个具体的使用场景可以帮助理解它们的协作流程配置设备树在arm,scmi-smc节点中定义arm,smc-idSMC Function ID。这相当于在房子上安装了一个特定的门。发起调用AP执行SMC指令使用该arm,smc-id进入“SCMI服务”这扇门。进入后通过共享内存传递的SCMI消息中携带Protocol ID例如0x14表示要管理时钟。服务处理EL3中的SCMI服务固件如TF-A接收到请求。它首先根据arm,smc-id路由到SCMI处理程序然后解析出SCMI消息中的Protocol ID和Message ID最终调用时钟驱动程序来完成操作。这是典型的“共享内存 门铃中断”的传输模式。代码分析在SCP-firmware的smc_transport.c模块中smc_id用于注册SMC处理程序arm_smccc_smc这在运行时起到服务路由的作用。而scmi_power_domain.c模块则负责解析消息中的Protocol ID (0x11) 并进行功能寻址。SMC 只负责解决“如何将请求送达EL3”的路由问题 Function ID使用SMC 调用时 两端的 function id 要一致两个ID的层次和职责截然不同你可以通过以下清单来帮助判断和理解特性 SMC Function ID SCMI Protocol ID主要职责 服务路由 功能寻址定义规范 SMCCC (DEN0028) SCMI (DEN0056)所在位置 SMC指令参数 SCMI消息头部值/范围 32位由OEN字段分类 8位例如 0x11, 0x14

相关新闻

2026/7/18 5:42:54

自定义接口设计实战:从契约建模到跨平台落地

1. 项目概述:为什么“实现自定义接口”不是写个空壳那么简单“Implementing custom interfaces”这个标题乍看像教科书里的章节名,但在我带过的27个工业级软件项目里,它从来不是“定义几个方法签名”就能翻篇的事。它实际指向的是&#xff1a…

2026/7/18 5:42:54

无服务器DevOps实践指南:架构设计与生产运维

1. 无服务器DevOps的核心价值解析无服务器架构正在重塑现代DevOps实践的面貌。作为云计算演进的产物,无服务器技术将基础设施管理责任完全转移给云服务商,使开发团队能够专注于业务逻辑的实现。这种模式下,传统DevOps中的"Ops"部分…

2026/7/18 5:42:54

C++视觉框架设计:从算法模块化到可视化二次开发实战

1. 项目概述:一个面向二次开发的C视觉框架在工业自动化、质量检测或者机器人引导这些领域,搞视觉应用开发的朋友们,估计都经历过一个挺头疼的阶段:项目需求千变万化,但底层算法和上层界面每次都得从头搭。用OpenCV写算…

2026/7/18 6:42:56

全球芯片产业格局与选型指南

1. 全球芯片产业格局概述半导体芯片作为现代科技产业的基石,已经渗透到从消费电子到工业控制、从通信设备到汽车电子的各个领域。2023年全球半导体市场规模预计达到6000亿美元,其中集成电路占比超过80%。这个高度集中的行业呈现明显的梯队分布特征&#…

2026/7/18 6:42:56

负电压生成方案与工程实践详解

1. 负电压的本质与常见误解负电压这个概念听起来有点反直觉——电压怎么会有"负"的呢?我第一次在示波器上看到负电压波形时,整个人都是懵的。后来才发现,负电压其实就像数学里的负数一样,完全取决于你选择的参考点。举个…

2026/7/18 6:42:56

从零到一:如何用Duix.Avatar免费打造你的专属AI数字分身

从零到一:如何用Duix.Avatar免费打造你的专属AI数字分身 【免费下载链接】Duix-Avatar 🚀 Truly open-source AI avatar(digital human) toolkit for offline video generation and digital human cloning. 项目地址: https://gitcode.com/GitHub_Tren…

2026/7/18 6:42:56

深度探索VAR视觉自回归模型:从原理到实战的完整指南

深度探索VAR视觉自回归模型:从原理到实战的完整指南 【免费下载链接】VAR [NeurIPS 2024 Best Paper Award][GPT beats diffusion🔥] [scaling laws in visual generation📈] Official impl. of "Visual Autoregressive Modeling: Scala…

2026/7/17 5:59:06

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾在网易云音乐下载了心爱的歌曲&#…

2026/7/17 1:21:45

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境随着新能源汽车行业的快速发展,充电通信协议的标准化和测试验证变得尤为重要。GB/T 27930-2023作为中国智能充电协议的最新版本,对充电机与电动汽车之间的通信提出了更严格…

2026/7/17 7:39:19

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡 【免费下载链接】rtl8852be Realtek Linux WLAN Driver for RTL8852BE 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8852be 还在为Linux系统无法识别RTL8852BE Wi-Fi 6网卡而烦恼吗?&#x1f…

2026/7/18 0:00:24

某智驾大牛创业

作者:钟声编辑:Mark出品:红色星际头图:智能驾驶图片据悉,国内某头部智驾公司端到端模型技术大牛Z投身创业,并且已经拿到融资。Z不仅是该头部公司内部最年轻的对标阿里P10级别技术负责⼈,更是业内…

2026/7/17 14:59:44

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…