From ad71f1f742661863e0de59a94746f5d01e80b346 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 5 Apr 2020 23:16:42 +0200 Subject: xen: Fix rdtsc call for x86_64 * i386/i386/xen.h (hyp_cpu_clock): Replace "=A" register constraint with separate "=a" and "=d". --- i386/i386/xen.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i386/i386/xen.h b/i386/i386/xen.h index 49564ebb..8a17748a 100644 --- a/i386/i386/xen.h +++ b/i386/i386/xen.h @@ -396,9 +396,9 @@ _hypcall1(unsigned long, get_debugreg, int, reg); /* x86-specific */ MACH_INLINE uint64_t hyp_cpu_clock(void) { - uint64_t tsc; - asm volatile("rdtsc":"=A"(tsc)); - return tsc; + uint32_t hi, lo; + asm volatile("rdtsc" : "=d"(hi), "=a"(lo)); + return (((uint64_t) hi) << 32) | lo; } #else /* __ASSEMBLER__ */ -- cgit v1.2.3