security/vboot: relocate vb2ex_abort and vb2ex_printf

Enabling an assertion in vb2_member_of() results in coreboot
linking vb2ex_abort() and vb2ex_printf() in ramstage.

Move these two functions from vboot_logic.c to vboot_lib.c,
which is should be enabled in all stages if CONFIG_VBOOT_LIB
is enabled.  Note that CONFIG_VBOOT_LIB is implied by
CONFIG_VBOOT.

Relevant vboot_reference commit: CL:2037263.

BUG=b:124141368, chromium:1005700
TEST=make clean && make test-abuild
BRANCH=none

Change-Id: Ica0103c5684b3d50ba7dc1b4c39559cb192efa81
Signed-off-by: Joel Kitching <kitching@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/38706
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
diff --git a/src/security/vboot/Makefile.inc b/src/security/vboot/Makefile.inc
index a700e00..2fe2d92 100644
--- a/src/security/vboot/Makefile.inc
+++ b/src/security/vboot/Makefile.inc
@@ -16,6 +16,12 @@
 
 ifeq ($(CONFIG_VBOOT_LIB),y)
 
+bootblock-y += vboot_lib.c
+verstage-y += vboot_lib.c
+romstage-y += vboot_lib.c
+ramstage-y += vboot_lib.c
+postcar-y += vboot_lib.c
+
 vboot-fixup-includes = $(patsubst -I%,-I$(top)/%,\
 		       $(patsubst $(src)/%.h,$(top)/$(src)/%.h,\
 		       $(filter-out -I$(obj),$(1))))
diff --git a/src/security/vboot/vboot_lib.c b/src/security/vboot/vboot_lib.c
new file mode 100644
index 0000000..b2303c0
--- /dev/null
+++ b/src/security/vboot/vboot_lib.c
@@ -0,0 +1,29 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/* This file is part of the coreboot project. */
+
+#include <console/console.h>
+#include <console/vtxprintf.h>
+#include <vb2_api.h>
+
+/*
+ * vboot callbacks implemented by coreboot -- necessary for making general API
+ * calls when CONFIG_VBOOT_LIB is enabled.  For callbacks specific to verstage
+ * (CONFIG_VBOOT), please see vboot_logic.c.
+ */
+
+void vb2ex_printf(const char *func, const char *fmt, ...)
+{
+	va_list args;
+
+	if (func)
+		printk(BIOS_INFO, "VB2:%s() ", func);
+
+	va_start(args, fmt);
+	vprintk(BIOS_INFO, fmt, args);
+	va_end(args);
+}
+
+void vb2ex_abort(void)
+{
+	die("vboot has aborted execution; exit\n");
+}
diff --git a/src/security/vboot/vboot_logic.c b/src/security/vboot/vboot_logic.c
index 1d17a17..182128c 100644
--- a/src/security/vboot/vboot_logic.c
+++ b/src/security/vboot/vboot_logic.c
@@ -17,8 +17,6 @@
 #include <assert.h>
 #include <bootmode.h>
 #include <cbmem.h>
-#include <console/console.h>
-#include <console/vtxprintf.h>
 #include <fmap.h>
 #include <string.h>
 #include <timestamp.h>
@@ -37,20 +35,6 @@
 
 /* exports */
 
-void vb2ex_printf(const char *func, const char *fmt, ...)
-{
-	va_list args;
-
-	if (func)
-		printk(BIOS_INFO, "VB2:%s() ", func);
-
-	va_start(args, fmt);
-	vprintk(BIOS_INFO, fmt, args);
-	va_end(args);
-
-	return;
-}
-
 vb2_error_t vb2ex_read_resource(struct vb2_context *ctx,
 				enum vb2_resource_index index,
 				uint32_t offset,
@@ -83,11 +67,6 @@
 	return VB2_SUCCESS;
 }
 
-void vb2ex_abort(void)
-{
-	die("vboot has aborted execution; exit\n");
-}
-
 /* No-op stubs that can be overridden by SoCs with hardware crypto support. */
 __weak vb2_error_t vb2ex_hwcrypto_digest_init(enum vb2_hash_algorithm hash_alg,
 					      uint32_t data_size)