This change adds support for injecting legacy PIC interrupts for
mshv-accelerated x86 guests. This is relevant e.g. for guest that rely on a
PIT in early boot (e.g. ISOLINUX).

The series carries two provisional patches for
feature to work:

- target/i386/mshv: fix vCPU run result contract

  this has been posted earlier as a standalone patch, but it is required here,
  so we might be able to drop it in an upcoming revision if the standalone
  fix is merged earlier.

- accel/mshv: do not coalesce vCPU kicks

  this is a workaround for a race condition that currently exists in the
  upstream mshv driver, which can lead to interruption requests being lost.
  A new CANCEL_VP ioctl is being tested. It will address this issue, so we
  can drop this workaround once it the new ioctl is available upstream.

Magnus Kulke (4):
  target/i386/mshv: fix vCPU run result contract
  accel/mshv: stop VM on vCPU execution errors
  target/i386/mshv: deliver legacy PIC interrupts
  accel/mshv: do not coalesce vCPU kicks

 accel/mshv/mshv-all.c          |  26 ++++-
 hw/i386/x86-cpu.c              |   9 +-
 include/hw/hyperv/hvgdk_mini.h |  42 +++++++-
 include/system/mshv_int.h      |   1 +
 meson.build                    |   1 +
 target/i386/mshv/mshv-cpu.c    | 183 +++++++++++++++++++++++++++++----
 target/i386/mshv/trace-events  |   7 ++
 target/i386/mshv/trace.h       |   2 +
 8 files changed, 240 insertions(+), 31 deletions(-)
 create mode 100644 target/i386/mshv/trace-events
 create mode 100644 target/i386/mshv/trace.h

-- 
2.34.1


Reply via email to