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.

Reply via email to