This patch passes the correct flag to vboot to enable SIMD crypto acceleration on arm64 devices. This uses a core part of the ISA and should thus be supported on all arm64 SoCs -- so we normally always want it enabled, but there should still be a Kconfig in case a SoC wants to use the hwcrypto interface for its own (off-CPU) crypto acceleration engine instead. (You could also disable it to save a small amount of code size at the cost of speed, if necessary.) Change-Id: I3820bd6b7505202b7edb6768385ce5deb18777a4 Signed-off-by: Julius Werner <jwerner@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/80710 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Yu-Ping Wu <yupingso@google.com>
58 lines
1.9 KiB
Makefile
58 lines
1.9 KiB
Makefile
# SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
VBOOT_BUILD_DIR ?= $(abspath $(obj)/external/vboot)
|
|
VBOOT_FW_LIB = $(VBOOT_BUILD_DIR)/vboot_fw.a
|
|
TLCL_LIB = $(VBOOT_BUILD_DIR)/tlcl.a
|
|
|
|
vboot_fw-objs += $(VBOOT_FW_LIB)
|
|
tlcl-objs += $(TLCL_LIB)
|
|
|
|
kconfig-to-binary=$(if $(strip $(1)),1,0)
|
|
vboot-fixup-includes = $(filter -I$(coreboottop)/%, $(1)) \
|
|
$(patsubst -I%,-I$(top)/%,\
|
|
$(patsubst include/%.h,$(top)/include/%.h,\
|
|
$(filter-out -I$(obj),\
|
|
$(filter-out -I$(coreboottop)/%,$(1)))))
|
|
|
|
VBOOT_FIRMWARE_ARCH-$(CONFIG_LP_ARCH_ARM) := arm
|
|
VBOOT_FIRMWARE_ARCH-$(CONFIG_LP_ARCH_X86) := x86
|
|
VBOOT_FIRMWARE_ARCH-$(CONFIG_LP_ARCH_ARM64) := arm64
|
|
|
|
ifneq ($(CONFIG_LP_ARCH_MOCK),)
|
|
VBOOT_FIRMWARE_ARCH-y := mock
|
|
else
|
|
VBOOT_CFLAGS += $(call vboot-fixup-includes,$(CFLAGS))
|
|
VBOOT_CFLAGS += -I$(abspath $(obj))
|
|
endif
|
|
|
|
ifeq ($(VBOOT_FIRMWARE_ARCH-y),)
|
|
$(error vboot requires architecture to be set in the configuration)
|
|
endif
|
|
|
|
# Enable vboot debug by default
|
|
VBOOT_CFLAGS += -DVBOOT_DEBUG
|
|
|
|
ifeq ($(CONFIG_LP_VBOOT_X86_RSA_ACCELERATION),y)
|
|
CPPFLAGS_common += -DVB2_X86_RSA_ACCELERATION
|
|
endif
|
|
|
|
$(VBOOT_FW_LIB): $(obj)/libpayload-config.h
|
|
@printf " MAKE $(subst $(obj)/,,$(@))\n"
|
|
+$(Q) FIRMWARE_ARCH="$(VBOOT_FIRMWARE_ARCH-y)" \
|
|
CC="$(CC)" \
|
|
CFLAGS="$(VBOOT_CFLAGS)" \
|
|
$(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)) \
|
|
VB2_X86_RSA_ACCELERATION=$(call kconfig-to-binary, $(CONFIG_LP_VBOOT_X86_RSA_ACCELERATION)) \
|
|
ARMV8_CRYPTO_EXT=$(call kconfig-to-binary, $(CONFIG_LP_VBOOT_SHA_ARMV8_CE)) \
|
|
ARM64_RSA_ACCELERATION=$(call kconfig-to-binary, $(CONFIG_LP_VBOOT_ARM64_RSA_ACCELERATION)) \
|
|
UNROLL_LOOPS=1 \
|
|
BUILD="$(VBOOT_BUILD_DIR)" \
|
|
V=$(V) \
|
|
$(VBOOT_BUILD_DIR)/vboot_fw.a tlcl
|
|
|
|
$(TLCL_LIB): $(VBOOT_FW_LIB)
|
|
|
|
.PHONY: $(VBOOT_FW_LIB) $(TLCL_LIB)
|