]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[efi] Provide centralised definitions of commonly-used GUIDs
authorMichael Brown <mcb30@ipxe.org>
Tue, 5 Aug 2014 22:07:12 +0000 (23:07 +0100)
committerMichael Brown <mcb30@ipxe.org>
Tue, 5 Aug 2014 22:08:32 +0000 (23:08 +0100)
Signed-off-by: Michael Brown <mcb30@ipxe.org>
12 files changed:
src/drivers/net/efi/snp.c
src/drivers/net/efi/snpnet.c
src/image/efi_image.c
src/include/ipxe/efi/efi.h
src/interface/efi/efi_autoboot.c
src/interface/efi/efi_debug.c
src/interface/efi/efi_driver.c
src/interface/efi/efi_file.c
src/interface/efi/efi_guid.c [new file with mode: 0644]
src/interface/efi/efi_init.c
src/interface/efi/efi_pci.c
src/interface/efi/efi_snp.c

index 0e7f500b813ea2445f4e6091d867b9739ed5ece3..a20bd21aff94f3cc6fe1d18866e67158d02e409a 100644 (file)
@@ -21,7 +21,6 @@ FILE_LICENCE ( GPL2_OR_LATER );
 
 #include <errno.h>
 #include <ipxe/efi/efi.h>
-#include <ipxe/efi/Protocol/SimpleNetwork.h>
 #include <ipxe/efi/efi_driver.h>
 #include <ipxe/efi/efi_snp.h>
 #include "snpnet.h"
@@ -32,10 +31,6 @@ FILE_LICENCE ( GPL2_OR_LATER );
  *
  */
 
-/** EFI simple network protocol GUID */
-static EFI_GUID efi_simple_network_protocol_guid
-       = EFI_SIMPLE_NETWORK_PROTOCOL_GUID;
-
 /**
  * Check to see if driver supports a device
  *
index 9d3f97b9c467b5368fa715f3671db03aa674d7c6..75574526f08780a94b4628835611ba4f33527c5e 100644 (file)
@@ -64,14 +64,6 @@ struct snp_nic {
 /** Maximum number of received packets per poll */
 #define SNP_RX_QUOTA 4
 
-/** EFI simple network protocol GUID */
-static EFI_GUID efi_simple_network_protocol_guid
-       = EFI_SIMPLE_NETWORK_PROTOCOL_GUID;
-
-/** EFI PCI I/O protocol GUID */
-static EFI_GUID efi_pci_io_protocol_guid
-       = EFI_PCI_IO_PROTOCOL_GUID;
-
 /**
  * Format SNP MAC address (for debugging)
  *
index 45a68e530d289a266a236f42c880a02f7e05e2a9..f5ce102f73a4bb18f76c473c2c8eab4357a8aa1f 100644 (file)
@@ -52,10 +52,6 @@ FEATURE ( FEATURE_IMAGE, "EFI", DHCP_EB_FEATURE_EFI, 1 );
                          "Could not start image" )
 #define EEFI_START( efirc ) EPLATFORM ( EINFO_EEFI_START, efirc )
 
-/** EFI loaded image protocol GUID */
-static EFI_GUID efi_loaded_image_protocol_guid =
-       EFI_LOADED_IMAGE_PROTOCOL_GUID;
-
 /**
  * Create device path for image
  *
index a1ba4966edac8490d4b31717a8b9ab3f94113378..e04bca7e6881dc2fa23502fc36881288a404d5db 100644 (file)
@@ -153,6 +153,22 @@ struct efi_config_table {
  */
 #define EEFI( efirc ) EPLATFORM ( EINFO_EPLATFORM, efirc )
 
+extern EFI_GUID efi_block_io_protocol_guid;
+extern EFI_GUID efi_bus_specific_driver_override_protocol_guid;
+extern EFI_GUID efi_component_name_protocol_guid;
+extern EFI_GUID efi_component_name2_protocol_guid;
+extern EFI_GUID efi_device_path_protocol_guid;
+extern EFI_GUID efi_disk_io_protocol_guid;
+extern EFI_GUID efi_driver_binding_protocol_guid;
+extern EFI_GUID efi_load_file_protocol_guid;
+extern EFI_GUID efi_load_file2_protocol_guid;
+extern EFI_GUID efi_loaded_image_protocol_guid;
+extern EFI_GUID efi_loaded_image_device_path_protocol_guid;
+extern EFI_GUID efi_pci_io_protocol_guid;
+extern EFI_GUID efi_pci_root_bridge_io_protocol_guid;
+extern EFI_GUID efi_simple_file_system_protocol_guid;
+extern EFI_GUID efi_simple_network_protocol_guid;
+
 extern EFI_HANDLE efi_image_handle;
 extern EFI_LOADED_IMAGE_PROTOCOL *efi_loaded_image;
 extern EFI_DEVICE_PATH_PROTOCOL *efi_loaded_image_path;
