diff options
Diffstat (limited to 'win-aarch64/crypto')
-rw-r--r-- | win-aarch64/crypto/fipsmodule/sha1-armv8-win.S | 23 | ||||
-rw-r--r-- | win-aarch64/crypto/fipsmodule/sha256-armv8-win.S | 27 | ||||
-rw-r--r-- | win-aarch64/crypto/fipsmodule/sha512-armv8-win.S | 28 |
3 files changed, 24 insertions, 54 deletions
diff --git a/win-aarch64/crypto/fipsmodule/sha1-armv8-win.S b/win-aarch64/crypto/fipsmodule/sha1-armv8-win.S index f5082a0d..f8c8b861 100644 --- a/win-aarch64/crypto/fipsmodule/sha1-armv8-win.S +++ b/win-aarch64/crypto/fipsmodule/sha1-armv8-win.S @@ -8,25 +8,15 @@ .text +.globl sha1_block_data_order_nohw - -.globl sha1_block_data_order - -.def sha1_block_data_order +.def sha1_block_data_order_nohw .type 32 .endef .align 6 -sha1_block_data_order: +sha1_block_data_order_nohw: // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later. AARCH64_VALID_CALL_TARGET -#if defined(OPENSSL_HWASAN) && __clang_major__ >= 10 - adrp x16,:pg_hi21_nc:OPENSSL_armcap_P -#else - adrp x16,OPENSSL_armcap_P -#endif - ldr w16,[x16,:lo12:OPENSSL_armcap_P] - tst w16,#ARMV8_SHA1 - b.ne Lv8_entry stp x29,x30,[sp,#-96]! add x29,sp,#0 @@ -1083,14 +1073,15 @@ Loop: ldr x29,[sp],#96 ret -.def sha1_block_armv8 +.globl sha1_block_data_order_hw + +.def sha1_block_data_order_hw .type 32 .endef .align 6 -sha1_block_armv8: +sha1_block_data_order_hw: // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later. AARCH64_VALID_CALL_TARGET -Lv8_entry: stp x29,x30,[sp,#-16]! add x29,sp,#0 diff --git a/win-aarch64/crypto/fipsmodule/sha256-armv8-win.S b/win-aarch64/crypto/fipsmodule/sha256-armv8-win.S index 29f8e9f2..89d3944a 100644 --- a/win-aarch64/crypto/fipsmodule/sha256-armv8-win.S +++ b/win-aarch64/crypto/fipsmodule/sha256-armv8-win.S @@ -50,26 +50,13 @@ .text +.globl sha256_block_data_order_nohw - -.globl sha256_block_data_order - -.def sha256_block_data_order +.def sha256_block_data_order_nohw .type 32 .endef .align 6 -sha256_block_data_order: - AARCH64_VALID_CALL_TARGET -#ifndef __KERNEL__ -#if defined(OPENSSL_HWASAN) && __clang_major__ >= 10 - adrp x16,:pg_hi21_nc:OPENSSL_armcap_P -#else - adrp x16,OPENSSL_armcap_P -#endif - ldr w16,[x16,:lo12:OPENSSL_armcap_P] - tst w16,#ARMV8_SHA256 - b.ne Lv8_entry -#endif +sha256_block_data_order_nohw: AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-128]! add x29,sp,#0 @@ -1062,13 +1049,15 @@ LK256: .align 2 .text #ifndef __KERNEL__ -.def sha256_block_armv8 +.globl sha256_block_data_order_hw + +.def sha256_block_data_order_hw .type 32 .endef .align 6 -sha256_block_armv8: -Lv8_entry: +sha256_block_data_order_hw: // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later. + AARCH64_VALID_CALL_TARGET stp x29,x30,[sp,#-16]! add x29,sp,#0 diff --git a/win-aarch64/crypto/fipsmodule/sha512-armv8-win.S b/win-aarch64/crypto/fipsmodule/sha512-armv8-win.S index 1e56b0b0..220f4891 100644 --- a/win-aarch64/crypto/fipsmodule/sha512-armv8-win.S +++ b/win-aarch64/crypto/fipsmodule/sha512-armv8-win.S @@ -50,26 +50,13 @@ .text +.globl sha512_block_data_order_nohw - -.globl sha512_block_data_order - -.def sha512_block_data_order +.def sha512_block_data_order_nohw .type 32 .endef .align 6 -sha512_block_data_order: - AARCH64_VALID_CALL_TARGET -#ifndef __KERNEL__ -#if defined(OPENSSL_HWASAN) && __clang_major__ >= 10 - adrp x16,:pg_hi21_nc:OPENSSL_armcap_P -#else - adrp x16,OPENSSL_armcap_P -#endif - ldr w16,[x16,:lo12:OPENSSL_armcap_P] - tst w16,#ARMV8_SHA512 - b.ne Lv8_entry -#endif +sha512_block_data_order_nohw: AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-128]! add x29,sp,#0 @@ -1086,12 +1073,15 @@ LK512: .align 2 .text #ifndef __KERNEL__ -.def sha512_block_armv8 +.globl sha512_block_data_order_hw + +.def sha512_block_data_order_hw .type 32 .endef .align 6 -sha512_block_armv8: -Lv8_entry: +sha512_block_data_order_hw: + // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later. + AARCH64_VALID_CALL_TARGET stp x29,x30,[sp,#-16]! add x29,sp,#0 |