a5bd9f6
From c0be2c2099805c621f27d5b3ced224db437a582c Mon Sep 17 00:00:00 2001
a5bd9f6
From: Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>
a5bd9f6
Date: Sun, 22 Jul 2012 19:59:06 +0200
a5bd9f6
Subject: [PATCH 015/364] 	New command `lsefi'.
a5bd9f6
a5bd9f6
	* grub-core/Makefile.core.def (lsefi): New module.
a5bd9f6
	* grub-core/commands/efi/lsefi.c: New file.
a5bd9f6
	* include/grub/efi/api.h: Add more GUIDs.
a5bd9f6
---
a5bd9f6
 ChangeLog                      |   8 +++
a5bd9f6
 grub-core/Makefile.core.def    |   6 ++
a5bd9f6
 grub-core/commands/efi/lsefi.c | 153 +++++++++++++++++++++++++++++++++++++++++
a5bd9f6
 include/grub/efi/api.h         | 142 +++++++++++++++++++++++++++++++++++++-
a5bd9f6
 4 files changed, 308 insertions(+), 1 deletion(-)
a5bd9f6
 create mode 100644 grub-core/commands/efi/lsefi.c
a5bd9f6
a5bd9f6
diff --git a/ChangeLog b/ChangeLog
a5bd9f6
index f514465..a21708c 100644
a5bd9f6
--- a/ChangeLog
a5bd9f6
+++ b/ChangeLog
a5bd9f6
@@ -1,5 +1,13 @@
a5bd9f6
 2012-07-22  Vladimir Serbinenko  <phcoder@gmail.com>
a5bd9f6
 
a5bd9f6
+	New command `lsefi'.
a5bd9f6
+
a5bd9f6
+	* grub-core/Makefile.core.def (lsefi): New module.
a5bd9f6
+	* grub-core/commands/efi/lsefi.c: New file.
a5bd9f6
+	* include/grub/efi/api.h: Add more GUIDs.
a5bd9f6
+
a5bd9f6
+2012-07-22  Vladimir Serbinenko  <phcoder@gmail.com>
a5bd9f6
+
a5bd9f6
 	* grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
a5bd9f6
 	(grub_bsd_elf32_hook): Likewise.
a5bd9f6
 	(grub_bsd_elf64_size_hook): Likewise.
a5bd9f6
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
a5bd9f6
index 5c2fcc2..de702d6 100644
a5bd9f6
--- a/grub-core/Makefile.core.def
a5bd9f6
+++ b/grub-core/Makefile.core.def
a5bd9f6
@@ -569,6 +569,12 @@ module = {
a5bd9f6
 };
a5bd9f6
 
a5bd9f6
 module = {
a5bd9f6
+  name = lsefi;
a5bd9f6
+  common = commands/efi/lsefi.c;
a5bd9f6
+  enable = efi;
a5bd9f6
+};
a5bd9f6
+
a5bd9f6
+module = {
a5bd9f6
   name = blocklist;
a5bd9f6
   common = commands/blocklist.c;
a5bd9f6
 };
