diff options
author | Nadav Amit <namit@vmware.com> | 2020-06-30 02:45:13 -0700 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2020-07-01 08:10:29 -0400 |
commit | 10a65fc45419b7859bb6dd0a7f568eea45cbedb2 (patch) | |
tree | b025dc4a1588c0b4491cfddd0b30d3a9ceaaa915 | |
parent | ec4fed57aa932c2ad869f61464af203b0f119d5a (diff) | |
download | kvm-unit-tests-10a65fc45419b7859bb6dd0a7f568eea45cbedb2.tar.gz |
x86: svm: check TSC adjust support
MSR_IA32_TSC_ADJUST may be supported by KVM on AMD machines, but it does
not show on AMD manual. Check CPUID to see if it supported before
running the relevant tests.
Signed-off-by: Nadav Amit <namit@vmware.com>
Message-Id: <20200630094516.22983-3-namit@vmware.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r-- | x86/svm_tests.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/x86/svm_tests.c b/x86/svm_tests.c index a2c993d..92cefaf 100644 --- a/x86/svm_tests.c +++ b/x86/svm_tests.c @@ -893,6 +893,11 @@ static bool npt_rw_l1mmio_check(struct svm_test *test) #define TSC_OFFSET_VALUE (~0ull << 48) static bool ok; +static bool tsc_adjust_supported(void) +{ + return this_cpu_has(X86_FEATURE_TSC_ADJUST); +} + static void tsc_adjust_prepare(struct svm_test *test) { default_prepare(test); @@ -2010,7 +2015,7 @@ struct svm_test svm_tests[] = { { "npt_rw_l1mmio", npt_supported, npt_rw_l1mmio_prepare, default_prepare_gif_clear, npt_rw_l1mmio_test, default_finished, npt_rw_l1mmio_check }, - { "tsc_adjust", default_supported, tsc_adjust_prepare, + { "tsc_adjust", tsc_adjust_supported, tsc_adjust_prepare, default_prepare_gif_clear, tsc_adjust_test, default_finished, tsc_adjust_check }, { "latency_run_exit", default_supported, latency_prepare, |