[PATCH 1/3] uefi: uefidump: Add support for DriverOrder (LP:#1237263)
Colin Ian King
colin.king at canonical.com
Wed Oct 9 11:09:48 UTC 2013
Thanks Ivan, just some minor things..
On 09/10/13 09:47, Ivan Hu wrote:
> Add support for DriverOrder - The DriverOrder variable contains
> an array of UINT16’s that make up an ordered list of the
> Driver#### variable.
>
> Signed-off-by: Ivan Hu <ivan.hu at canonical.com>
> ---
> src/uefi/uefidump/uefidump.c | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/src/uefi/uefidump/uefidump.c b/src/uefi/uefidump/uefidump.c
> index e4b6546..a2aa619 100644
> --- a/src/uefi/uefidump/uefidump.c
> +++ b/src/uefi/uefidump/uefidump.c
> @@ -731,6 +731,21 @@ static void uefidump_info_vendor_keys(fwts_framework *fw, fwts_uefi_var *var)
> fwts_log_info_verbatum(fw, " Value: 0x%2.2" PRIx8 ".", value);
> }
>
> +static void uefidump_info_driverorder(fwts_framework *fw, fwts_uefi_var *var)
> +{
> + uint16_t *data = (uint16_t*)var->data;
> + int i;
> + int n = (int)var->datalen / sizeof(uint16_t);
How about:
size_t i, n = var->datalen / sizeof(uint16_t);
> + char *str = NULL;
> +
> + for (i = 0; i<n; i++) {
I'd prefer:
for (i = 0; i < n; i++) {
> + str = uefidump_vprintf(str, "0x%04" PRIx16 "%s",
> + *data++, i < (n - 1) ? "," : "");
> + }
> + fwts_log_info_verbatum(fw, " Driver Order: %s.", str);
> + free(str);
> +}
> +
> static uefidump_info uefidump_info_table[] = {
> { "PlatformLangCodes", uefidump_info_platform_langcodes },
> { "PlatformLang", uefidump_info_platform_lang },
> @@ -757,6 +772,7 @@ static uefidump_info uefidump_info_table[] = {
> { "HwErrRecSupport", uefidump_info_hwerrrec_support },
> { "OsIndicationsSupported", uefidump_info_osindications_supported },
> { "VendorKeys", uefidump_info_vendor_keys },
> + { "DriverOrder", uefidump_info_driverorder },
> { NULL, NULL }
> };
>
>
More information about the fwts-devel
mailing list