valgrind/vex-r3197.diff

24 lines
1.1 KiB
Diff
Raw Normal View History

------------------------------------------------------------------------
r3197 | mjw | 2015-10-01 14:31:19 +0200 (Do, 01. Okt 2015) | 5 Zeilen
Don't advertise RDRAND in cpuid for Core-i7-4910-like avx2 machine.
Bug#353370. In amd64g_dirtyhelper_CPUID_avx2 we set the RDRAND bit
but we don't implement support for RDRAND. Turn the bit off so programs
don't try to use RDRAND when running under valgrind.
------------------------------------------------------------------------
Index: priv/guest_amd64_helpers.c
===================================================================
--- VEX/priv/guest_amd64_helpers.c (Revision 3196)
+++ VEX/priv/guest_amd64_helpers.c (Revision 3197)
@@ -3101,7 +3101,8 @@ void amd64g_dirtyhelper_CPUID_avx2 ( Vex
SET_ABCD(0x0000000d, 0x756e6547, 0x6c65746e, 0x49656e69);
break;
case 0x00000001:
- SET_ABCD(0x000306c3, 0x02100800, 0x7ffafbff, 0xbfebfbff);
+ /* Don't advertise RDRAND support, bit 30 in ECX. */
+ SET_ABCD(0x000306c3, 0x02100800, 0x3ffafbff, 0xbfebfbff);
break;
case 0x00000002:
SET_ABCD(0x76036301, 0x00f0b6ff, 0x00000000, 0x00c10000);