cmd: printenv: simplify printing GUIDs

Use "%pS" to print text representations of GUIDs.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
This commit is contained in:
Heinrich Schuchardt 2022-01-16 14:53:37 +01:00
parent ce00a7401a
commit 983a5a2e72
2 changed files with 26 additions and 37 deletions

View File

@ -39,40 +39,6 @@ static const struct {
{EFI_VARIABLE_READ_ONLY, "RO"},
};
static const struct {
efi_guid_t guid;
char *text;
} efi_guid_text[] = {
/* signature database */
{EFI_GLOBAL_VARIABLE_GUID, "EFI_GLOBAL_VARIABLE_GUID"},
{EFI_IMAGE_SECURITY_DATABASE_GUID, "EFI_IMAGE_SECURITY_DATABASE_GUID"},
/* certificate type */
{EFI_CERT_SHA256_GUID, "EFI_CERT_SHA256_GUID"},
{EFI_CERT_X509_GUID, "EFI_CERT_X509_GUID"},
{EFI_CERT_TYPE_PKCS7_GUID, "EFI_CERT_TYPE_PKCS7_GUID"},
};
static const char unknown_guid[] = "";
/**
* efi_guid_to_str() - convert guid to readable name
*
* @guid: GUID
* Return: string for GUID
*
* convert guid to readable name
*/
static const char *efi_guid_to_str(const efi_guid_t *guid)
{
int i;
for (i = 0; i < ARRAY_SIZE(efi_guid_text); i++)
if (!guidcmp(guid, &efi_guid_text[i].guid))
return efi_guid_text[i].text;
return unknown_guid;
}
/**
* efi_dump_single_var() - show information about a UEFI variable
*
@ -111,7 +77,7 @@ static void efi_dump_single_var(u16 *name, const efi_guid_t *guid, bool verbose)
goto out;
rtc_to_tm(time, &tm);
printf("%ls:\n %pUl %s\n", name, guid, efi_guid_to_str(guid));
printf("%ls:\n %pUl (%pUs)\n", name, guid, guid);
if (attributes & EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS)
printf(" %04d-%02d-%02d %02d:%02d:%02d\n", tm.tm_year,
tm.tm_mon, tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec);
@ -497,8 +463,7 @@ int do_env_set_efi(struct cmd_tbl *cmdtp, int flag, int argc,
}
if (verbose) {
printf("GUID: %pUl %s\n", &guid,
efi_guid_to_str((const efi_guid_t *)&guid));
printf("GUID: %pUl (%pUs)\n", &guid, &guid);
printf("Attributes: 0x%x\n", attributes);
}

View File

@ -217,6 +217,30 @@ static const struct {
EFI_TCG2_FINAL_EVENTS_TABLE_GUID,
},
#endif
#ifdef CONFIG_CMD_NVEDIT_EFI
/* signature database */
{
"EFI_GLOBAL_VARIABLE_GUID",
EFI_GLOBAL_VARIABLE_GUID,
},
{
"EFI_IMAGE_SECURITY_DATABASE_GUID",
EFI_IMAGE_SECURITY_DATABASE_GUID,
},
/* certificate types */
{
"EFI_CERT_SHA256_GUID",
EFI_CERT_SHA256_GUID,
},
{
"EFI_CERT_X509_GUID",
EFI_CERT_X509_GUID,
},
{
"EFI_CERT_TYPE_PKCS7_GUID",
EFI_CERT_TYPE_PKCS7_GUID,
},
#endif
};
/*