]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
efi: selftest: add selftest for EFI_DEBUG_SUPPORT
authorYing-Chun Liu (PaulLiu) <paul.liu@linaro.org>
Thu, 3 Jul 2025 06:28:11 +0000 (07:28 +0100)
committerIlias Apalodimas <ilias.apalodimas@linaro.org>
Thu, 3 Jul 2025 09:25:56 +0000 (12:25 +0300)
Add selftest to check the installed configuration table that has
the correct GUID.

Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Ying-Chun Liu (PaulLiu) <paul.liu@linaro.org>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
lib/efi_selftest/Makefile
lib/efi_selftest/efi_selftest_debug_support.c [new file with mode: 0644]

index d78bf7d6191fc8111ee2cf34d1730446dcaf36fb..842433f68aaf55e5d3e9e0102be6addac5ae9d24 100644 (file)
@@ -78,6 +78,8 @@ endif
 
 obj-$(CONFIG_EFI_ESRT) += efi_selftest_esrt.o
 
+obj-$(CONFIG_EFI_DEBUG_SUPPORT) += efi_selftest_debug_support.o
+
 targets += \
 efi_miniapp_file_image_exception.h \
 efi_miniapp_file_image_exit.h \
diff --git a/lib/efi_selftest/efi_selftest_debug_support.c b/lib/efi_selftest/efi_selftest_debug_support.c
new file mode 100644 (file)
index 0000000..9ca8b3f
--- /dev/null
@@ -0,0 +1,40 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * efi_selftest_debug_support
+ *
+ * Copyright (c) 2025 Ying-Chun Liu, Linaro Ltd. <paul.liu@linaro.org>
+ *
+ * Test the EFI_DEBUG_SUPPORT
+ */
+
+#include <efi_loader.h>
+#include <efi_selftest.h>
+
+/**
+ * efi_st_debug_support_execute() - execute test
+ *
+ * Test EFI_DEBUG_SUPPORT tables.
+ *
+ * Return:     status code
+ */
+static int efi_st_debug_support_execute(void)
+{
+       struct efi_debug_image_info_table_header *efi_st_debug_info_table_header = NULL;
+       efi_guid_t efi_debug_image_info_table_guid = EFI_DEBUG_IMAGE_INFO_TABLE_GUID;
+
+       /* get EFI_DEBUG_IMAGE_INFO_TABLE */
+       efi_st_debug_info_table_header = efi_st_get_config_table(&efi_debug_image_info_table_guid);
+
+       if (!efi_st_debug_info_table_header) {
+               efi_st_error("Missing EFI_DEBUG_IMAGE_INFO_TABLE\n");
+               return EFI_ST_FAILURE;
+       }
+
+       return EFI_ST_SUCCESS;
+}
+
+EFI_UNIT_TEST(debug_support) = {
+       .name = "debug_support",
+       .phase = EFI_EXECUTE_BEFORE_BOOTTIME_EXIT,
+       .execute = efi_st_debug_support_execute,
+};