index 1032440ffe3bfb1b62e7bb35736e6d3b82e4c0b3..ab0f36541062287fd877855b9615b3e558ba2b77 100644 (file)
@@ -30,10 +30,6 @@ FILE_LICENCE ( GPL2_OR_LATER );
  *
  */
 
-/** EFI simple network protocol GUID */
-static EFI_GUID efi_simple_network_protocol_guid
-       = EFI_SIMPLE_NETWORK_PROTOCOL_GUID;
-
 /**
  * Identify autoboot device
  *
index ea0a71de6a3386dfd3faf34a6754f279d878909c..4cbd831c461020e7b8e20e6317f0a4915c1b52d1 100644 (file)
@@ -33,83 +33,11 @@ FILE_LICENCE ( GPL2_OR_LATER );
 #include <ipxe/base16.h>
 #include <ipxe/efi/efi.h>
 #include <ipxe/efi/efi_driver.h>
-#include <ipxe/efi/Protocol/BlockIo.h>
-#include <ipxe/efi/Protocol/BusSpecificDriverOverride.h>
 #include <ipxe/efi/Protocol/ComponentName.h>
 #include <ipxe/efi/Protocol/ComponentName2.h>
-#include <ipxe/efi/Protocol/DevicePath.h>
 #include <ipxe/efi/Protocol/DevicePathToText.h>
-#include <ipxe/efi/Protocol/DiskIo.h>
-#include <ipxe/efi/Protocol/DriverBinding.h>
-#include <ipxe/efi/Protocol/LoadFile.h>
-#include <ipxe/efi/Protocol/LoadFile2.h>
-#include <ipxe/efi/Protocol/LoadedImage.h>
-#include <ipxe/efi/Protocol/PciIo.h>
-#include <ipxe/efi/Protocol/PciRootBridgeIo.h>
-#include <ipxe/efi/Protocol/SimpleFileSystem.h>
-#include <ipxe/efi/Protocol/SimpleNetwork.h>
 #include <ipxe/efi/IndustryStandard/PeImage.h>
 
-/** Block I/O protocol GUID */
-static EFI_GUID efi_block_io_protocol_guid
-       = EFI_BLOCK_IO_PROTOCOL_GUID;
-
-/** Bus specific driver override protocol GUID */
-static EFI_GUID efi_bus_specific_driver_override_protocol_guid
-       = EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL_GUID;
-
-/** Component name protocol GUID */
-static EFI_GUID efi_component_name_protocol_guid
-       = EFI_COMPONENT_NAME_PROTOCOL_GUID;
-
-/** Component name 2 protocol GUID */
-static EFI_GUID efi_component_name2_protocol_guid
-       = EFI_COMPONENT_NAME2_PROTOCOL_GUID;
-
-/** Device path protocol GUID */
-static EFI_GUID efi_device_path_protocol_guid
-       = EFI_DEVICE_PATH_PROTOCOL_GUID;
-
-/** Disk I/O protocol GUID */
-static EFI_GUID efi_disk_io_protocol_guid
-       = EFI_DISK_IO_PROTOCOL_GUID;
-
-/** Driver binding protocol GUID */
-static EFI_GUID efi_driver_binding_protocol_guid
-       = EFI_DRIVER_BINDING_PROTOCOL_GUID;
-
-/** Load file protocol GUID */
-static EFI_GUID efi_load_file_protocol_guid
-       = EFI_LOAD_FILE_PROTOCOL_GUID;
-
-/** Load file 2 protocol GUID */
-static EFI_GUID efi_load_file2_protocol_guid
-       = EFI_LOAD_FILE2_PROTOCOL_GUID;
-
-/** Loaded image protocol GUID */
-static EFI_GUID efi_loaded_image_protocol_guid
-       = EFI_LOADED_IMAGE_PROTOCOL_GUID;
-
-/** Loaded image device path protocol GUID */
-static EFI_GUID efi_loaded_image_device_path_protocol_guid
-       = EFI_LOADED_IMAGE_DEVICE_PATH_PROTOCOL_GUID;
-
-/** PCI I/O protocol GUID */
-static EFI_GUID efi_pci_io_protocol_guid
-       = EFI_PCI_IO_PROTOCOL_GUID;
-
-/** PCI root bridge I/O protocol GUID */
-static EFI_GUID efi_pci_root_bridge_io_protocol_guid
-       = EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_GUID;
-
-/** Simple file system protocol GUID */
-static EFI_GUID efi_simple_file_system_protocol_guid
-       = EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID;
-
-/** Simple network protocol guid */
-static EFI_GUID efi_simple_network_protocol_guid
-       = EFI_SIMPLE_NETWORK_PROTOCOL_GUID;
-
 /** Device path to text protocol */
 static EFI_DEVICE_PATH_TO_TEXT_PROTOCOL *efidpt;
 EFI_REQUEST_PROTOCOL ( EFI_DEVICE_PATH_TO_TEXT_PROTOCOL, &efidpt );
