Attention is currently required from: Julius Werner, Yu-Ping Wu.
Jérémy Compostella has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/79289?usp=email )
Change subject: vboot: add VBOOT_X86_SSE2_ACCELERATION config ......................................................................
vboot: add VBOOT_X86_SSE2_ACCELERATION config
Add `VBOOT_X86_SSE2_ACCELERATION' Kconfig option to enable SSE2 instruction set implementation of modulus exponentiation which is part of the RSA signature verification process.
BUG=b:312709384 TEST=Able to use SSE2 accelerated implementation on rex0
Change-Id: Ib6e39eb9f592f36ad3dca76c8eaf2fe334704265 Signed-off-by: Jeremy Compostella jeremy.compostella@intel.com --- M src/security/vboot/Kconfig M src/security/vboot/Makefile.inc 2 files changed, 11 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/89/79289/1
diff --git a/src/security/vboot/Kconfig b/src/security/vboot/Kconfig index 2d5b20f..295f8b8 100644 --- a/src/security/vboot/Kconfig +++ b/src/security/vboot/Kconfig @@ -292,6 +292,15 @@ Use sha256msg1, sha256msg2, sha256rnds2 instruction to accelerate SHA hash calculation in vboot.
+config VBOOT_X86_SSE2_ACCELERATION + bool "Use SSE2 instructions for RSA signature verification" + default n + depends on ARCH_X86 + help + Use paddq, pmuludq, psrlq, punpckldq and punpcklqdq SSE2 + instructions to accelerate the modulus exponentiation which + is part of the RSA signature verification process. + config VBOOT_ARMV8_CE_SHA256_ACCELERATION bool "Use ARMv8 Crypto Extension for sha256 hash calculation" default y if CHROMEOS diff --git a/src/security/vboot/Makefile.inc b/src/security/vboot/Makefile.inc index 1b3568a..af87261 100644 --- a/src/security/vboot/Makefile.inc +++ b/src/security/vboot/Makefile.inc @@ -30,6 +30,8 @@ EC_EFS="$(CONFIG_VBOOT_EC_EFS)" \ X86_SHA_EXT="$(if $(CONFIG_ARCH_$(call toupper,$(1))_X86_32)$(CONFIG_ARCH_$(call toupper,$(1))_X86_64),$\ $(CONFIG_VBOOT_X86_SHA256_ACCELERATION))" \ + X86_SSE2_INSTR="$(if $(CONFIG_ARCH_$(call toupper,$(1))_X86_32)$(CONFIG_ARCH_$(call toupper,$(1))_X86_64),$\ + $(CONFIG_VBOOT_X86_SSE2_ACCELERATION))" \ ARMV8_CRYPTO_EXT="$(if $(CONFIG_ARCH_$(call toupper,$(1))_ARMV8_64),$$(CONFIG_VBOOT_ARMV8_CE_SHA256_ACCELERATION))" \ $(MAKE) -C $(VBOOT_SOURCE) \ BUILD=$$(abspath $$(dir $$(VBOOT_LIB_$(1)))) \