diff options
author | Tavian Barnes <tavianator@gmail.com> | 2009-09-21 03:48:30 +0000 |
---|---|---|
committer | Tavian Barnes <tavianator@gmail.com> | 2009-09-21 03:48:30 +0000 |
commit | 9bfbf7832dd379a4a006d236fbeda27be7e13928 (patch) | |
tree | a7311df043b6f92af247efb9619ffe829e1d7c0e /src/x86 | |
parent | 5f446ac4c9d98c7819ff836c0666c798f351ae2c (diff) | |
download | libsandglass-9bfbf7832dd379a4a006d236fbeda27be7e13928.tar.xz |
Make `cpuid' do the same thing for every sandglass_get_tsc() call.
Diffstat (limited to 'src/x86')
-rw-r--r-- | src/x86/tsc-x86.s | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/x86/tsc-x86.s b/src/x86/tsc-x86.s index 46013bb..09e0e32 100644 --- a/src/x86/tsc-x86.s +++ b/src/x86/tsc-x86.s @@ -29,9 +29,11 @@ sandglass_get_tsc: pushl %ebx /* Callee-save register, clobbered by cpuid */ pushl %esi + xorl %eax, %eax /* Make cpuid do a consistent operation */ cpuid /* Serialize */ rdtsc /* Read time stamp counter */ movl %eax, %esi /* Store tsc */ + xorl %eax, %eax cpuid /* Serialize again */ movl %esi, %eax popl %esi |