index b9617cbf0e02d044371a8becca72e3083389acb2..424bbc315ba8cce30af50fd4e36168bfb114c6a9 100644 (file)
@@ -40,18 +40,6 @@ FILE_LICENCE ( GPL2_OR_LATER );
 
 static EFI_DRIVER_BINDING_PROTOCOL efi_driver_binding;
 
-/** EFI driver binding protocol GUID */
-static EFI_GUID efi_driver_binding_protocol_guid
-       = EFI_DRIVER_BINDING_PROTOCOL_GUID;
-
-/** EFI component name protocol GUID */
-static EFI_GUID efi_component_name2_protocol_guid
-       = EFI_COMPONENT_NAME2_PROTOCOL_GUID;
-
-/** EFI device path protocol GUID */
-static EFI_GUID efi_device_path_protocol_guid
-       = EFI_DEVICE_PATH_PROTOCOL_GUID;
-
 /** List of controlled EFI devices */
 static LIST_HEAD ( efi_devices );
 
index 06049fc95fd86953b7c36da698981e36ab5094e0..c5ce9a2cb373ea14c956412ebcef5b74b06269e2 100644 (file)
@@ -42,24 +42,12 @@ FILE_LICENCE ( GPL2_OR_LATER );
 #include <ipxe/efi/efi_strings.h>
 #include <ipxe/efi/efi_file.h>
 
-/** EFI simple file system protocol GUID */
-static EFI_GUID efi_simple_file_system_protocol_guid
-       = EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID;
-
 /** EFI file information GUID */
 static EFI_GUID efi_file_info_id = EFI_FILE_INFO_ID;
 
 /** EFI file system information GUID */
 static EFI_GUID efi_file_system_info_id = EFI_FILE_SYSTEM_INFO_ID;
 
-/** EFI block I/O protocol GUID */
-static EFI_GUID efi_block_io_protocol_guid
-       = EFI_BLOCK_IO_PROTOCOL_GUID;
-
-/** EFI disk I/O protocol GUID */
-static EFI_GUID efi_disk_io_protocol_guid
-       = EFI_DISK_IO_PROTOCOL_GUID;
-
 /** EFI media ID */
 #define EFI_MEDIA_ID_MAGIC 0x69505845
 
