summaryrefslogtreecommitdiff
path: root/payloads
diff options
context:
space:
mode:
authorYidi Lin <yidilin@chromium.org>2023-01-31 15:09:24 +0800
committerFelix Held <felix-coreboot@felixheld.de>2023-02-16 15:04:24 +0000
commit70409217e7a747d8d0113583648b6ac28f256ae9 (patch)
treecc29d311f94a8cdc6e4134ad7bc6d35f5521df46 /payloads
parent458f1720f1a6b4a67111f4c2398f5ec5f6e5c1c5 (diff)
libpayload: Add VBOOT_SHA_ARMV8_CE config
Add Kconfig option for VBOOT_SHA_ARMV8_CE, which will use ARMv8 Crypto Extension for SHA256[1] instead of software implementation. [1] https://crrev.com/c/4170144 BUG=b:263514393 BRANCH=corsola TEST='vboot kernel verification' gets 111 msecs improvement on Tentacruel. Before: 1100:finished vboot kernel verification 905,150 (123,518) After: 1100:finished vboot kernel verification 787,277 (12,254) Cq-Depend: chromium:4170144, chromium:4242678 Change-Id: If92830830a0658dfad2a066e9efa624783865cf2 Signed-off-by: Yidi Lin <yidilin@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/72710 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Diffstat (limited to 'payloads')
-rw-r--r--payloads/libpayload/vboot/Kconfig8
-rw-r--r--payloads/libpayload/vboot/Makefile.inc1
2 files changed, 9 insertions, 0 deletions
diff --git a/payloads/libpayload/vboot/Kconfig b/payloads/libpayload/vboot/Kconfig
index e712fbbb66..3b02155fc3 100644
--- a/payloads/libpayload/vboot/Kconfig
+++ b/payloads/libpayload/vboot/Kconfig
@@ -24,4 +24,12 @@ config VBOOT_X86_SHA_EXT
This option enables SHA256 implementation using x86 SHA processor extension
instructions: sha256msg1, sha256msg2, sha256rnds2.
+config VBOOT_SHA_ARMV8_CE
+ bool "SHA256 implementation using ARMv8 Crypto Extension"
+ default y if CHROMEOS
+ default n
+ depends on ARCH_ARM64
+ help
+ This option enables SHA256 implementation using ARMv8 Crypto Extension.
+
endif
diff --git a/payloads/libpayload/vboot/Makefile.inc b/payloads/libpayload/vboot/Makefile.inc
index 3ec3278be2..5677df9e8c 100644
--- a/payloads/libpayload/vboot/Makefile.inc
+++ b/payloads/libpayload/vboot/Makefile.inc
@@ -37,6 +37,7 @@ $(VBOOT_FW_LIB): $(obj)/libpayload-config.h
$(MAKE) -C "$(VBOOT_SOURCE)" \
TPM2_MODE=$(call kconfig-to-binary, $(CONFIG_LP_VBOOT_TPM2_MODE)) \
X86_SHA_EXT=$(call kconfig-to-binary, $(CONFIG_LP_VBOOT_X86_SHA_EXT)) \
+ ARMV8_CRYPTO_EXT=$(call kconfig-to-binary, $(CONFIG_LP_VBOOT_SHA_ARMV8_CE)) \
UNROLL_LOOPS=1 \
BUILD="$(VBOOT_BUILD_DIR)" \
V=$(V) \