To close the #KVMForum talks series, we have Manos Pitsidianakis talk that will summarize the whys and hows of Rust for QEMU development.
Watch his full talk here: https://lnkd.in/eTScqU89
To close the #KVMForum talks series, we have Manos Pitsidianakis talk that will summarize the whys and hows of Rust for QEMU development.
Watch his full talk here: https://lnkd.in/eTScqU89
Microsoft released an RTM build of Windows on Arm last year on their website, and Linaro provides instructions for running it on QEMU/KVM. Now we can run Windows on Arm on QEMU/KVM flawlessly, or can we? Despite basic configuration working with TCG, experiments on Asahi Linux revealed the reliability and functionality of a Windows VM on Arm proved to be far from par with Windows on x64 or Linux on Arm. Key issues included: - QEMU and KVM struggled with PMU (Performance Monitoring Unit) emulation, a critical requirement for Windows. - The virtio-gpu graphics driver, essential for features like high and variable display resolution, frequently crashed. - The SPICE guest agent, necessary for features such as clipboard sharing, failed to function. These hurdles necessitated multiple patches to update the entire virtualization stack. This presentation will demonstrate how these changes not only enhance the Windows on Arm experience but also improve Windows guest and Arm virtualization experiences overall. Lastly, I'll share insights gained from bringing up such an exotic platform and discuss future work.
🚀 Tomorrow and Friday we'll be at #KVMForum at Politecnico di Milano!
📢 Catch Anton's talk on Friday, 9:15 (Aula De Donato):
Automatic Frontend Generation for RISC-V Extensions.
QEMU is an extremely useful tool during testing and development of new architectures, yet adding support for new targets is error prone and incurs a significant entry cost in terms of learning QEMU internals. Especially so when keeping up with an evolving ISA specification. We present our methodology for rapidly implementing and testing Qualcomms qc_iu set of RISC V extensions, in the absence of a compiler toolchain. As a first step, C++ code and later LLVM IR was produced from instruction definitions provided by riscv-unified-db. Secondly, the LLVM based helper-to-tcg tool was used to generate TCG implementations for 143/172 instructions. Usage of helper-to-tcg enables a emulator-in-the-loop process of designing instruction set extensions, good for rapid prototyping, validation and design space exploration Automatic generation of per-instruction tests covering memory operations, branches, and corner cases, was accomplished with the LLVM IR based symbolic execution engine KLEE. All in all, 289 tests were generated covering 143 instructions, for each version of the ISA specification. This proved incredibly useful in finding bugs in the original instruction definitions. This is a follow up to our 2023 KVM forum talk, where we successfully applied helper-to-tcg to the Hexagon frontend. Since then, the tool has evolved significantly, allowing it to be applied in more general settings.
Microsoft released an RTM build of Windows on Arm last year on their website, and Linaro provides instructions for running it on QEMU/KVM. Now we can run Windows on Arm on QEMU/KVM flawlessly, or can we? Despite basic configuration working with TCG, experiments on Asahi Linux revealed the reliability and functionality of a Windows VM on Arm proved to be far from par with Windows on x64 or Linux on Arm. Key issues included: - QEMU and KVM struggled with PMU (Performance Monitoring Unit) emulation, a critical requirement for Windows. - The virtio-gpu graphics driver, essential for features like high and variable display resolution, frequently crashed. - The SPICE guest agent, necessary for features such as clipboard sharing, failed to function. These hurdles necessitated multiple patches to update the entire virtualization stack. This presentation will demonstrate how these changes not only enhance the Windows on Arm experience but also improve Windows guest and Arm virtualization experiences overall. Lastly, I'll share insights gained from bringing up such an exotic platform and discuss future work.