Source release 14.1.0
This commit is contained in:
@@ -164,17 +164,17 @@ AES_Te:
|
||||
.word 0x1B000000, 0x36000000, 0, 0, 0, 0, 0, 0
|
||||
|
||||
|
||||
@ void asm_AES_encrypt(const unsigned char *in, unsigned char *out,
|
||||
@ const AES_KEY *key) {
|
||||
.globl _asm_AES_encrypt
|
||||
.private_extern _asm_AES_encrypt
|
||||
@ void aes_nohw_encrypt(const unsigned char *in, unsigned char *out,
|
||||
@ const AES_KEY *key) {
|
||||
.globl _aes_nohw_encrypt
|
||||
.private_extern _aes_nohw_encrypt
|
||||
#ifdef __thumb2__
|
||||
.thumb_func _asm_AES_encrypt
|
||||
.thumb_func _aes_nohw_encrypt
|
||||
#endif
|
||||
.align 5
|
||||
_asm_AES_encrypt:
|
||||
_aes_nohw_encrypt:
|
||||
#ifndef __thumb2__
|
||||
sub r3,pc,#8 @ _asm_AES_encrypt
|
||||
sub r3,pc,#8 @ _aes_nohw_encrypt
|
||||
#else
|
||||
adr r3,.
|
||||
#endif
|
||||
@@ -182,7 +182,7 @@ _asm_AES_encrypt:
|
||||
#if defined(__thumb2__) || defined(__APPLE__)
|
||||
adr r10,AES_Te
|
||||
#else
|
||||
sub r10,r3,#_asm_AES_encrypt-AES_Te @ Te
|
||||
sub r10,r3,#_aes_nohw_encrypt-AES_Te @ Te
|
||||
#endif
|
||||
mov r12,r0 @ inp
|
||||
mov r11,r2
|
||||
@@ -420,16 +420,16 @@ Lenc_loop:
|
||||
ldr pc,[sp],#4 @ pop and return
|
||||
|
||||
|
||||
.globl _asm_AES_set_encrypt_key
|
||||
.private_extern _asm_AES_set_encrypt_key
|
||||
.globl _aes_nohw_set_encrypt_key
|
||||
.private_extern _aes_nohw_set_encrypt_key
|
||||
#ifdef __thumb2__
|
||||
.thumb_func _asm_AES_set_encrypt_key
|
||||
.thumb_func _aes_nohw_set_encrypt_key
|
||||
#endif
|
||||
.align 5
|
||||
_asm_AES_set_encrypt_key:
|
||||
_aes_nohw_set_encrypt_key:
|
||||
_armv4_AES_set_encrypt_key:
|
||||
#ifndef __thumb2__
|
||||
sub r3,pc,#8 @ _asm_AES_set_encrypt_key
|
||||
sub r3,pc,#8 @ _aes_nohw_set_encrypt_key
|
||||
#else
|
||||
adr r3,.
|
||||
#endif
|
||||
@@ -729,20 +729,20 @@ Labrt:
|
||||
#endif
|
||||
|
||||
|
||||
.globl _asm_AES_set_decrypt_key
|
||||
.private_extern _asm_AES_set_decrypt_key
|
||||
.globl _aes_nohw_set_decrypt_key
|
||||
.private_extern _aes_nohw_set_decrypt_key
|
||||
#ifdef __thumb2__
|
||||
.thumb_func _asm_AES_set_decrypt_key
|
||||
.thumb_func _aes_nohw_set_decrypt_key
|
||||
#endif
|
||||
.align 5
|
||||
_asm_AES_set_decrypt_key:
|
||||
_aes_nohw_set_decrypt_key:
|
||||
str lr,[sp,#-4]! @ push lr
|
||||
bl _armv4_AES_set_encrypt_key
|
||||
teq r0,#0
|
||||
ldr lr,[sp],#4 @ pop lr
|
||||
bne Labrt
|
||||
|
||||
mov r0,r2 @ _asm_AES_set_encrypt_key preserves r2,
|
||||
mov r0,r2 @ _aes_nohw_set_encrypt_key preserves r2,
|
||||
mov r1,r2 @ which is AES_KEY *key
|
||||
b _armv4_AES_set_enc2dec_key
|
||||
|
||||
@@ -949,17 +949,17 @@ AES_Td:
|
||||
.byte 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d
|
||||
|
||||
|
||||
@ void asm_AES_decrypt(const unsigned char *in, unsigned char *out,
|
||||
@ const AES_KEY *key) {
|
||||
.globl _asm_AES_decrypt
|
||||
.private_extern _asm_AES_decrypt
|
||||
@ void aes_nohw_decrypt(const unsigned char *in, unsigned char *out,
|
||||
@ const AES_KEY *key) {
|
||||
.globl _aes_nohw_decrypt
|
||||
.private_extern _aes_nohw_decrypt
|
||||
#ifdef __thumb2__
|
||||
.thumb_func _asm_AES_decrypt
|
||||
.thumb_func _aes_nohw_decrypt
|
||||
#endif
|
||||
.align 5
|
||||
_asm_AES_decrypt:
|
||||
_aes_nohw_decrypt:
|
||||
#ifndef __thumb2__
|
||||
sub r3,pc,#8 @ _asm_AES_decrypt
|
||||
sub r3,pc,#8 @ _aes_nohw_decrypt
|
||||
#else
|
||||
adr r3,.
|
||||
#endif
|
||||
@@ -967,7 +967,7 @@ _asm_AES_decrypt:
|
||||
#if defined(__thumb2__) || defined(__APPLE__)
|
||||
adr r10,AES_Td
|
||||
#else
|
||||
sub r10,r3,#_asm_AES_decrypt-AES_Td @ Td
|
||||
sub r10,r3,#_aes_nohw_decrypt-AES_Td @ Td
|
||||
#endif
|
||||
mov r12,r0 @ inp
|
||||
mov r11,r2
|
||||
|
||||
@@ -172,14 +172,15 @@ Lsub: ldr r7,[r4],#4
|
||||
mov r4,sp @ "rewind" r4
|
||||
sub r2,r2,r5 @ "rewind" r2
|
||||
|
||||
and r1,r4,r14
|
||||
bic r3,r2,r14
|
||||
orr r1,r1,r3 @ ap=borrow?tp:rp
|
||||
|
||||
Lcopy: ldr r7,[r1],#4 @ copy or in-place refresh
|
||||
Lcopy: ldr r7,[r4] @ conditional copy
|
||||
ldr r5,[r2]
|
||||
str sp,[r4],#4 @ zap tp
|
||||
str r7,[r2],#4
|
||||
cmp r4,r0
|
||||
#ifdef __thumb2__
|
||||
it cc
|
||||
#endif
|
||||
movcc r5,r7
|
||||
str r5,[r2],#4
|
||||
teq r4,r0 @ preserve carry
|
||||
bne Lcopy
|
||||
|
||||
mov sp,r0
|
||||
|
||||
@@ -114,13 +114,13 @@ _gcm_ghash_v8:
|
||||
@ loaded value would have
|
||||
@ to be rotated in order to
|
||||
@ make it appear as in
|
||||
@ alorithm specification
|
||||
@ algorithm specification
|
||||
subs r3,r3,#32 @ see if r3 is 32 or larger
|
||||
mov r12,#16 @ r12 is used as post-
|
||||
@ increment for input pointer;
|
||||
@ as loop is modulo-scheduled
|
||||
@ r12 is zeroed just in time
|
||||
@ to preclude oversteping
|
||||
@ to preclude overstepping
|
||||
@ inp[len], which means that
|
||||
@ last block[s] are actually
|
||||
@ loaded twice, but last
|
||||
|
||||
Reference in New Issue
Block a user