Browse Source

Check OSXSAVE flag.

tags/0.9.0
Vsevolod Stakhov 9 years ago
parent
commit
36193952d0
1 changed files with 15 additions and 11 deletions
  1. 15
    11
      src/libcryptobox/cryptobox.c

+ 15
- 11
src/libcryptobox/cryptobox.c View File

@@ -90,20 +90,24 @@ rspamd_cryptobox_init (void)
rspamd_cryptobox_cpuid (cpu, 1);

if (nid > 1) {
if ((cpu[3] & ((gint)1 << 26))) {
cpu_config |= CPUID_SSE2;
}
if ((cpu[2] & ((gint)1 << 28))) {
cpu_config |= CPUID_AVX;
}
}
if (nid > 7) {
rspamd_cryptobox_cpuid (cpu, 7);
if ((cpu[1] & ((gint)1 << 5))) {
cpu_config |= CPUID_AVX2;
/* Check OSXSAVE bit first of all */
if ((cpu[2] & ((gint)1 << 9))) {
if ((cpu[3] & ((gint)1 << 26))) {
cpu_config |= CPUID_SSE2;
}
if ((cpu[2] & ((gint)1 << 28))) {
cpu_config |= CPUID_AVX;
}
if (nid > 7) {
rspamd_cryptobox_cpuid (cpu, 7);
if ((cpu[1] & ((gint)1 << 5))) {
cpu_config |= CPUID_AVX2;
}
}
}
}


chacha_load ();
poly1305_load ();
}

Loading…
Cancel
Save