f096bf
commit 1ab61656f71e94ce12b68de87f1e28cf3dc0c18c
f096bf
Author: mjw <mjw@8f6e269a-dfd6-0310-a8e1-e2731360e62c>
f096bf
Date:   Thu Oct 1 12:31:19 2015 +0000
f096bf
f096bf
    Don't advertise RDRAND in cpuid for Core-i7-4910-like avx2 machine.
f096bf
    
f096bf
    Bug#353370. In amd64g_dirtyhelper_CPUID_avx2 we set the RDRAND bit
f096bf
    but we don't implement support for RDRAND. Turn the bit off so programs
f096bf
    don't try to use RDRAND when running under valgrind.
f096bf
    
f096bf
    git-svn-id: svn://svn.valgrind.org/vex/trunk@3197 8f6e269a-dfd6-0310-a8e1-e2731360e62c
f096bf
f096bf
diff --git a/VEX/priv/guest_amd64_helpers.c b/VEX/priv/guest_amd64_helpers.c
f096bf
index e77d753..ab53e15 100644
f096bf
--- a/VEX/priv/guest_amd64_helpers.c
f096bf
+++ b/VEX/priv/guest_amd64_helpers.c
f096bf
@@ -3101,7 +3101,8 @@ void amd64g_dirtyhelper_CPUID_avx2 ( VexGuestAMD64State* st )
f096bf
          SET_ABCD(0x0000000d, 0x756e6547, 0x6c65746e, 0x49656e69);
f096bf
          break;
f096bf
       case 0x00000001:
f096bf
-         SET_ABCD(0x000306c3, 0x02100800, 0x7ffafbff, 0xbfebfbff);
f096bf
+         /* Don't advertise RDRAND support, bit 30 in ECX.  */
f096bf
+         SET_ABCD(0x000306c3, 0x02100800, 0x3ffafbff, 0xbfebfbff);
f096bf
          break;
f096bf
       case 0x00000002:
f096bf
          SET_ABCD(0x76036301, 0x00f0b6ff, 0x00000000, 0x00c10000);