[PATCH 6/6] uefi: uefidump: Add support for SignatureSupport variable

Keng-Yu Lin kengyu at canonical.com
Tue Sep 11 05:56:36 UTC 2012


On Mon, Sep 3, 2012 at 11:52 PM, Colin King <colin.king at canonical.com> wrote:
> 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
>
Acked-by: Keng-Yu Lin <kengyu at canonical.com>



More information about the fwts-devel mailing list