On Fri, Mar 07, 2025 at 11:55:11AM -0800, Wei Liu wrote: > Hi, > > Microsoft's Linux Systems Group developed a Linux driver for the Microsoft > Hypervisor (MSHV for short). The driver is being upstreamed. The first > supported VMM is Cloud Hypervisor. We want to add QEMU as the second supported > VMM. > > The plan is to write an mshv accelerator in QEMU. The accelerator is still in > the works. > > MSHV doesn't emulate instructions. VMMs are supposed to bring their own > instruction emulator. The path we've chosen is to reuse what's already in > QEMU. > The instruction emulator in HVF looks good for what we need. > > This patch series makes the instruction emulator in HVF a common > component for the i386 target. It removes HVF specific code by using a > set of hooks. The new incoming MSHV accelerator will implement the > hooks, and where necessary, enhance the emulator and / or add new hooks. > > The patches have been lightly tested by running a Linux VM on an Intel-based > Mac. > > Thanks, > Wei. > > Changes in v2: > 1. Address comments from Paolo on variable and directory names. > 2. Rebase and drop the already applied patches. > 3. Add a new entry in MAINTAINERS. > > Wei Liu (14): > target/i386/hvf: introduce x86_emul_ops > target/i386/hvf: remove HVF specific calls from x86_decode.c > target/i386/hvf: provide and use handle_io in emul_ops > target/i386: rename hvf_mmio_buf to emu_mmio_buf > target/i386/hvf: use emul_ops->read_mem in x86_emu.c > taret/i386/hvf: provide and use write_mem in emul_ops > target/i386/hvf: provide and use simulate_{wrmsr,rdmsr} in emul_ops > target/i386: rename lazy flags field and its type > target/i386/hvf: drop unused headers > target/i386/hvf: rename some include guards > target/i386: add a directory for x86 instruction emulator > target/i386/emulate: add a panic.h > target/i386: move x86 instruction emulator out of hvf > MAINTAINERS: add an entry for the x86 instruction emulator
HVF maintainers, Ping? Thanks, Wei.