VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Volume/Volume.make
diff options
context:
space:
mode:
authorMounir IDRASSI <mounir.idrassi@idrix.fr>2025-01-26 16:21:13 +0100
committerMounir IDRASSI <mounir.idrassi@idrix.fr>2025-01-26 16:21:13 +0100
commit247c98d9548fead121e5314727782a4694bc0de3 (patch)
treeaa6dd3e77188705a9405ec406bb9bd4267c52476 /src/Volume/Volume.make
parent5ff256a53d30031d9500e38c699084efc6c3bd56 (diff)
downloadVeraCrypt-247c98d9548fead121e5314727782a4694bc0de3.tar.gz
VeraCrypt-247c98d9548fead121e5314727782a4694bc0de3.zip
Implement SHA256 acceleration on ARM64 platforms using CPU instructions
Diffstat (limited to 'src/Volume/Volume.make')
-rw-r--r--src/Volume/Volume.make8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/Volume/Volume.make b/src/Volume/Volume.make
index e38542bb..a4f62562 100644
--- a/src/Volume/Volume.make
+++ b/src/Volume/Volume.make
@@ -50,6 +50,7 @@ ifneq "$(COMPILE_ASM)" "false"
OBJSEX += ../Crypto/Camellia_aesni_asm.oo
OBJSEX += ../Crypto/sha256-nayuki.oo
OBJSEX += ../Crypto/sha512-nayuki.oo
+ OBJSEX += ../Crypto/sha256_armv8.oo
OBJSEX += ../Crypto/sha256_avx1.oo
OBJSEX += ../Crypto/sha256_avx2.oo
OBJSEX += ../Crypto/sha256_sse4.oo
@@ -82,6 +83,7 @@ else ifeq "$(CPU_ARCH)" "x64"
else ifeq "$(CPU_ARCH)" "arm64"
OBJARMV8CRYPTO += ../Crypto/Aes_hw_armv8.oarmv8crypto
OBJS += ../Crypto/Aescrypt.o
+ OBJARMV8CRYPTO += ../Crypto/sha256_armv8.oarmv8crypto
else
OBJS += ../Crypto/Aescrypt.o
endif
@@ -150,6 +152,12 @@ ifneq "$(COMPILE_ASM)" "false"
$(CC) $(CFLAGS_X64) -c ../Crypto/Aes_hw_armv8.c -o ../Crypto/Aes_hw_armv8_x64.o
lipo -create ../Crypto/Aes_hw_armv8_arm64.o ../Crypto/Aes_hw_armv8_x64.o -output ../Crypto/Aes_hw_armv8.oo
rm -fr ../Crypto/Aes_hw_armv8_arm64.o ../Crypto/Aes_hw_armv8_x64.o
+../Crypto/sha256_armv8.oo: ../Crypto/sha256_armv8.c
+ @echo Compiling $(<F)
+ $(CC) $(CFLAGS_ARM64) -c ../Crypto/sha256_armv8.c -o ../Crypto/sha256_armv8_arm64.o
+ $(CC) $(CFLAGS_X64) -c ../Crypto/sha256_armv8.c -o ../Crypto/sha256_armv8_x64.o
+ lipo -create ../Crypto/sha256_armv8_arm64.o ../Crypto/sha256_armv8_x64.o -output ../Crypto/sha256_armv8.oo
+ rm -fr ../Crypto/sha256_armv8_arm64.o ../Crypto/sha256_armv8_x64.o
../Crypto/Aes_asm.oo: ../Crypto/Aes_x86.asm ../Crypto/Aes_x64.asm
@echo Assembling $(<F)
$(AS) $(ASFLAGS32) -o ../Crypto/Aes_x86.o ../Crypto/Aes_x86.asm