基于内核的虚拟机 (KVM) 的 LoongArch 更改已在 Linux 6.12 合并窗口打开之前提交。为了增强这些中文 CPU 上的 KVM 虚拟化,启用了龙芯二进制翻译 (LBT) 来加速 ARM/x86 二进制翻译。
去年,Linux 6.6 内核合并了对 Loongson 二进制翻译的支持,以帮助 LoongArch 上的 MIPS / x86 / ARM 二进制文件。对于即将推出的 Linux 6.12 内核,LBT 功能正在适应 LoongArch KVM 的使用。
通过添加四个暂存寄存器、x86/ARM eflags 和 x87 FPU 堆栈指针支持来加速二进制转换。这种对 KVM 的调整将帮助那些希望在 KVM/QEMU 范围内运行 x86/x86_64 或 ARM 操作系统的人。没有提供量化 LBT 益处的基准或其他性能指标。
LoongArch KVM 针对 Linux 6.12 的更新还增加了对客户虚拟机的 PMU 支持,使能从 VMM 进行 paravirt 功能控制等功能。
转自 LoongArch KVM To Speed-Up ARM/x86 Binary Translation – Phoronix