24 lines
1.1 KiB
Diff
24 lines
1.1 KiB
Diff
|
------------------------------------------------------------------------
|
||
|
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);
|