Skip to content

Commit 13ffbd8

Browse files
vittyvkbonzini
authored andcommitted
KVM: selftests: fix rdtsc() for vmx_tsc_adjust_test
vmx_tsc_adjust_test fails with: IA32_TSC_ADJUST is -4294969448 (-1 * TSC_ADJUST_VALUE + -2152). IA32_TSC_ADJUST is -4294969448 (-1 * TSC_ADJUST_VALUE + -2152). IA32_TSC_ADJUST is 281470681738540 (65534 * TSC_ADJUST_VALUE + 4294962476). ==== Test Assertion Failure ==== x86_64/vmx_tsc_adjust_test.c:153: false pid=19738 tid=19738 - Interrupted system call 1 0x0000000000401192: main at vmx_tsc_adjust_test.c:153 2 0x00007fe1ef8583d4: ?? ??:0 3 0x0000000000401201: _start at ??:? Failed guest assert: (adjust <= max) The problem is that is 'tsc_val' should be u64, not u32 or the reading gets truncated. Fixes: 8d7fbf0 ("KVM: selftests: VMX preemption timer migration test") Signed-off-by: Vitaly Kuznetsov <[email protected]> Message-Id: <[email protected]> Signed-off-by: Paolo Bonzini <[email protected]>
1 parent f0a5ec1 commit 13ffbd8

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

tools/testing/selftests/kvm/include/x86_64/processor.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ static inline uint64_t get_desc64_base(const struct desc64 *desc)
7979
static inline uint64_t rdtsc(void)
8080
{
8181
uint32_t eax, edx;
82-
uint32_t tsc_val;
82+
uint64_t tsc_val;
8383
/*
8484
* The lfence is to wait (on Intel CPUs) until all previous
8585
* instructions have been executed. If software requires RDTSC to be

0 commit comments

Comments
 (0)