H1 ACPI Linux 无法启用虚拟化

问题描述

我们正在H1上开发 UEFI BIOS,需要在Linux中启用KVM虚拟化。内核已启用KVM和虚拟化支持,但APPSBL/UEFI和HLOS均从EL1启动。

高通 Linux Boot Guide 在 XBL_CONFIG 的 UEFI 配置 DT(`ueficfg.dtsi`)中定义了两种独立启动模式:

0x1 - BOOT_TYPE_LINUX:Gunyah Hypervisor

0x2 - BOOT_TYPE_LINUX_WITH_KVM:Linux KVM

文档说明,在 KVM 模式下,UEFI 会在ExitBootServices阶段关闭 Qualcomm Hypervisor,并将 Linux 交付到 EL2。

文档还要求DT选择el2kvm overlay,并刷写xbl_config_kvm.elf。但我们的BSP没有这些文件,其中create_xbl_config.json仅包含 PMIC 和 DDR/DSF 数据,没有ueficfg.dts和OsConfigTableSelection配置。

我们的BIOS使用ACPI方案。XBL_CONFIG 中的配置 DT 属于固件配置,并非传递给 Linux 的硬件描述 DTB,因此ACPI启动不妨碍选择KVM启动模式。但在 ACPI 模式下是否仍需VendorDtbOverlays=el2kvm,目前无法确认。

参考资料

请协助确认

1. 是我们的BSP遗漏了KVM配置和相关文件,还是 QCM6490.WP 本身不支持KVM Host/NS-EL2?

2. 如果支持,烦请提供ueficfg.dts、已签名xbl_config_kvm.elf,以及相关组件。

3. 请确认ACPI下的虚拟化启用方法,并确认是否需要VendorDtbOverlays=el2kvm。

谢谢!

H1 ACPI/KVM、EL2 启动模式及 xbl_config_kvm.elf 属于对应平台 BSP 与签名固件发布范围,需以移远该型号官方 BSP 交付资料为准。

当前知识库及公开资料暂未查询到可确认 QCM6490.WP 是否支持 KVM Host/NS-EL2、ACPI 下是否需要 VendorDtbOverlays=el2kvm 的官方公开内容,请等待技术工程师为您解答。

如需发送 ueficfg.dtsxbl_config_kvm.elf 或相关组件资料,请提供邮箱地址,以便为您发送对应资料。

本回答仅供参考。若问题已解决,可标记为 :white_check_mark:解决方案 ;若仍有疑问,请等待官方技术人员回复,最终请以专业解答为准。

内部确认该问题中。

更新:经检查,QualcommLinux LE基线支持此功能,正在尝试移植。