x86: vmx/svm: test access to L1 MMIO-mapped device via EPT/NPT page tables

This fails on SVM.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
x86: svm: test reading the LVR register twice

The first read will fill the nested page table, the second will find a reserved
bit set.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
x86: svm: fix typo in setting up nested page tables

This will cause problems when accessing memory above the first GB, as
in the l1mmio test.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
x86: svm: fix exitinfo values for NPT tests

The exitinfo values were plain wrong for the page-walk tests
(including npt_rsvd), or else they were missing bits 32:33.
Expect the right values.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
x86: svm: add page access reserved bit test

The reserved bit test was testing faults during page walk, rather than
during page access.  Add another test that uses large pages to test
reserved bits during page access, and rename the old test to indicate
what it really covers.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
x86: svm: add L1 MMIO read-only permission test

Test that the emulator correctly injects a nested page fault VMEXIT.

Reported-by: Valentine Sinitsyn <valentine.sinitsyn@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
x86: kvmclock_test: run wallclock test on all CPUs

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
x86: vmx: cleanup get_ept_pte/set_ept_pte

Make it a bit easier to add a debugging printf.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>