Windows: remove duplicated function to detect AES-NI support in CPU

This commit is contained in:
Mounir IDRASSI 2020-06-18 16:41:24 +02:00
parent eaf400b088
commit 0e3f4c40e3
No known key found for this signature in database
GPG Key ID: 02C30AE90FAE4A6F
4 changed files with 4 additions and 24 deletions

View File

@ -5999,7 +5999,7 @@ BOOL CALLBACK BenchmarkDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lP
uint32 driverConfig = ReadDriverConfigurationFlags();
int isAesHwSupported = is_aes_hw_cpu_supported();
int isAesHwSupported = HasAESNI();
SetDlgItemTextW (hwndDlg, IDC_HW_AES, (wstring (L" ") + (GetString (isAesHwSupported ? ((driverConfig & TC_DRIVER_CONFIG_DISABLE_HARDWARE_ENCRYPTION) ? "UISTR_DISABLED" : "UISTR_YES") : "NOT_APPLICABLE_OR_NOT_AVAILABLE"))).c_str());

View File

@ -20,7 +20,9 @@ extern "C"
{
#endif
#if defined (TC_WINDOWS_BOOT)
byte is_aes_hw_cpu_supported ();
#endif
void aes_hw_cpu_enable_sse ();
void aes_hw_cpu_decrypt (const byte *ks, byte *data);
void aes_hw_cpu_decrypt_32_blocks (const byte *ks, byte *data);

View File

@ -422,28 +422,6 @@ void DetectX86Features()
*((volatile int*)&g_x86DetectionDone) = 1;
}
int is_aes_hw_cpu_supported ()
{
int bHasAESNI = 0;
uint32 cpuid[4];
if (CpuId(1, cpuid))
{
if (cpuid[2] & (1<<25))
bHasAESNI = 1;
#if !defined (_UEFI) && ((defined(__AES__) && defined(__PCLMUL__)) || defined(__INTEL_COMPILER) || CRYPTOPP_BOOL_AESNI_INTRINSICS_AVAILABLE)
// Hypervisor = bit 31 of ECX of CPUID leaf 0x1
// reference: http://artemonsecurity.com/vmde.pdf
if (!bHasAESNI && (cpuid[2] & (1<<31)))
{
bHasAESNI = Detect_MS_HyperV_AES ();
}
#endif
}
return bHasAESNI;
}
void DisableCPUExtendedFeatures ()
{
g_hasSSE2 = 0;

View File

@ -11288,7 +11288,7 @@ static BOOL CALLBACK PerformanceSettingsDlgProc (HWND hwndDlg, UINT msg, WPARAM
SetWindowTextW (GetDlgItem (hwndDlg, IDT_LIMIT_ENC_THREAD_POOL_NOTE), GetString("LIMIT_ENC_THREAD_POOL_NOTE"));
SetDlgItemTextW (hwndDlg, IDC_HW_AES_SUPPORTED_BY_CPU, (wstring (L" ") + (GetString (is_aes_hw_cpu_supported() ? "UISTR_YES" : "UISTR_NO"))).c_str());
SetDlgItemTextW (hwndDlg, IDC_HW_AES_SUPPORTED_BY_CPU, (wstring (L" ") + (GetString (HasAESNI() ? "UISTR_YES" : "UISTR_NO"))).c_str());
ToHyperlink (hwndDlg, IDC_MORE_INFO_ON_HW_ACCELERATION);
ToHyperlink (hwndDlg, IDC_MORE_INFO_ON_THREAD_BASED_PARALLELIZATION);