a5bd9f6
diff --git a/grub-core/commands/efi/lsefi.c b/grub-core/commands/efi/lsefi.c
a5bd9f6
new file mode 100644
a5bd9f6
index 0000000..8dffbdc
a5bd9f6
--- /dev/null
a5bd9f6
+++ b/grub-core/commands/efi/lsefi.c
a5bd9f6
@@ -0,0 +1,153 @@
a5bd9f6
+/*
a5bd9f6
+ *  GRUB  --  GRand Unified Bootloader
a5bd9f6
+ *  Copyright (C) 2012  Free Software Foundation, Inc.
a5bd9f6
+ *
a5bd9f6
+ *  GRUB is free software: you can redistribute it and/or modify
a5bd9f6
+ *  it under the terms of the GNU General Public License as published by
a5bd9f6
+ *  the Free Software Foundation, either version 3 of the License, or
a5bd9f6
+ *  (at your option) any later version.
a5bd9f6
+ *
a5bd9f6
+ *  GRUB is distributed in the hope that it will be useful,
a5bd9f6
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
a5bd9f6
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
a5bd9f6
+ *  GNU General Public License for more details.
a5bd9f6
+ *
a5bd9f6
+ *  You should have received a copy of the GNU General Public License
a5bd9f6
+ *  along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
a5bd9f6
+ */
a5bd9f6
+#include <grub/types.h>
a5bd9f6
+#include <grub/mm.h>
a5bd9f6
+#include <grub/misc.h>
a5bd9f6
+#include <grub/efi/api.h>
a5bd9f6
+#include <grub/efi/edid.h>
a5bd9f6
+#include <grub/efi/pci.h>
a5bd9f6
+#include <grub/efi/efi.h>
a5bd9f6
+#include <grub/efi/uga_draw.h>
a5bd9f6
+#include <grub/efi/graphics_output.h>
a5bd9f6
+#include <grub/efi/console_control.h>
a5bd9f6
+#include <grub/command.h>
a5bd9f6
+
a5bd9f6
+GRUB_MOD_LICENSE ("GPLv3+");
a5bd9f6
+
a5bd9f6
+struct known_protocol
a5bd9f6
+{
a5bd9f6
+  grub_efi_guid_t guid;
a5bd9f6
+  const char *name;
a5bd9f6
+} known_protocols[] = 
a5bd9f6
+  {
a5bd9f6
+    { GRUB_EFI_DISK_IO_GUID, "disk" },
a5bd9f6
+    { GRUB_EFI_BLOCK_IO_GUID, "block" },
a5bd9f6
+    { GRUB_EFI_SERIAL_IO_GUID, "serial" },
a5bd9f6
+    { GRUB_EFI_SIMPLE_NETWORK_GUID, "network" },
a5bd9f6
+    { GRUB_EFI_PXE_GUID, "pxe" },
a5bd9f6
+    { GRUB_EFI_DEVICE_PATH_GUID, "device path" },
a5bd9f6
+    { GRUB_EFI_PCI_IO_GUID, "PCI" },
a5bd9f6
+    { GRUB_EFI_PCI_ROOT_IO_GUID, "PCI root" },
a5bd9f6
+    { GRUB_EFI_EDID_ACTIVE_GUID, "active EDID" },
a5bd9f6
+    { GRUB_EFI_EDID_DISCOVERED_GUID, "discovered EDID" },
a5bd9f6
+    { GRUB_EFI_EDID_OVERRIDE_GUID, "override EDID" },
a5bd9f6
+    { GRUB_EFI_GOP_GUID, "GOP" },
a5bd9f6
+    { GRUB_EFI_UGA_DRAW_GUID, "UGA draw" },
a5bd9f6
+    { GRUB_EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL_GUID, "simple text output" },
a5bd9f6
+    { GRUB_EFI_SIMPLE_TEXT_INPUT_PROTOCOL_GUID, "simple text input" },
a5bd9f6
+    { GRUB_EFI_SIMPLE_POINTER_PROTOCOL_GUID, "simple pointer" },
a5bd9f6
+    { GRUB_EFI_CONSOLE_CONTROL_GUID, "console control" },
a5bd9f6
+    { GRUB_EFI_ABSOLUTE_POINTER_PROTOCOL_GUID, "absolute pointer" },
a5bd9f6
+    { GRUB_EFI_DRIVER_BINDING_PROTOCOL_GUID, "EFI driver binding" },
a5bd9f6
+    { GRUB_EFI_LOAD_FILE_PROTOCOL_GUID, "load file" },
a5bd9f6
+    { GRUB_EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID, "simple FS" },
a5bd9f6
+    { GRUB_EFI_TAPE_IO_PROTOCOL_GUID, "tape I/O" },
a5bd9f6
+    { GRUB_EFI_UNICODE_COLLATION_PROTOCOL_GUID, "unicode collation" },
a5bd9f6
+    { GRUB_EFI_SCSI_IO_PROTOCOL_GUID, "SCSI I/O" },
a5bd9f6
+    { GRUB_EFI_USB2_HC_PROTOCOL_GUID, "USB host" },
a5bd9f6
+    { GRUB_EFI_DEBUG_SUPPORT_PROTOCOL_GUID, "debug support" },
a5bd9f6
+    { GRUB_EFI_DEBUGPORT_PROTOCOL_GUID, "debug port" },
a5bd9f6
+    { GRUB_EFI_DECOMPRESS_PROTOCOL_GUID, "decompress" },
a5bd9f6
+    { GRUB_EFI_LOADED_IMAGE_PROTOCOL_GUID, "loaded image" },
a5bd9f6
+    { GRUB_EFI_DEVICE_PATH_TO_TEXT_PROTOCOL_GUID, "device path to text" },
a5bd9f6
+    { GRUB_EFI_DEVICE_PATH_UTILITIES_PROTOCOL_GUID, "device path utilities" },
a5bd9f6
+    { GRUB_EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL_GUID, "device path from text" },
a5bd9f6
+    { GRUB_EFI_HII_CONFIG_ROUTING_PROTOCOL_GUID, "HII config routing" },
a5bd9f6
+    { GRUB_EFI_HII_DATABASE_PROTOCOL_GUID, "HII database" },
a5bd9f6
+    { GRUB_EFI_HII_STRING_PROTOCOL_GUID, "HII string" },
a5bd9f6
+    { GRUB_EFI_HII_IMAGE_PROTOCOL_GUID, "HII image" },
a5bd9f6
+    { GRUB_EFI_HII_FONT_PROTOCOL_GUID, "HII font" },
a5bd9f6
+    { GRUB_EFI_COMPONENT_NAME2_PROTOCOL_GUID, "component name 2" },
a5bd9f6
+    { GRUB_EFI_HII_CONFIGURATION_ACCESS_PROTOCOL_GUID,
a5bd9f6
+      "HII configuration access" },
a5bd9f6
+    { GRUB_EFI_USB_IO_PROTOCOL_GUID, "USB I/O" },
a5bd9f6
+  };
a5bd9f6
+
a5bd9f6
+static grub_err_t
a5bd9f6
+grub_cmd_lsefi (grub_command_t cmd __attribute__ ((unused)),
a5bd9f6
+		int argc __attribute__ ((unused)),
a5bd9f6
+		char **args __attribute__ ((unused)))
a5bd9f6
+{
a5bd9f6
+  grub_efi_handle_t *handles;
a5bd9f6
+  grub_efi_uintn_t num_handles;
a5bd9f6
+  unsigned i, j, k;
a5bd9f6
+
a5bd9f6
+  handles = grub_efi_locate_handle (GRUB_EFI_ALL_HANDLES,
a5bd9f6
+				    NULL, NULL, &num_handles);
a5bd9f6
+
a5bd9f6
+  for (i = 0; i < num_handles; i++)
a5bd9f6
+    {
a5bd9f6
+      grub_efi_handle_t handle = handles[i];
a5bd9f6
+      grub_efi_status_t status;
a5bd9f6
+      grub_efi_uintn_t num_protocols;
a5bd9f6
+      grub_efi_guid_t **protocols;
a5bd9f6
+      grub_efi_device_path_t *dp;
a5bd9f6
+
a5bd9f6
+      grub_printf ("Handle %p\n", handle);
a5bd9f6
+
a5bd9f6
+      dp = grub_efi_get_device_path (handle);
a5bd9f6
+      if (dp)
a5bd9f6
+	{
a5bd9f6
+	  grub_printf ("  ");
a5bd9f6
+	  grub_efi_print_device_path (dp);
a5bd9f6
+	}
a5bd9f6
+
a5bd9f6
+      status = efi_call_3 (grub_efi_system_table->boot_services->protocols_per_handle,
a5bd9f6
+			   handle, &protocols, &num_protocols);
a5bd9f6
+      if (status != GRUB_EFI_SUCCESS)
a5bd9f6
+	grub_printf ("Unable to retrieve protocols\n");
a5bd9f6
+      for (j = 0; j < num_protocols; j++)
a5bd9f6
+	{
a5bd9f6
+	  for (k = 0; k < ARRAY_SIZE (known_protocols); k++)
a5bd9f6
+	    if (grub_memcmp (protocols[j], &known_protocols[k].guid,
a5bd9f6
+			     sizeof (known_protocols[k].guid)) == 0)
a5bd9f6
+		break;
a5bd9f6
+	  if (k < ARRAY_SIZE (known_protocols))
a5bd9f6
+	    grub_printf ("  %s\n", known_protocols[k].name);
a5bd9f6
+	  else
a5bd9f6
+	    grub_printf ("  %08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x\n",
a5bd9f6
+			 protocols[j]->data1,
a5bd9f6
+			 protocols[j]->data2,
a5bd9f6
+			 protocols[j]->data3,
a5bd9f6
+			 (unsigned) protocols[j]->data4[0],
a5bd9f6
+			 (unsigned) protocols[j]->data4[1],
a5bd9f6
+			 (unsigned) protocols[j]->data4[2],
a5bd9f6
+			 (unsigned) protocols[j]->data4[3],
a5bd9f6
+			 (unsigned) protocols[j]->data4[4],
a5bd9f6
+			 (unsigned) protocols[j]->data4[5],
a5bd9f6
+			 (unsigned) protocols[j]->data4[6],
a5bd9f6
+			 (unsigned) protocols[j]->data4[7]);
a5bd9f6
+	}
a5bd9f6
+
a5bd9f6
+    }
a5bd9f6
+
a5bd9f6
+  return 0;
a5bd9f6
+}
a5bd9f6
+
a5bd9f6
+static grub_command_t cmd;
a5bd9f6
+
a5bd9f6
+GRUB_MOD_INIT(lsefi)
a5bd9f6
+{
a5bd9f6
+  cmd = grub_register_command ("lsefi", grub_cmd_lsefi,
a5bd9f6
+			       NULL, "Display EFI handles.");
a5bd9f6
+}
a5bd9f6
+
a5bd9f6
+GRUB_MOD_FINI(lsefi)
a5bd9f6
+{
a5bd9f6
+  grub_unregister_command (cmd);
a5bd9f6
+}
a5bd9f6
diff --git a/include/grub/efi/api.h b/include/grub/efi/api.h
a5bd9f6
index 26127de..9e7a8d8 100644
a5bd9f6
--- a/include/grub/efi/api.h
a5bd9f6
+++ b/include/grub/efi/api.h
a5bd9f6
@@ -104,9 +104,149 @@
a5bd9f6
     { 0x8e, 0x39, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \
a5bd9f6
   }
