[kvm-unit-tests PATCH 0/5] nVMX: Simple posted interrupts test

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I reported recently that commit 26844fee6ade ("KVM: x86: never write to
memory from kvm_vcpu_check_block()") broke delivery of a virtualized posted
interrupt from an L1 vCPU to a halted L2 vCPU (see
https://lore.kernel.org/all/20231207010302.2240506-1-jmattson@xxxxxxxxxx/).
The test that exposed the regression is the final patch of this series. The
others are prerequisites.

It would make sense to add "vmx_posted_interrupts_test" to the set of tests
to be run under the unit test name, "vmx_apicv_test," but that is
non-trivial. The vmx_posted_interrupts_test requires "smp = 2," but I find
that adding that to the vmx_apicv_tests causes virt_x2apic_mode_test to
fail with:

FAIL: x2apic - reading 0x310: x86/vmx_tests.c:2151: Assertion failed: (expected) == (actual)
	LHS: 0x0000000000000012 - 0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0001'0010 - 18
	RHS: 0x0000000000000001 - 0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0001 - 1
Expected VMX_VMCALL, got VMX_EXTINT.
	STACK: 406ef8 40725a 41299f 402036 403f59 4001bd

I haven't investigated.


Jim Mattson (1):
  nVMX: Enable x2APIC mode for virtual-interrupt delivery tests

Marc Orr (Google) (3):
  nVMX: test nested "virtual-interrupt delivery"
  nVMX: test nested EOI virtualization
  nVMX: add self-IPI tests to vmx_basic_vid_test

Oliver Upton (1):
  nVMX: add test for posted interrupts

 lib/x86/apic.h       |   5 +
 lib/x86/asm/bitops.h |   8 +
 x86/unittests.cfg    |  10 +-
 x86/vmx_tests.c      | 423 +++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 445 insertions(+), 1 deletion(-)

-- 
2.43.0.472.g3155946c3a-goog





[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux