VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Volume
diff options
context:
space:
mode:
authorMounir IDRASSI <mounir.idrassi@idrix.fr>2025-01-17 00:58:54 +0100
committerMounir IDRASSI <mounir.idrassi@idrix.fr>2025-01-17 00:58:54 +0100
commit54bd81999007b467420acab780c704c91bc1b057 (patch)
treefb2e3dbc899e6acd89f82406d6712508c015e1c8 /src/Volume
parentc79f8102e094f512ac5c706fa30a2741d697b003 (diff)
downloadVeraCrypt-54bd81999007b467420acab780c704c91bc1b057.tar.gz
VeraCrypt-54bd81999007b467420acab780c704c91bc1b057.zip
Windows/Linux/macOS: implement AES hardware support on ARM64 (ARMv8)
Diffstat (limited to 'src/Volume')
-rw-r--r--src/Volume/Volume.make10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/Volume/Volume.make b/src/Volume/Volume.make
index 52d212eb..e38542bb 100644
--- a/src/Volume/Volume.make
+++ b/src/Volume/Volume.make
@@ -43,6 +43,7 @@ ifeq "$(PLATFORM)" "MacOSX"
ifneq "$(COMPILE_ASM)" "false"
OBJSEX += ../Crypto/Aes_asm.oo
OBJS += ../Crypto/Aes_hw_cpu.o
+ OBJSEX += ../Crypto/Aes_hw_armv8.oo
OBJS += ../Crypto/Aescrypt.o
OBJSEX += ../Crypto/Twofish_asm.oo
OBJSEX += ../Crypto/Camellia_asm.oo
@@ -78,6 +79,9 @@ else ifeq "$(CPU_ARCH)" "x64"
OBJS += ../Crypto/sha512_avx1_x64.o
OBJS += ../Crypto/sha512_avx2_x64.o
OBJS += ../Crypto/sha512_sse4_x64.o
+else ifeq "$(CPU_ARCH)" "arm64"
+ OBJARMV8CRYPTO += ../Crypto/Aes_hw_armv8.oarmv8crypto
+ OBJS += ../Crypto/Aescrypt.o
else
OBJS += ../Crypto/Aescrypt.o
endif
@@ -140,6 +144,12 @@ VolumeLibrary: Volume.a
ifeq "$(ENABLE_WOLFCRYPT)" "0"
ifeq "$(PLATFORM)" "MacOSX"
ifneq "$(COMPILE_ASM)" "false"
+../Crypto/Aes_hw_armv8.oo: ../Crypto/Aes_hw_armv8.c
+ @echo Compiling $(<F)
+ $(CC) $(CFLAGS_ARM64) -c ../Crypto/Aes_hw_armv8.c -o ../Crypto/Aes_hw_armv8_arm64.o
+ $(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/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