Rock5B + xvisor + yocto kernel:psci method=smc 时 SCMI protocol 0x10 查询失败

目前在 Rock5B 平台上,我把 yocto kernel 的 Image 放到 xvisor(EL2 hypervisor)中启动,配置如下:

  • guest DTS 中 psci 的 method = “smc”
  • EL2 配置中 HCR.TSC 已开启
  • xvisor 在 EL2 拦截到 Linux kernel 发出的 smc 指令后,直接转发到 EL3

启动日志中出现以下报错:

[yocto] [ 0.573526] arm-scmi arm-scmi.1.auto: SCMI Notifications - Core Enabled.
[yocto] [ 0.573621] arm-scmi arm-scmi.1.auto: Failed to query supported version for protocol 0x10.

作为对比,如果把 smc 直通(配置 EL2_HCR_TSC_UNMASK),则没有这个问题,可以正常识别 SCMI:

[ 1.294899] arm-scmi arm-scmi.4.auto: SCMI Notifications - Core Enabled.
[ 1.297155] arm-scmi arm-scmi.4.auto: SCMI Protocol v2.0 ‘rockchip:’ Firmware version 0x0

当前 EL3/ATF 固件可能不支持处理来自 EL2 的 smc 指令?但不太确定具体是哪个环节导致 SCMI protocol 0x10 查询失败。

请问:这个问题更可能是 xvisor 转发 smc 时丢失了某些状态/参数,还是 ATF/EL3 本身对 EL2 发起的 smc 支持不完整?如果是 ATF 支持问题,通常需要改哪部分(比如 PSCI/SMCCC 路由、SCMI 通道、平台端口)?