请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号: TDA4VEN-Q1
您好、
在将 DDR 配置从 8G 更改为 2G、固件 SYSFW ABI:4.0(固件版本 0x000a '10.0.8--v10.00.08 (Fiery Fox)') 后、我们会调试 TI J722S EVM 上的启动故障。
观察到的行为现在分为多个阶段:
1.早期启动最初显示在与 PV_TIME_INIT/SMCCC 相关的路径周围挂起。
绕过 PV_TIME_INIT 进行调试后、内核可以继续运行、越过 TIME_INIT 和 CONSOLE_INIT、因此早期停滞不是由控制台启动引起的。
证据:
- kernel-log1-default defcong.txt
- kernel-log2-default defcong-skip_pv_time_init.txt
2.在启用正常 SMP 的情况下、引导在辅助 CPU 启动期间挂起。
最后一条调试消息显示 CPU1 到达 PSCI CPU_ON 路径、但不打印进一步的进度。
证据:
- kernel-log3-未设置 CONFIG_PARAVIRT.txt
3.即使用 maxcpus=1 引导,系统仍然无法完成引导。
在这种情况下、内核明确绕过辅助 CPU 启动并继续更进一步、但随后在 OP-TEE 初始化期间停止。
最后可见的日志为:
- log9.txt
单核激活成功的证据:
- kernel-log4-not set config_pARAVIRT-maxcpus=1.txt
其他说明:
- 2G 内存布局似乎被 Linux 识别,并且保留内存/CMA 区域被填充:
- CONFIG_PARAVIRT 已在当前调试内核中禁用:
我们目前的怀疑不仅仅是 Linux SMP 问题。 该故障可能与 2G DDR 配置下的安全固件交互有关、包括:
- SMCCC 功能探测
-用于辅助内核的 PSCI CPU_ON
- OP-TEE 初始化/安全监控调用
您能否帮助检查 TF-A/OP-TEE/SYSFW 假设是否仍取决于原始的 8G DDR 设置、尤其是在安全存储器分割、辅助 CPU 引导进入处理或 2G DDR 下的安全世界存储器访问方面?
附件:
- kernel-log1-default defcong.txt
- kernel-log2-default defcong-skip_pv_time_init.txt
- kernel-log3-未设置 CONFIG_PARAVIRT.txt
- kernel-log4-not set config_pARAVIRT-maxcpus=1.txt