diff --git a/src/interface/efi/efi_guid.c b/src/interface/efi/efi_guid.c
new file mode 100644 (file)
index 0000000..57d8497
--- /dev/null
@@ -0,0 +1,103 @@
+/*
+ * Copyright (C) 2014 Michael Brown <mbrown@fensystems.co.uk>.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ */
+
+FILE_LICENCE ( GPL2_OR_LATER );
+
+#include <ipxe/efi/efi.h>
+#include <ipxe/efi/Protocol/BlockIo.h>
+#include <ipxe/efi/Protocol/BusSpecificDriverOverride.h>
+#include <ipxe/efi/Protocol/ComponentName.h>
+#include <ipxe/efi/Protocol/ComponentName2.h>
+#include <ipxe/efi/Protocol/DevicePath.h>
+#include <ipxe/efi/Protocol/DevicePathToText.h>
+#include <ipxe/efi/Protocol/DiskIo.h>
+#include <ipxe/efi/Protocol/DriverBinding.h>
+#include <ipxe/efi/Protocol/LoadFile.h>
+#include <ipxe/efi/Protocol/LoadFile2.h>
+#include <ipxe/efi/Protocol/LoadedImage.h>
+#include <ipxe/efi/Protocol/PciIo.h>
+#include <ipxe/efi/Protocol/PciRootBridgeIo.h>
+#include <ipxe/efi/Protocol/SimpleFileSystem.h>
+#include <ipxe/efi/Protocol/SimpleNetwork.h>
+
+/** @file
+ *
+ * EFI GUIDs
+ *
+ */
+
+/** Block I/O protocol GUID */
+EFI_GUID efi_block_io_protocol_guid
+       = EFI_BLOCK_IO_PROTOCOL_GUID;
+
+/** Bus specific driver override protocol GUID */
+EFI_GUID efi_bus_specific_driver_override_protocol_guid
+       = EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL_GUID;
+
+/** Component name protocol GUID */
+EFI_GUID efi_component_name_protocol_guid
+       = EFI_COMPONENT_NAME_PROTOCOL_GUID;
+
+/** Component name 2 protocol GUID */
+EFI_GUID efi_component_name2_protocol_guid
+       = EFI_COMPONENT_NAME2_PROTOCOL_GUID;
+
+/** Device path protocol GUID */
+EFI_GUID efi_device_path_protocol_guid
+       = EFI_DEVICE_PATH_PROTOCOL_GUID;
+
+/** Disk I/O protocol GUID */
+EFI_GUID efi_disk_io_protocol_guid
+       = EFI_DISK_IO_PROTOCOL_GUID;
+
+/** Driver binding protocol GUID */
+EFI_GUID efi_driver_binding_protocol_guid
+       = EFI_DRIVER_BINDING_PROTOCOL_GUID;
+
+/** Load file protocol GUID */
+EFI_GUID efi_load_file_protocol_guid
+       = EFI_LOAD_FILE_PROTOCOL_GUID;
+
+/** Load file 2 protocol GUID */
+EFI_GUID efi_load_file2_protocol_guid
+       = EFI_LOAD_FILE2_PROTOCOL_GUID;
+
+/** Loaded image protocol GUID */
+EFI_GUID efi_loaded_image_protocol_guid
+       = EFI_LOADED_IMAGE_PROTOCOL_GUID;
+
+/** Loaded image device path protocol GUID */
+EFI_GUID efi_loaded_image_device_path_protocol_guid
+       = EFI_LOADED_IMAGE_DEVICE_PATH_PROTOCOL_GUID;
+
+/** PCI I/O protocol GUID */
+EFI_GUID efi_pci_io_protocol_guid
+       = EFI_PCI_IO_PROTOCOL_GUID;
+
+/** PCI root bridge I/O protocol GUID */
+EFI_GUID efi_pci_root_bridge_io_protocol_guid
+       = EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_GUID;
+
+/** Simple file system protocol GUID */
+EFI_GUID efi_simple_file_system_protocol_guid
+       = EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID;
+
+/** Simple network protocol guid */
+EFI_GUID efi_simple_network_protocol_guid
+       = EFI_SIMPLE_NETWORK_PROTOCOL_GUID;
index 4204b79b3252994996c981374d7187fde2d8ed2b..93ada21d458f2fc6d86dc5a14f5cd2ff66c4bf82 100644 (file)
@@ -35,10 +35,6 @@ EFI_LOADED_IMAGE_PROTOCOL *efi_loaded_image;
 /** System table passed to entry point */
 EFI_SYSTEM_TABLE *efi_systab;
 
-/** EFI loaded image protocol GUID */
-static EFI_GUID efi_loaded_image_protocol_guid
-       = EFI_LOADED_IMAGE_PROTOCOL_GUID;
-
 /** Event used to signal shutdown */
 static EFI_EVENT efi_shutdown_event;
 
index 785ed8911fbed2c614c81fd4d9c217c35ff42628..033eae87c62dc91f6c6eccb9424ea46dc17734ca 100644 (file)
@@ -120,10 +120,6 @@ PROVIDE_PCIAPI_INLINE ( efi, pci_write_config_dword );
  ******************************************************************************
  */
 
-/** EFI PCI I/O protocol GUID */
-static EFI_GUID efi_pci_io_protocol_guid
-       = EFI_PCI_IO_PROTOCOL_GUID;
-
 /**
  * Open EFI PCI device
  *
index dd64fd3b97121962ed50624da1350c06738ef975..b5eeab21289a919961b2e30cc3fa88c5b041d42d 100644 (file)
@@ -34,14 +34,6 @@ FILE_LICENCE ( GPL2_OR_LATER );
 #include <ipxe/efi/efi_snp.h>
 #include <usr/autoboot.h>
 
-/** EFI simple network protocol GUID */
-static EFI_GUID efi_simple_network_protocol_guid
-       = EFI_SIMPLE_NETWORK_PROTOCOL_GUID;
-
-/** EFI device path protocol GUID */
-static EFI_GUID efi_device_path_protocol_guid
-       = EFI_DEVICE_PATH_PROTOCOL_GUID;
-
 /** EFI network interface identifier GUID */
 static EFI_GUID efi_nii_protocol_guid
        = EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_GUID;
@@ -56,14 +48,6 @@ static EFI_GUID efi_nii31_protocol_guid = {
        { 0xBC, 0x81, 0x76, 0x7F, 0x1F, 0x97, 0x7A, 0x89 }
 };
 
-/** EFI component name protocol GUID */
-static EFI_GUID efi_component_name2_protocol_guid
-       = EFI_COMPONENT_NAME2_PROTOCOL_GUID;
-
-/** EFI load file protocol GUID */
-static EFI_GUID efi_load_file_protocol_guid
-       = EFI_LOAD_FILE_PROTOCOL_GUID;
-
 /** List of SNP devices */
 static LIST_HEAD ( efi_snp_devices );