[PATCH 6/6] uefi: uefidump: Add support for SignatureSupport variable
Colin King
colin.king at canonical.com
Mon Sep 3 15:52:45 UTC 2012
From: Colin Ian King <colin.king at canonical.com>
SignatureSupport contains an array of GUIDs, so it is relatively
easy to dump out, so add it to uefidump.
Signed-off-by: Colin Ian King <colin.king at canonical.com>
---
src/uefi/uefidump/uefidump.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/src/uefi/uefidump/uefidump.c b/src/uefi/uefidump/uefidump.c
index d7f4dd6..71c0cc5 100644
--- a/src/uefi/uefidump/uefidump.c
+++ b/src/uefi/uefidump/uefidump.c
@@ -617,6 +617,30 @@ static void uefidump_info_acpi_global_variable(fwts_framework *fw, fwts_uefi_var
}
}
+/*
+ * Dump Supported Signature GUIDs
+ */
+static void uefidump_info_signature_support(fwts_framework *fw, fwts_uefi_var *var)
+{
+ if (var->datalen % 16) {
+ /* Should be multiple of 16 bytes, of not, dump it out as a hex dump */
+ uefidump_var_hexdump(fw, var);
+ } else {
+ /* Signatures are an array of GUIDs */
+ uint8_t *data = var->data;
+ char guid_str[37];
+
+ if (var->datalen)
+ fwts_log_info_verbatum(fw, " Signature GUIDs:");
+
+ while (data - var->data < var->datalen) {
+ fwts_guid_buf_to_str(data, guid_str, sizeof(guid_str));
+ fwts_log_info_verbatum(fw, " %s", guid_str);
+ data += 16;
+ }
+ }
+}
+
static uefidump_info uefidump_info_table[] = {
{ "PlatformLangCodes", uefidump_info_platform_langcodes },
{ "PlatformLang", uefidump_info_platform_lang },
@@ -640,6 +664,7 @@ static uefidump_info uefidump_info_table[] = {
{ "SetupMode", uefidump_info_setup_mode },
{ "MemoryOverwriteRequestControl", uefidump_info_morc },
{ "AcpiGlobalVariable", uefidump_info_acpi_global_variable },
+ { "SignatureSupport", uefidump_info_signature_support },
{ NULL, NULL }
};
--
1.7.10.4
More information about the fwts-devel
mailing list