You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Android模拟器中启动CPU核心数超过16的实例

Android模拟器运行超过16核CPU系统的解决方案

你遇到的PSCI_RET_INVALID_ADDRESS报错根因为:ARM64架构的Goldfish(Ranchu)模拟器默认设备树(DTS)仅配置了最多16个CPU节点,且GIC redistributor地址空间仅预留了16个CPU的对应范围,启动16核以上CPU时PSCI无法找到对应寄存器地址,因此触发报错。

模拟器DTS文件位置

Android模拟器ARM64 Ranchu平台的DTS文件存放于内核源码arch/arm64/boot/dts/目录下,文件名为ranchu.dts或goldfish.dts,不同内核版本命名存在细微差异。

具体修改步骤

  • 补充CPU节点:默认DTS仅定义了cpu0到cpu15共16个CPU节点,按照原有格式补充到你需要的最大核数对应的节点即可,比如要启用32核就补充cpu16到cpu31的节点,每个节点的reg属性对应CPU的MPIDR值,cpu16的reg为<0x0 0x100>、cpu17为<0x0 0x101>,以此类推。
  • 扩大GIC redistributor地址范围:默认DTS中gic节点的reg属性里,redistributor的地址范围通常为0x8280000 ~ 0x8380000,刚好对应16个CPU每个64KB的占用空间,你需要对应扩大范围,32核场景可将结束地址修改为0x8480000,给新增CPU预留足够的寄存器空间。
  • 重新编译内核:将修改后的DTS编译进内核,或者启动模拟器时通过参数指定修改后的dtb文件。
  • 重启模拟器:使用你之前的启动命令启动即可,新增的CPU核心可正常上线。

验证方法

模拟器启动完成后执行adb shell cat /proc/cpuinfo,即可查看所有在线的CPU核心。

内容的提问来源于stack exchange,提问作者zhh wang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 05:36:02