aboutsummaryrefslogtreecommitdiff
path: root/lib/uuid.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/uuid.c')
-rw-r--r--lib/uuid.c148
1 files changed, 146 insertions, 2 deletions
diff --git a/lib/uuid.c b/lib/uuid.c
index e4703dc..24571ef 100644
--- a/lib/uuid.c
+++ b/lib/uuid.c
@@ -5,6 +5,7 @@
#include <common.h>
#include <command.h>
+#include <efi_api.h>
#include <env.h>
#include <rand.h>
#include <time.h>
@@ -86,11 +87,11 @@ int uuid_str_valid(const char *uuid)
return 1;
}
-#ifdef CONFIG_PARTITION_TYPE_GUID
static const struct {
const char *string;
efi_guid_t guid;
} list_guid[] = {
+#ifdef CONFIG_PARTITION_TYPE_GUID
{"system", PARTITION_SYSTEM_GUID},
{"mbr", LEGACY_MBR_PARTITION_GUID},
{"msft", PARTITION_MSFT_RESERVED_GUID},
@@ -100,6 +101,150 @@ static const struct {
{"swap", PARTITION_LINUX_SWAP_GUID},
{"lvm", PARTITION_LINUX_LVM_GUID},
{"u-boot-env", PARTITION_U_BOOT_ENVIRONMENT},
+#endif
+#ifdef CONFIG_CMD_EFIDEBUG
+ {
+ "Device Path",
+ EFI_DEVICE_PATH_PROTOCOL_GUID,
+ },
+ {
+ "Device Path To Text",
+ EFI_DEVICE_PATH_TO_TEXT_PROTOCOL_GUID,
+ },
+ {
+ "Device Path Utilities",
+ EFI_DEVICE_PATH_UTILITIES_PROTOCOL_GUID,
+ },
+ {
+ "Unicode Collation 2",
+ EFI_UNICODE_COLLATION_PROTOCOL2_GUID,
+ },
+ {
+ "Driver Binding",
+ EFI_DRIVER_BINDING_PROTOCOL_GUID,
+ },
+ {
+ "Simple Text Input",
+ EFI_SIMPLE_TEXT_INPUT_PROTOCOL_GUID,
+ },
+ {
+ "Simple Text Input Ex",
+ EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID,
+ },
+ {
+ "Simple Text Output",
+ EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL_GUID,
+ },
+ {
+ "Block IO",
+ EFI_BLOCK_IO_PROTOCOL_GUID,
+ },
+ {
+ "Simple File System",
+ EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID,
+ },
+ {
+ "Loaded Image",
+ EFI_LOADED_IMAGE_PROTOCOL_GUID,
+ },
+ {
+ "Graphics Output",
+ EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID,
+ },
+ {
+ "HII String",
+ EFI_HII_STRING_PROTOCOL_GUID,
+ },
+ {
+ "HII Database",
+ EFI_HII_DATABASE_PROTOCOL_GUID,
+ },
+ {
+ "HII Config Routing",
+ EFI_HII_CONFIG_ROUTING_PROTOCOL_GUID,
+ },
+ {
+ "Load File2",
+ EFI_LOAD_FILE2_PROTOCOL_GUID,
+ },
+ {
+ "Random Number Generator",
+ EFI_RNG_PROTOCOL_GUID,
+ },
+ {
+ "Simple Network",
+ EFI_SIMPLE_NETWORK_PROTOCOL_GUID,
+ },
+ {
+ "PXE Base Code",
+ EFI_PXE_BASE_CODE_PROTOCOL_GUID,
+ },
+ {
+ "Device-Tree Fixup",
+ EFI_DT_FIXUP_PROTOCOL_GUID,
+ },
+ {
+ "TCG2",
+ EFI_TCG2_PROTOCOL_GUID,
+ },
+ {
+ "System Partition",
+ PARTITION_SYSTEM_GUID
+ },
+ {
+ "Firmware Management",
+ EFI_FIRMWARE_MANAGEMENT_PROTOCOL_GUID
+ },
+ /* Configuration table GUIDs */
+ {
+ "ACPI table",
+ EFI_ACPI_TABLE_GUID,
+ },
+ {
+ "EFI System Resource Table",
+ EFI_SYSTEM_RESOURCE_TABLE_GUID,
+ },
+ {
+ "device tree",
+ EFI_FDT_GUID,
+ },
+ {
+ "SMBIOS table",
+ SMBIOS_TABLE_GUID,
+ },
+ {
+ "Runtime properties",
+ EFI_RT_PROPERTIES_TABLE_GUID,
+ },
+ {
+ "TCG2 Final Events Table",
+ 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
};
/*
@@ -139,7 +284,6 @@ const char *uuid_guid_get_str(const unsigned char *guid_bin)
}
return NULL;
}
-#endif
/*
* uuid_str_to_bin() - convert string UUID or GUID to big endian binary data.