Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions arch/arm64/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,19 @@ config ARCH_AS_HAS_ARMV8_5
menu "ARMv8.5 architectural features"
depends on ARCH_AS_HAS_ARMV8_5

config ARM64_CRYPTO_AES
bool "AES using the Armv8 Cryptography Extension"
select CRYPTO
select CRYPTO_AES
---help---
Provide aes_cypher() with AESE, AESD and the MixColumns pair. The
table-driven cipher indexes memory with key-dependent values, so
its timing follows the cache; these instructions do not.

The core must implement the extension. ID_AA64ISAR0_EL1 is read on
every call, which returns -ENOTSUP rather than trapping if it does
not.

config ARM64_MTE
bool "Memory Tagging Extension support"
select ARCH_HAVE_MEMTAG
Expand Down
14 changes: 14 additions & 0 deletions arch/arm64/src/common/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,20 @@ endif()

if(CONFIG_ARCH_HAVE_MMU)
list(APPEND SRCS arm64_mmu.c)

# drivers/misc/addrenv.c defines the same entry points from a table.

if(NOT CONFIG_DEV_SIMPLE_ADDRENV)
list(APPEND SRCS arm64_physpgaddr.c)
endif()
endif()

if(CONFIG_ARM64_CRYPTO_AES)
list(APPEND SRCS arm64_aes.c)
endif()

if(CONFIG_ARM64_CRYPTO_AES AND CONFIG_CRYPTO_CRYPTODEV_HARDWARE)
list(APPEND SRCS arm64_crypto.c)
endif()

if(CONFIG_ARM64_MTE)
Expand Down
16 changes: 16 additions & 0 deletions arch/arm64/src/common/Make.defs
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,22 @@ endif

ifeq ($(CONFIG_ARCH_HAVE_MMU),y)
CMN_CSRCS += arm64_mmu.c

# drivers/misc/addrenv.c defines the same entry points from a table.

ifneq ($(CONFIG_DEV_SIMPLE_ADDRENV),y)
CMN_CSRCS += arm64_physpgaddr.c
endif
endif

ifeq ($(CONFIG_ARM64_CRYPTO_AES),y)
CMN_CSRCS += arm64_aes.c
endif

ifeq ($(CONFIG_CRYPTO_CRYPTODEV_HARDWARE),y)
ifeq ($(CONFIG_ARM64_CRYPTO_AES),y)
CMN_CSRCS += arm64_crypto.c
endif
endif

ifeq ($(CONFIG_ARM64_MTE),y)
Expand Down
Loading
Loading