[PATCH v2 00/10] whpx: i386: Some more changes

Mohamed Mediouni posted 10 patches 2 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260415132926.58878-1-mohamed@unpredictable.fr
Maintainers: Pedro Barbuda <pbarbuda@microsoft.com>, Mohamed Mediouni <mohamed@unpredictable.fr>, Paolo Bonzini <pbonzini@redhat.com>, Zhao Liu <zhao1.liu@intel.com>
accel/whpx/whpx-common.c       | 38 +++++++++++++++++
include/system/whpx-internal.h |  1 +
target/i386/cpu.c              | 10 +++--
target/i386/cpu.h              |  2 +
target/i386/whpx/whpx-all.c    | 77 +++++++++++++++++++++++++++++++---
target/i386/whpx/whpx-apic.c   | 12 +++++-
6 files changed, 129 insertions(+), 11 deletions(-)
[PATCH v2 00/10] whpx: i386: Some more changes
Posted by Mohamed Mediouni 2 weeks ago
This applies on top of the "whpx: i386: bug fixes, feature probing and CPUID" series.

"target: i386: HLT type that ignores EFLAGS.IF" is probably the most worthwhile patch
here, and that not-quite-an-HLT might be what's needed to reduce CPU idle on KVM on
recent Windows versions too..

v1 -> v2:

Oops, my v1 had a bug in HV_X64_MSR_GUEST_IDLE emulation, We should not inject interrupts
after it ignoring EFLAGS.IF. That matters just for the wake from HLT.

Trapping one more CPUID for x2APIC system topology, and some more x2APIC awareness. For the
kernel-irqchip=off case, keep the hypervisor aware of the initial APIC ID we're hoosing anyways.

Based-on: <20260413205208.50643-1-mohamed@unpredictable.fr>

Mohamed Mediouni (10):
  whpx: i386: set apicbase value only on success
  whpx: i386: unknown MSR configurability
  whpx: i386: enable GuestIdleReg enlightenment
  whpx: i386: tighten APIC base validity check
  whpx: i386: ignore vpassist when kernel-irqchip=off
  target: i386: HLT type that ignores EFLAGS.IF
  whpx: i386: add HV_X64_MSR_GUEST_IDLE when !kernel-irqchip
  whpx: i386: one more CPUID
  whpx: i386: some x2APIC awareness
  whpx: i386: set WHvX64RegisterInitialApicId

 accel/whpx/whpx-common.c       | 38 +++++++++++++++++
 include/system/whpx-internal.h |  1 +
 target/i386/cpu.c              | 10 +++--
 target/i386/cpu.h              |  2 +
 target/i386/whpx/whpx-all.c    | 77 +++++++++++++++++++++++++++++++---
 target/i386/whpx/whpx-apic.c   | 12 +++++-
 6 files changed, 129 insertions(+), 11 deletions(-)

-- 
2.50.1 (Apple Git-155)