On 22/03/2018 00:23, Liran Alon wrote: > Hi, > > This series of patches to kvm-unit-tests add a regression test for > APICv and some APIC pass-through tests. > > Patches 1-4 moves IOAPIC/APIC related utilities to x86 lib and define > new APICv related VMCS definitions. > > Patch 5 adds a unit-test for the bug fixed in commit "KVM: nVMX: Do > not load EOI-exitmap while running L2". This is a regression test that > verifies that vmcs02->eoi_exit_bitmap is not overridden with > vmcs01->eoi_exit_bitmap as a result of L1 IOAPIC scan request. > > Patches 6-7 add unit-tests for L1 LAPIC/IOAPIC pass-through to L2. > The first test verfies that an asserted irq-line raise a > level-triggered interrupt directly from L1 IOAPIC to L2 and sets L1 > IOAPIC RTE remote_irr. Then, L2 performs EOI directly to L1 LAPIC > which gets broadcasted to L1 IOAPIC and test verifies that indeed L1 > IOAPIC RTE remote_irr is now cleared. > The second test does almost the same as the first except the > initial configuration of IOAPIC RTE happening from CPU1 while CPU0 is > running L2. This is a regression test that verfies that > vcpu->arch.ioapic_handled_vectors is updated correctly while vCPU is > running L2 and is running with LAPIC/IOAPIC pass-through. Looks good, thanks! Paolo