#
30f07187 |
| 24-Aug-2017 |
Jim Mattson <jmattson@google.com> |
Test of VMCS pin-based controls
This test checks that a nested VM-entry fails if reserved bits in the pin-based VM-execution controls are not set properly (according to either the IA32_VMX_PINBASED_
Test of VMCS pin-based controls
This test checks that a nested VM-entry fails if reserved bits in the pin-based VM-execution controls are not set properly (according to either the IA32_VMX_PINBASED_CTLS MSR or the IA32_VMX_TRUE_PINBASED_CTLS MSR, as appropriate).
Signed-off-by: Jim Mattson <jmattson@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
a88205d1 |
| 24-Aug-2017 |
Paolo Bonzini <pbonzini@redhat.com> |
x86: vmx: test RDRAND and RDSEED
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
#
45e10b81 |
| 17-Jul-2017 |
Jim Mattson <jmattson@google.com> |
Test VM-entry in MOVSS shadow
VM-entry is disallowed in the shadow of a MOV-to-SS instruction. When the current-VMCS is valid, check that the instruction pointer falls through to the next instructio
Test VM-entry in MOVSS shadow
VM-entry is disallowed in the shadow of a MOV-to-SS instruction. When the current-VMCS is valid, check that the instruction pointer falls through to the next instruction, the ALU flags are set to ZF (VMfailValid), and the VM-instruction error field contains 26 ("VM entry with events blocked by MOV SS.").
Signed-off-by: Jim Mattson <jmattson@google.com> Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
show more ...
|
#
c9186188 |
| 07-Jul-2017 |
Jim Mattson <jmattson@google.com> |
VMX controls test framework
Ultimately, this test will be expanded to cover all of the "Checks on VMX Controls" described in the Intel SDM, volume 3, section 26.2.1. For now, it just checks I/O bitm
VMX controls test framework
Ultimately, this test will be expanded to cover all of the "Checks on VMX Controls" described in the Intel SDM, volume 3, section 26.2.1. For now, it just checks I/O bitmap and MSR bitmap settings.
Signed-off-by: Jim Mattson <jmattson@google.com> Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
show more ...
|
#
5260a483 |
| 29-Jun-2017 |
Radim Krčmář <rkrcmar@redhat.com> |
x86/vmx: fix EPT - MMIO access
Reading the memory mapped page with x2apic is a bug; use the generic reader instead. ept_main, which is always run with x2apic disabled, tests that accessing the memo
x86/vmx: fix EPT - MMIO access
Reading the memory mapped page with x2apic is a bug; use the generic reader instead. ept_main, which is always run with x2apic disabled, tests that accessing the memory-mapped APIC registers works even though the host is using x2apic.
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com> Message-Id: <20170629172647.22188-2-rkrcmar@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
733bc4de |
| 03-Jul-2017 |
Radim Krčmář <rkrcmar@redhat.com> |
x86/vmx: report failure if tests don't progress as expected
The test could have reported PASS even though it unexpectedly ended. Make sure they FAIL.
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com
x86/vmx: report failure if tests don't progress as expected
The test could have reported PASS even though it unexpectedly ended. Make sure they FAIL.
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com> Message-Id: <20170703175853.1939-3-rkrcmar@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
ff9c2831 |
| 03-Jul-2017 |
Radim Krčmář <rkrcmar@redhat.com> |
x86/vmx: fix unexpected stage error in PML test
Recent patches triggered an unexpected stage error. This happened because report() now adds one extra entry to the PML.
The writes done during a pag
x86/vmx: fix unexpected stage error in PML test
Recent patches triggered an unexpected stage error. This happened because report() now adds one extra entry to the PML.
The writes done during a page walk are logged into PML, which means that we are guaranteed to get multiple entries. The PML test adds 4 entries in each loop while waiting for the PML full event and unluckily, the one extra entry fills PML just before the vmcall (3 entries are added before checking the stage and one after). The vmcall then sees a wrong stage and exits.
This solution makes sure that the PML exit will not happen between the check for stage and the vmcall. (It wastes the first vmcall, but the loop happens ~125 times anyway, so it's not a huge waste.)
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com> Message-Id: <20170703175853.1939-2-rkrcmar@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
8922f1fb |
| 29-Jun-2017 |
Radim Krčmář <rkrcmar@redhat.com> |
x86/vmx: get EPT at the last level
vmx_EPT_AD_* tests mark the last level as non-present, but that doesn't mean we cannot look at A/D bits of that last level. This fixes "EPT - guest physical addres
x86/vmx: get EPT at the last level
vmx_EPT_AD_* tests mark the last level as non-present, but that doesn't mean we cannot look at A/D bits of that last level. This fixes "EPT - guest physical address is not mapped" in case 3.
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
b4a405c3 |
| 29-Jun-2017 |
Radim Krčmář <rkrcmar@redhat.com> |
x86/vmx: fix detection of unmapped PTE
check_ept_ad() was testing get_ept_pte() for 0, which meant that the PTE lookup failed. dff740c00197 ("x86: ept assertions") changed the return value in that
x86/vmx: fix detection of unmapped PTE
check_ept_ad() was testing get_ept_pte() for 0, which meant that the PTE lookup failed. dff740c00197 ("x86: ept assertions") changed the return value in that case to -1, which broke the test.
Returning 0 and -1 is ambiguous, so let's return false instead and get the PTE through a pointer argument. This skips a test that was failing before, because it was looking at invalid type (the meta -1) instead of the pte.
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
aedfd771 |
| 29-Jun-2017 |
Jim Mattson <jmattson@google.com> |
Add basic invvpid test
Tests only for success/failure of invvpid. Does not test actual invvpid functionality.
Signed-off-by: Jim Mattson <jmattson@google.com> Message-Id: <20170629184647.76674-4-jm
Add basic invvpid test
Tests only for success/failure of invvpid. Does not test actual invvpid functionality.
Signed-off-by: Jim Mattson <jmattson@google.com> Message-Id: <20170629184647.76674-4-jmattson@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
fd6aada0 |
| 17-May-2017 |
Radim Krčmář <rkrcmar@redhat.com> |
use %# instead of 0x% in all format strings
It's one character shorter, properly prefixed, and also provides error detection: %#d triggers a warning.
Done with `sed -i 's/0x%/%#/g' **/*.[ch]` to mo
use %# instead of 0x% in all format strings
It's one character shorter, properly prefixed, and also provides error detection: %#d triggers a warning.
Done with `sed -i 's/0x%/%#/g' **/*.[ch]` to motivate the use of %#, existing padding was raised by 2 to account for the counted "0x" (output should be the same).
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
show more ...
|
#
fa1078e4 |
| 05-May-2017 |
Bandan Das <bsd@redhat.com> |
vmx_tests: Add Page Modification Logging tests
Verify that a gpa is logged in the pml buffer when it's written to. Also verify that when the PML buffer overflows, a PML FULL event occurs.
Signed-of
vmx_tests: Add Page Modification Logging tests
Verify that a gpa is logged in the pml buffer when it's written to. Also verify that when the PML buffer overflows, a PML FULL event occurs.
Signed-off-by: Bandan Das <bsd@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
57f73523 |
| 21-Apr-2017 |
Peter Feiner <pfeiner@google.com> |
x86: force ept 2m test
EPT tests don't exercise 2m support unless it's advertised properly. This test asserts that we actually advertise it and that some basic 2m stuff works.
Signed-off-by: Peter
x86: force ept 2m test
EPT tests don't exercise 2m support unless it's advertised properly. This test asserts that we actually advertise it and that some basic 2m stuff works.
Signed-off-by: Peter Feiner <pfeiner@google.com> Signed-off-by: David Matlack <dmatlack@google.com> Message-Id: <20170421005004.137260-32-dmatlack@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
359575f6 |
| 21-Apr-2017 |
Peter Feiner <pfeiner@google.com> |
x86: ept access tests
Signed-off-by: Peter Feiner <pfeiner@google.com> Signed-off-by: David Matlack <dmatlack@google.com> Message-Id: <20170421005004.137260-31-dmatlack@google.com> Signed-off-by: Pa
x86: ept access tests
Signed-off-by: Peter Feiner <pfeiner@google.com> Signed-off-by: David Matlack <dmatlack@google.com> Message-Id: <20170421005004.137260-31-dmatlack@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
8ab53b95 |
| 21-Apr-2017 |
Peter Feiner <pfeiner@google.com> |
x86: ept capability utilities
Signed-off-by: Peter Feiner <pfeiner@google.com> Signed-off-by: David Matlack <dmatlack@google.com> Message-Id: <20170421005004.137260-29-dmatlack@google.com> Signed-of
x86: ept capability utilities
Signed-off-by: Peter Feiner <pfeiner@google.com> Signed-off-by: David Matlack <dmatlack@google.com> Message-Id: <20170421005004.137260-29-dmatlack@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
427ac83a |
| 21-Apr-2017 |
Peter Feiner <pfeiner@google.com> |
x86: setup_ept code motion
Signed-off-by: Peter Feiner <pfeiner@google.com> Signed-off-by: David Matlack <dmatlack@google.com> Message-Id: <20170421005004.137260-27-dmatlack@google.com> Signed-off-b
x86: setup_ept code motion
Signed-off-by: Peter Feiner <pfeiner@google.com> Signed-off-by: David Matlack <dmatlack@google.com> Message-Id: <20170421005004.137260-27-dmatlack@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
794c67a9 |
| 21-Apr-2017 |
Peter Feiner <pfeiner@google.com> |
x86: v2 vmx test framework
Signed-off-by: Peter Feiner <pfeiner@google.com> Signed-off-by: David Matlack <dmatlack@google.com> Message-Id: <20170421005004.137260-18-dmatlack@google.com> Signed-off-b
x86: v2 vmx test framework
Signed-off-by: Peter Feiner <pfeiner@google.com> Signed-off-by: David Matlack <dmatlack@google.com> Message-Id: <20170421005004.137260-18-dmatlack@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
34439b1a |
| 21-Apr-2017 |
Peter Feiner <pfeiner@google.com> |
x86: don't special case vmx null test
Signed-off-by: Peter Feiner <pfeiner@google.com> Signed-off-by: David Matlack <dmatlack@google.com> Message-Id: <20170421005004.137260-14-dmatlack@google.com> S
x86: don't special case vmx null test
Signed-off-by: Peter Feiner <pfeiner@google.com> Signed-off-by: David Matlack <dmatlack@google.com> Message-Id: <20170421005004.137260-14-dmatlack@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
ed781335 |
| 21-Apr-2017 |
Peter Feiner <pfeiner@google.com> |
x86: test exit while vmcs02 is loaded
Before applying "KVM: nVMX: fix lifetime issues for vmcs0", exiting while vmcs02 was loaded would trigger a VM_BUG_ON.
Filter out exit_monitor_from_l2_test whe
x86: test exit while vmcs02 is loaded
Before applying "KVM: nVMX: fix lifetime issues for vmcs0", exiting while vmcs02 was loaded would trigger a VM_BUG_ON.
Filter out exit_monitor_from_l2_test when running the full vmx test suite (i.e. the "[vmx]" test suite in unittest.cfg). Since exit_monitor_from_l2_test causes the VM to shutdown, many of the tests in vmx_tests.c end up getting skipped.
Signed-off-by: Peter Feiner <pfeiner@google.com> Signed-off-by: David Matlack <dmatlack@google.com> Message-Id: <20170421005004.137260-7-dmatlack@google.com> Message-Id: <20170421005004.137260-8-dmatlack@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
065b3936 |
| 21-Apr-2017 |
Peter Feiner <pfeiner@google.com> |
x86: add config for each vmx unit test case
Signed-off-by: Peter Feiner <pfeiner@google.com> Signed-off-by: David Matlack <dmatlack@google.com> Message-Id: <20170421005004.137260-3-dmatlack@google.c
x86: add config for each vmx unit test case
Signed-off-by: Peter Feiner <pfeiner@google.com> Signed-off-by: David Matlack <dmatlack@google.com> Message-Id: <20170421005004.137260-3-dmatlack@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
dba6eb9d |
| 27-Apr-2017 |
Paolo Bonzini <pbonzini@redhat.com> |
vmx: correctly set up MONITOR and MWAIT
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <1493309532-14398-1-git-send-email-pbonzini@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@
vmx: correctly set up MONITOR and MWAIT
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <1493309532-14398-1-git-send-email-pbonzini@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
4368042e |
| 08-Mar-2017 |
Paolo Bonzini <pbonzini@redhat.com> |
VMX: move execution control setup to setup_ept
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <1488996440-6493-5-git-send-email-pbonzini@redhat.com> Signed-off-by: Paolo Bonzini <pbo
VMX: move execution control setup to setup_ept
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <1488996440-6493-5-git-send-email-pbonzini@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
521820db |
| 08-Mar-2017 |
Paolo Bonzini <pbonzini@redhat.com> |
VMX: add tests for EPT A/D bits
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <1488996440-6493-4-git-send-email-pbonzini@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.co
VMX: add tests for EPT A/D bits
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <1488996440-6493-4-git-send-email-pbonzini@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
52ff7aa2 |
| 08-Mar-2017 |
Paolo Bonzini <pbonzini@redhat.com> |
VMX: run EPT tests with A/D bits enabled
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <1488996440-6493-3-git-send-email-pbonzini@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@
VMX: run EPT tests with A/D bits enabled
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <1488996440-6493-3-git-send-email-pbonzini@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
cfb8a33c |
| 21-Dec-2016 |
Jim Mattson <jmattson@google.com> |
KVM: nVMX Verify that L2's CPUID(0xa) causes a VM-exit to L1.
Signed-off-by: Jim Mattson <jmattson@google.com> Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
|