From: Nikos Mavrogiannopoulos Date: Sat, 16 Apr 2011 18:10:34 +0000 (+0200) Subject: Try to detect AES-NI on Intel and AMD machines only. X-Git-Tag: gnutls_2_99_1~15 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7a62421e8e162e3f9f660ea08cc19284fb64cd20;p=thirdparty%2Fgnutls.git Try to detect AES-NI on Intel and AMD machines only. --- diff --git a/lib/accelerated/intel/aes-x86.c b/lib/accelerated/intel/aes-x86.c index f1a24aa1b6..101569554b 100644 --- a/lib/accelerated/intel/aes-x86.c +++ b/lib/accelerated/intel/aes-x86.c @@ -155,10 +155,33 @@ check_optimized_aes (void) return (c & 0x2000000); } +static unsigned +check_intel_or_amd (void) +{ + unsigned int a, b, c, d; + cpuid (0, a, b, c, d); + + if ((memcmp(&b, "Genu", 4) == 0 && + memcmp(&d, "ineI", 4) == 0 && + memcmp(&c, "ntel", 4) == 0) || + (memcmp(&b, "Auth", 4) == 0 && + memcmp(&d, "enti", 4) == 0 && + memcmp(&c, "cAMD", 4) == 0)) + { + return 1; + } + + return 0; +} + void register_x86_crypto (void) { int ret; + + if (check_intel_or_amd() == 0) + return; + if (check_optimized_aes ()) { fprintf (stderr, "Intel AES accelerator was detected\n");