【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

相关新闻

【轻松掌握数据结构】优先级队列

【轻松掌握数据结构】优先级队列

优先级队列(堆) 文章目录优先级队列(堆)前言一、堆(Heap)是什么?二、堆的存储方式三、堆的创建四、堆的插入和删除1.堆的插入2.堆的删除五、接口介绍六、如何改为大堆六、一些题总结前言 大家好…

2026/7/22 9:14:01 阅读更多 →
【声调标注系统】APP正式上线!

【声调标注系统】APP正式上线!

告别语音标注混乱,一键精准标记声调,效率翻倍! ✅ 支持声调智能识别 ✅ 界面简洁,操作零门槛 ✅ 适用于教学、科研、内容创作 📲 立即下载体验: 🔗 APK安装包: http://203.2.160.23:…

2026/7/22 8:21:10 阅读更多 →
FPD-Link III I2C多主控设计:DS90UB947-Q1寄存器配置与实战指南

FPD-Link III I2C多主控设计:DS90UB947-Q1寄存器配置与实战指南

1. 项目概述与核心挑战在汽车摄像头、高级驾驶辅助系统(ADAS)以及多屏显示系统中,FPD-Link III技术因其高带宽、长距离传输和强大的抗干扰能力而成为主流选择。DS90UB947-Q1作为该技术栈中的核心串行器(Serializer)&am…

2026/7/22 8:05:30 阅读更多 →

最新新闻

区块链助记词原理与安全存储实战指南

区块链助记词原理与安全存储实战指南

1. 助记词:数字资产的终极防线第一次接触助记词时,我犯了个低级错误——把12个单词记在手机备忘录里。直到某天手机丢失,我才真正理解"助记词是你的数字资产终极钥匙"这句话的分量。助记词不是普通的密码,它是区块链世界…

2026/7/23 2:37:16 阅读更多 →
从月均个位数咨询到133条/月!某三坐标公司的百度SEM逆袭全记录

从月均个位数咨询到133条/月!某三坐标公司的百度SEM逆袭全记录

在实现月均133个高质量咨询​的亮眼成绩之前,这家专注于三坐标测量仪与尼康三坐标的精密机械企业,曾深陷线上推广的泥潭。其困境是许多工业品企业的缩影。 🔍 困境剖析:钱花了,线索呢? 在启动SEM推广初期&a…

2026/7/23 2:37:16 阅读更多 →
Maestro 移动 UI 自动化测试入门教程

Maestro 移动 UI 自动化测试入门教程

Maestro 移动 UI 自动化测试入门教程 本文带你从零开始掌握 Maestro —— 一款开源的跨平台移动 UI 自动化测试框架。涵盖安装配置、YAML 测试流编写、核心命令、选择器、高级用法及实战案例,让你 10 分钟写出第一条自动化测试。 一、Maestro 是什么? M…

2026/7/23 2:37:16 阅读更多 →
智能降维在量化交易中的应用:解决高维数据过拟合问题

智能降维在量化交易中的应用:解决高维数据过拟合问题

在金融科技和人工智能的交汇点上,量化投资正经历一场深刻的变革。很多人以为量化交易就是写几个策略、跑回测、然后自动化执行,但真正的挑战往往隐藏在数据维度爆炸和模型过拟合的陷阱里。Alex Wang作为业内资深专家,近期提出的“智能降维”理…

2026/7/23 2:37:15 阅读更多 →
TI EMAC/MDIO中断管理实战:从寄存器到驱动避坑指南

TI EMAC/MDIO中断管理实战:从寄存器到驱动避坑指南

1. 从寄存器手册到实战:理解EMAC/MDIO中断管理的核心逻辑搞嵌入式网络驱动,尤其是像TI这种大厂的复杂外设,最头疼的往往不是写数据收发流程,而是把那一大本寄存器手册里的中断机制给整明白。手册里每个比特位都给你列得清清楚楚&a…

2026/7/23 2:37:15 阅读更多 →
不会写代码的人,终于迎来了属于自己的开发时代

不会写代码的人,终于迎来了属于自己的开发时代

每次参加各种科技大会,我都会留意会场里的一个特殊区域:那里没有炫目的舞台,没有重量级嘉宾,也没有热闹的抽奖,却总能吸引很多人的目光。这就是黑客松(Hackathon)现场。这些年,无论是…

2026/7/23 2:36:15 阅读更多 →

日新闻

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:25 阅读更多 →
AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

更多请点击: https://codechina.net 第一章:AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析 在对2,346篇跨行业AI生成文案的A/B测试数据进行聚类分析后,我们发现&#xff1…

2026/7/23 0:01:26 阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:01:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 19:43:43 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/22 12:54:44 阅读更多 →

月新闻