a5bd9f6
 
a5bd9f6
+#define GRUB_EFI_SIMPLE_TEXT_INPUT_PROTOCOL_GUID \
a5bd9f6
+  { 0x387477c1, 0x69c7, 0x11d2, \
a5bd9f6
+    { 0x8e, 0x39, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \
a5bd9f6
+  }
a5bd9f6
+
a5bd9f6
+#define EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID \
a5bd9f6
+  { 0xdd9e7534, 0x7762, 0x4698, \
a5bd9f6
+    { 0x8c, 0x14, 0xf5, 0x85, 0x17, 0xa6, 0x25, 0xaa } \
a5bd9f6
+  }
a5bd9f6
+
a5bd9f6
+#define GRUB_EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL_GUID \
a5bd9f6
+  { 0x387477c2, 0x69c7, 0x11d2, \
a5bd9f6
+    { 0x8e, 0x39, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \
a5bd9f6
+  }
a5bd9f6
+
a5bd9f6
+#define GRUB_EFI_SIMPLE_POINTER_PROTOCOL_GUID \
a5bd9f6
+  { 0x31878c87, 0xb75, 0x11d5, \
a5bd9f6
+    { 0x9a, 0x4f, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \
a5bd9f6
+  }
a5bd9f6
+
a5bd9f6
+#define GRUB_EFI_ABSOLUTE_POINTER_PROTOCOL_GUID \
a5bd9f6
+  { 0x8D59D32B, 0xC655, 0x4AE9, \
a5bd9f6
+    { 0x9B, 0x15, 0xF2, 0x59, 0x04, 0x99, 0x2A, 0x43 } \
a5bd9f6
+  }
a5bd9f6
+
a5bd9f6
+#define GRUB_EFI_DRIVER_BINDING_PROTOCOL_GUID \
a5bd9f6
+  { 0x18A031AB, 0xB443, 0x4D1A, \
a5bd9f6
+    { 0xA5, 0xC0, 0x0C, 0x09, 0x26, 0x1E, 0x9F, 0x71 } \
a5bd9f6
+  }
a5bd9f6
+
a5bd9f6
+#define GRUB_EFI_LOADED_IMAGE_PROTOCOL_GUID \
a5bd9f6
+  { 0x5B1B31A1, 0x9562, 0x11d2, \
a5bd9f6
+    { 0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B } \
a5bd9f6
+  }
a5bd9f6
+
a5bd9f6
+#define GRUB_EFI_LOAD_FILE_PROTOCOL_GUID \
a5bd9f6
+  { 0x56EC3091, 0x954C, 0x11d2, \
a5bd9f6
+    { 0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B } \
a5bd9f6
+  }
a5bd9f6
+
a5bd9f6
+#define GRUB_EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID \
a5bd9f6
+  { 0x0964e5b22, 0x6459, 0x11d2, \
a5bd9f6
+    { 0x8e, 0x39, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \
a5bd9f6
+  }
a5bd9f6
+
a5bd9f6
+#define GRUB_EFI_TAPE_IO_PROTOCOL_GUID \
a5bd9f6
+  { 0x1e93e633, 0xd65a, 0x459e, \
a5bd9f6
+    { 0xab, 0x84, 0x93, 0xd9, 0xec, 0x26, 0x6d, 0x18 } \
a5bd9f6
+  }
a5bd9f6
+
a5bd9f6
+#define GRUB_EFI_UNICODE_COLLATION_PROTOCOL_GUID \
a5bd9f6
+  { 0x1d85cd7f, 0xf43d, 0x11d2, \
a5bd9f6
+    { 0x9a, 0x0c, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \
a5bd9f6
+  }
a5bd9f6
+
a5bd9f6
+#define GRUB_EFI_SCSI_IO_PROTOCOL_GUID \
a5bd9f6
+  { 0x932f47e6, 0x2362, 0x4002, \
a5bd9f6
+    { 0x80, 0x3e, 0x3c, 0xd5, 0x4b, 0x13, 0x8f, 0x85 } \
a5bd9f6
+  }
a5bd9f6
+
a5bd9f6
+#define GRUB_EFI_USB2_HC_PROTOCOL_GUID \
a5bd9f6
+  { 0x3e745226, 0x9818, 0x45b6, \
a5bd9f6
+    { 0xa2, 0xac, 0xd7, 0xcd, 0x0e, 0x8b, 0xa2, 0xbc } \
a5bd9f6
+  }
a5bd9f6
+
a5bd9f6
+#define GRUB_EFI_DEBUG_SUPPORT_PROTOCOL_GUID \
a5bd9f6
+  { 0x2755590C, 0x6F3C, 0x42FA, \
a5bd9f6
+    { 0x9E, 0xA4, 0xA3, 0xBA, 0x54, 0x3C, 0xDA, 0x25 } \
a5bd9f6
+  }
a5bd9f6
+
a5bd9f6
+#define GRUB_EFI_DEBUGPORT_PROTOCOL_GUID \
a5bd9f6
+  { 0xEBA4E8D2, 0x3858, 0x41EC, \
a5bd9f6
+    { 0xA2, 0x81, 0x26, 0x47, 0xBA, 0x96, 0x60, 0xD0 } \
a5bd9f6
+  }
a5bd9f6
+
a5bd9f6
+#define GRUB_EFI_DECOMPRESS_PROTOCOL_GUID \
a5bd9f6
+  { 0xd8117cfe, 0x94a6, 0x11d4, \
a5bd9f6
+    { 0x9a, 0x3a, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \
a5bd9f6
+  }
a5bd9f6
+
a5bd9f6
+#define GRUB_EFI_DEVICE_PATH_TO_TEXT_PROTOCOL_GUID \
a5bd9f6
+  { 0x8b843e20, 0x8132, 0x4852, \
a5bd9f6
+    { 0x90, 0xcc, 0x55, 0x1a, 0x4e, 0x4a, 0x7f, 0x1c } \
a5bd9f6
+  }
a5bd9f6
+
a5bd9f6
+#define GRUB_EFI_DEVICE_PATH_UTILITIES_PROTOCOL_GUID \
a5bd9f6
+  { 0x379be4e, 0xd706, 0x437d, \
a5bd9f6
+    { 0xb0, 0x37, 0xed, 0xb8, 0x2f, 0xb7, 0x72, 0xa4 } \
a5bd9f6
+  }
a5bd9f6
+
a5bd9f6
+#define GRUB_EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL_GUID \
a5bd9f6
+  { 0x5c99a21, 0xc70f, 0x4ad2, \
a5bd9f6
+    { 0x8a, 0x5f, 0x35, 0xdf, 0x33, 0x43, 0xf5, 0x1e } \
a5bd9f6
+  }
a5bd9f6
+
a5bd9f6
+#define GRUB_EFI_ACPI_TABLE_PROTOCOL_GUID \
a5bd9f6
+  { 0xffe06bdd, 0x6107, 0x46a6, \
a5bd9f6
+    { 0x7b, 0xb2, 0x5a, 0x9c, 0x7e, 0xc5, 0x27, 0x5c} \
a5bd9f6
+  }
a5bd9f6
+
a5bd9f6
+#define GRUB_EFI_HII_CONFIG_ROUTING_PROTOCOL_GUID \
a5bd9f6
+  { 0x587e72d7, 0xcc50, 0x4f79, \
a5bd9f6
+    { 0x82, 0x09, 0xca, 0x29, 0x1f, 0xc1, 0xa1, 0x0f } \
a5bd9f6
+  }
a5bd9f6
+
a5bd9f6
+#define GRUB_EFI_HII_DATABASE_PROTOCOL_GUID \
a5bd9f6
+  { 0xef9fc172, 0xa1b2, 0x4693, \
a5bd9f6
+    { 0xb3, 0x27, 0x6d, 0x32, 0xfc, 0x41, 0x60, 0x42 } \
a5bd9f6
+  }
a5bd9f6
+
a5bd9f6
+#define GRUB_EFI_HII_STRING_PROTOCOL_GUID \
a5bd9f6
+  { 0xfd96974, 0x23aa, 0x4cdc, \
a5bd9f6
+    { 0xb9, 0xcb, 0x98, 0xd1, 0x77, 0x50, 0x32, 0x2a } \
a5bd9f6
+  }
a5bd9f6
+
a5bd9f6
+#define GRUB_EFI_HII_IMAGE_PROTOCOL_GUID \
a5bd9f6
+  { 0x31a6406a, 0x6bdf, 0x4e46, \
a5bd9f6
+    { 0xb2, 0xa2, 0xeb, 0xaa, 0x89, 0xc4, 0x9, 0x20 } \
a5bd9f6
+  }
a5bd9f6
+
a5bd9f6
+#define GRUB_EFI_HII_FONT_PROTOCOL_GUID \
a5bd9f6
+  { 0xe9ca4775, 0x8657, 0x47fc, \
a5bd9f6
+    { 0x97, 0xe7, 0x7e, 0xd6, 0x5a, 0x8, 0x43, 0x24 } \
a5bd9f6
+  }
a5bd9f6
+
a5bd9f6
+#define GRUB_EFI_HII_CONFIGURATION_ACCESS_PROTOCOL_GUID \
a5bd9f6
+  { 0x330d4706, 0xf2a0, 0x4e4f, \
a5bd9f6
+    { 0xa3, 0x69, 0xb6, 0x6f, 0xa8, 0xd5, 0x43, 0x85 } \
a5bd9f6
+  }
a5bd9f6
+
a5bd9f6
+#define GRUB_EFI_COMPONENT_NAME2_PROTOCOL_GUID \
a5bd9f6
+  { 0x6a7a5cff, 0xe8d9, 0x4f70, \
a5bd9f6
+    { 0xba, 0xda, 0x75, 0xab, 0x30, 0x25, 0xce, 0x14} \
a5bd9f6
+  }
a5bd9f6
+
a5bd9f6
+#define GRUB_EFI_USB_IO_PROTOCOL_GUID \
a5bd9f6
+  { 0x2B2F68D6, 0x0CD2, 0x44cf, \
a5bd9f6
+    { 0x8E, 0x8B, 0xBB, 0xA2, 0x0B, 0x1B, 0x5B, 0x75 } \
a5bd9f6
+  }
a5bd9f6
+
a5bd9f6
 #define GRUB_EFI_MPS_TABLE_GUID	\
a5bd9f6
   { 0xeb9d2d2f, 0x2d88, 0x11d3, \
a5bd9f6
-    { 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \
a5bd9f6
+    { 0x9a, 0x16, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \
a5bd9f6
   }
a5bd9f6
 
a5bd9f6
 #define GRUB_EFI_ACPI_TABLE_GUID	\
a5bd9f6
-- 
a5bd9f6
1.8.1.4
a5bd9f6