linux-xiaomi-chiron/tools/testing/selftests/kvm/x86_64
Sean Christopherson 85c68eb429 KVM: selftests: Add test to verify KVM handling of ICR
The main thing that the selftest verifies is that KVM copies x2APIC's
ICR[63:32] to/from ICR2 when userspace accesses the vAPIC page via
KVM_{G,S}ET_LAPIC.  KVM previously split x2APIC ICR to ICR+ICR2 at the
time of write (from the guest), and so KVM must preserve that behavior
for backwards compatibility between different versions of KVM.

It will also test other invariants, e.g. that KVM clears the BUSY
flag on ICR writes, that the reserved bits in ICR2 are dropped on writes
from the guest, etc...

Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20220204214205.3306634-12-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2022-03-01 08:50:48 -05:00
..
amx_test.c selftests: kvm: move vm_xsave_req_perm call to amx_test 2022-01-26 12:45:20 -05:00
cpuid_test.c KVM: selftests: Test KVM_SET_CPUID2 after KVM_RUN 2022-01-17 12:30:24 -05:00
cr4_cpuid_sync_test.c KVM: selftests: Fix kvm_vm_free() in cr4_cpuid_sync and vmx_tsc_adjust tests 2021-09-30 04:27:08 -04:00
debug_regs.c KVM: selftests: test KVM_GUESTDBG_BLOCKIRQ 2021-08-20 16:06:39 -04:00
emulator_error_test.c selftests: kvm: Allows userspace to handle emulation errors. 2021-06-24 18:00:48 -04:00
evmcs_test.c KVM: selftests: nVMX: Add enlightened MSR-Bitmap selftest 2022-02-10 13:50:47 -05:00
get_msr_index_features.c KVM: selftests: Print a message if /dev/kvm is missing 2021-05-27 07:45:55 -04:00
hyperv_clock.c KVM: selftests: fix hyperv_clock test 2021-08-04 09:43:03 -04:00
hyperv_cpuid.c KVM: selftests: Adapt hyperv_cpuid test to the newly introduced Enlightened MSR-Bitmap 2022-02-10 13:50:46 -05:00
hyperv_features.c KVM: selftests: Avoid KVM_SET_CPUID2 after KVM_RUN in hyperv_features test 2021-11-26 08:14:19 -05:00
hyperv_svm_test.c KVM: selftests: nSVM: Add enlightened MSR-Bitmap selftest 2022-02-10 13:50:48 -05:00
kvm_clock_test.c selftests: KVM: Add test for KVM_{GET,SET}_CLOCK 2021-10-18 14:43:45 -04:00
kvm_pv_test.c KVM: selftests: Rename vm_handle_exception 2021-06-14 09:06:22 +01:00
mmio_warning_test.c selftests: kvm: fix mismatched fclose() after popen() 2021-10-21 15:16:28 -06:00
mmu_role_test.c KVM: selftests: x86: Address missing vm_install_exception_handler conversions 2021-07-14 12:15:05 -04:00
platform_info_test.c KVM: selftests: Use consistent message for test skipping 2020-03-16 17:59:05 +01:00
pmu_event_filter_test.c KVM: selftests: Verify disabling PMU virtualization via KVM_CAP_CONFIG_PMU 2022-02-25 08:20:15 -05:00
set_boot_cpu_id.c KVM: selftests: Unconditionally use memslot 0 when loading elf binary 2021-06-24 04:31:17 -04:00
set_sregs_test.c KVM: selftests: Verify supported CR4 bits can be set before KVM_SET_CPUID2 2020-11-15 09:49:08 -05:00
sev_migrate_tests.c selftests: KVM: allow sev_migrate_tests on machines without SEV-ES 2022-02-18 05:16:43 -05:00
smm_test.c KVM: selftests: Don't skip L2's VMCALL in SMM test for SVM guest 2022-01-26 12:15:04 -05:00
state_test.c kvm: selftests: Add support for KVM_CAP_XSAVE2 2022-01-14 13:44:42 -05:00
svm_int_ctl_test.c KVM: x86: selftests: svm_int_ctl_test: fix intercept calculation 2021-12-09 12:44:39 -05:00
svm_vmcall_test.c KVM: selftests: x86: Set supported CPUIDs on default VM 2020-11-16 13:14:20 -05:00
sync_regs_test.c KVM: selftests: Complete x86_64/sync_regs_test ucall 2021-06-14 09:06:22 +01:00
tsc_msrs_test.c kvm: selftests: Do not indent with spaces 2022-01-19 13:34:30 -05:00
userspace_io_test.c selftests: KVM: Add test to verify KVM doesn't explode on "bad" I/O 2021-12-10 09:38:02 -05:00
userspace_msr_exit_test.c KVM: selftests: Rename vm_handle_exception 2021-06-14 09:06:22 +01:00
vmx_apic_access_test.c KVM: selftests: Unconditionally allocate EPT tables in memslot 0 2021-06-24 11:47:48 -04:00
vmx_close_while_nested_test.c kvm: selftests: Do not indent with spaces 2022-01-19 13:34:30 -05:00
vmx_dirty_log_test.c tools: rename bitmap_alloc() to bitmap_zalloc() 2021-09-08 11:50:27 -07:00
vmx_exception_with_invalid_guest_state.c KVM: selftests: Add a test to force emulation with a pending exception 2022-01-19 12:12:26 -05:00
vmx_invalid_nested_guest_state.c KVM: selftests: Add test to verify TRIPLE_FAULT on invalid L2 guest state 2021-12-20 08:06:55 -05:00
vmx_nested_tsc_scaling_test.c KVM: selftests: x86: Add vmx_nested_tsc_scaling_test 2021-06-17 13:09:30 -04:00
vmx_pmu_msrs_test.c KVM: selftests: vmx_pmu_msrs_test: Drop tests mangling guest visible CPUIDs 2021-12-19 19:35:29 +01:00
vmx_preemption_timer_test.c kvm: selftests: Add support for KVM_CAP_XSAVE2 2022-01-14 13:44:42 -05:00
vmx_set_nested_state_test.c KVM: selftests: x86: Set supported CPUIDs on default VM 2020-11-16 13:14:20 -05:00
vmx_tsc_adjust_test.c KVM: selftests: Fix kvm_vm_free() in cr4_cpuid_sync and vmx_tsc_adjust tests 2021-09-30 04:27:08 -04:00
xapic_ipi_test.c KVM/arm64 updates for v5.14. 2021-06-25 11:24:24 -04:00
xapic_state_test.c KVM: selftests: Add test to verify KVM handling of ICR 2022-03-01 08:50:48 -05:00
xen_shinfo_test.c kvm: selftests: Do not indent with spaces 2022-01-19 13:34:30 -05:00
xen_vmcall_test.c KVM: selftests: Unconditionally use memslot '0' for page table allocations 2021-06-24 11:47:48 -04:00
xss_msr_test.c KVM: selftests: Use consistent message for test skipping 2020-03-16 17:59:05 +01:00