]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
No need to check for padlock nano in 32-bit systems, so simplify things.
authorNikos Mavrogiannopoulos <nmav@gnutls.org>
Sun, 23 Oct 2011 21:05:51 +0000 (23:05 +0200)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Sun, 23 Oct 2011 21:19:22 +0000 (23:19 +0200)
lib/accelerated/x86/Makefile.am
lib/accelerated/x86/aes-padlock.h
lib/accelerated/x86/asm/padlock-common.s

index 906532731efa9c9c829b422e977bd88510717c26..8d4bf3b719dd4115ed8a7e599d71ef233882ba5c 100644 (file)
@@ -43,5 +43,5 @@ AM_CFLAGS += -DASM_X86_64 -DASM_X86
 libx86_la_SOURCES += asm/appro-aes-x86-64.s asm/appro-aes-gcm-x86-64.s aes-gcm-x86.c asm/padlock-x86-64.s asm/cpuid-x86-64.s asm/padlock-common.s
 else
 AM_CFLAGS += -DASM_X86_32 -DASM_X86
-libx86_la_SOURCES += asm/appro-aes-x86.s asm/padlock-x86.s asm/cpuid-x86.s asm/padlock-common.s
+libx86_la_SOURCES += asm/appro-aes-x86.s asm/padlock-x86.s asm/cpuid-x86.s
 endif
index 608f5d12d7087a377f270ada5f6a20aadedc1a96..fd5d9922acb4d35e87b59ed3797dd0b96dc848f8 100644 (file)
@@ -38,7 +38,11 @@ int padlock_aes_cipher_setkey(void *_ctx, const void *userkey, size_t keysize);
 
 /* asm */
 unsigned int padlock_capability(void);
+#ifdef ASM_X86_64
 unsigned int is_padlock_nano(void);
+#else
+# define is_padlock_nano() 0
+#endif
 void padlock_reload_key(void);
 int padlock_ecb_encrypt(void *out, const void *inp,
                         struct padlock_cipher_data *ctx, size_t len);
index f61eb27c5ceaaa88bbd14b09a5d11838fa89c8cd..4f92dc238a10fa430531f7af250f936853e9b181 100644 (file)
 .type  is_padlock_nano,@function
 .align 16
 is_padlock_nano:
-       pusha
-       xorl    %eax,%eax
+       pushq   %rbp
+       movq    %rsp, %rbp
+       pushq   %rbx
+       xorq    %rax,%rax
        cpuid
-       movl    $1,%eax
+       movq    $1,%rax
        cpuid
-       or      $0x000f,%eax
-        cmp     $0x06ff,%eax
+       or      $0x000f,%rax
+        cmp     $0x06ff,%rax
        jne     .Lno_nano
-       popa
-       mov     $1,%eax
+       popq    %rbx
+       mov     $1,%rax
+       popq    %rbx
+       leave
         ret
 .Lno_nano:
-       popa
-       xorl    %eax,%eax
+       popq    %rbx
+       xorq    %rax,%rax
+       popq    %rbx
+       leave
         ret
 .size  is_padlock_nano,.-is_padlock_nano