# SPDX-License-Identifier: BSD-3-Clause

config VBOOT_LIB
	bool "Compile verified boot (vboot) library"
	default y if CHROMEOS
	default n
	help
	  This option enables compiling and building vboot libraries vboot_fw and tlcl.

if VBOOT_LIB

config VBOOT_CBFS_INTEGRATION
	bool "Enable vboot and CBFS integration"
	default n
	depends on CBFS_VERIFICATION
	help
	  Say yes to request reboot on CBFS file hash mismatch in non-recovery mode.

config VBOOT_TPM2_MODE
	bool "TPM2 Mode"
	default y
	help
	  This option enables TPM 2.0 support in vboot. Disabling it allows using TPM 1.2.

config VBOOT_X86_SHA_EXT
	bool "x86 SHA Extension"
	default y if CHROMEOS
	default n
	depends on ARCH_X86
	help
	  This option enables SHA256 implementation using x86 SHA processor extension
	  instructions: sha256msg1, sha256msg2, sha256rnds2.

config VBOOT_X86_RSA_ACCELERATION
	bool "Use SSE2 instructions for RSA signature verification"
	default y if CHROMEOS
	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_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.

config VBOOT_ARM64_RSA_ACCELERATION
	bool "Use arm64 SIMD instructions to accelerate RSA signature verification"
	default y
	depends on ARCH_ARM64
	help
	  Use arm64 SIMD instructions (NEON) to parallelize two multiplications
	  in the modulus exponentiation algorithm, which speeds up RSA signature
	  verification in vboot. This is supported on all arm64 CPUs so you'd
	  generally always want this enabled, unless your SoC is overriding
	  vboot's hwcrypto API with its own crypto accelerator IP instead (or
	  you're trying really hard to save on code size).

endif
