Clean up the APIC test, add a new config to target AVIC, and add new sub-tests to verify IPI delivery when using logical mode, and when two vCPUs share the same xAPIC ID. In other words, add tests for edge cases that no real world user cares about. Sean Christopherson (9): x86/apic: Add test config to allow running apic tests against SVM's AVIC x86/apic: Replaces spaces with tabs to fix indentation in apic.c x86/apic: Add helpers to query current APIC state, e.g. xAPIC vs. x2APIC x86/apic: Assert that vCPU0's APIC is enabled at the start of the test x86/apic: Restore APIC to original state after every sub-test x86/apic: Enable IRQs on vCPU0 for all tests x86/apic: Run tests that modify APIC ID and/or APIC_BASE after other tests x86/apic: Add test for logical mode IPI delivery (cluster and flat) x86/apic: Add test to verify aliased xAPIC IDs both receive IPI lib/x86/processor.h | 1 + x86/apic.c | 940 ++++++++++++++++++++++++++++---------------- x86/unittests.cfg | 15 +- 3 files changed, 615 insertions(+), 341 deletions(-) base-commit: d8a4f9e5e8d69d4ef257b40d6cd666bd2f63494e -- 2.38.0.rc1.362.ged0d419d3c-goog