mirror of
https://git.suyu.dev/suyu/mbedtls.git
synced 2025-12-24 08:16:33 +01:00
Allow detection of CLMUL
This commit is contained in:
parent
5b685653ef
commit
8eaf20b18d
3 changed files with 17 additions and 11 deletions
|
|
@ -677,7 +677,7 @@ int aes_crypt_ecb( aes_context *ctx,
|
|||
uint32_t *RK, X0, X1, X2, X3, Y0, Y1, Y2, Y3;
|
||||
|
||||
#if defined(POLARSSL_AESNI_C) && defined(POLARSSL_HAVE_X86_64)
|
||||
if( aesni_supported() )
|
||||
if( aesni_supports( POLARSSL_AESNI_AES ) )
|
||||
return( aesni_crypt_ecb( ctx, mode, input, output ) );
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -37,24 +37,24 @@
|
|||
#if defined(POLARSSL_HAVE_X86_64)
|
||||
|
||||
/*
|
||||
* AES-NI support detection routine, [AES-WP] figure 23
|
||||
* AES-NI support detection routine
|
||||
*/
|
||||
int aesni_supported( void )
|
||||
int aesni_supports( unsigned int what )
|
||||
{
|
||||
static int supported = -1;
|
||||
unsigned int c;
|
||||
static int done = 0;
|
||||
static unsigned int c = 0;
|
||||
|
||||
if( supported == -1 )
|
||||
if( ! done )
|
||||
{
|
||||
asm( "movl $1, %%eax \n"
|
||||
"cpuid \n"
|
||||
: "=c" (c)
|
||||
:
|
||||
: "eax", "ebx", "edx" );
|
||||
supported = ( ( c & 0x02000000 ) != 0 );
|
||||
done = 1;
|
||||
}
|
||||
|
||||
return( supported );
|
||||
return( ( c & what ) != 0 );
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue