summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Brown2014-08-06 00:07:12 +0200
committerMichael Brown2014-08-06 00:08:32 +0200
commit3b42ed477f21ee3f5851dc2993ea670e9edc10f7 (patch)
tree4123be2ce024110174234f82e6a6bddd414fd86e
parent[efi] Reset multicast filter list when setting SNP receive filters (diff)
downloadipxe-3b42ed477f21ee3f5851dc2993ea670e9edc10f7.tar.gz
ipxe-3b42ed477f21ee3f5851dc2993ea670e9edc10f7.tar.xz
ipxe-3b42ed477f21ee3f5851dc2993ea670e9edc10f7.zip
[efi] Provide centralised definitions of commonly-used GUIDs
Signed-off-by: Michael Brown <mcb30@ipxe.org>
-rw-r--r--src/drivers/net/efi/snp.c5
-rw-r--r--src/drivers/net/efi/snpnet.c8
-rw-r--r--src/image/efi_image.c4
-rw-r--r--src/include/ipxe/efi/efi.h16
-rw-r--r--src/interface/efi/efi_autoboot.c4
-rw-r--r--src/interface/efi/efi_debug.c72
-rw-r--r--src/interface/efi/efi_driver.c12
-rw-r--r--src/interface/efi/efi_file.c12
-rw-r--r--src/interface/efi/efi_guid.c103
-rw-r--r--src/interface/efi/efi_init.c4
-rw-r--r--src/interface/efi/efi_pci.c4
-rw-r--r--src/interface/efi/efi_snp.c16
12 files changed, 119 insertions, 141 deletions
diff --git a/src/drivers/net/efi/snp.c b/src/drivers/net/efi/snp.c
index 0e7f500b..a20bd21a 100644
--- a/src/drivers/net/efi/snp.c
+++ b/src/drivers/net/efi/snp.c
@@ -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
*
diff --git a/src/drivers/net/efi/snpnet.c b/src/drivers/net/efi/snpnet.c
index 9d3f97b9..75574526 100644
--- a/src/drivers/net/efi/snpnet.c
+++ b/src/drivers/net/efi/snpnet.c
@@ -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)
*
diff --git a/src/image/efi_image.c b/src/image/efi_image.c
index 45a68e53..f5ce102f 100644
--- a/src/image/efi_image.c
+++ b/src/image/efi_image.c
@@ -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
*
diff --git a/src/include/ipxe/efi/efi.h b/src/include/ipxe/efi/efi.h
index a1ba4966..e04bca7e 100644
--- a/src/include/ipxe/efi/efi.h
+++ b/src/include/ipxe/efi/efi.h
@@ -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;
diff --git a/src/interface/efi/efi_autoboot.c b/src/interface/efi/efi_autoboot.c
index 1032440f..ab0f3654 100644
--- a/src/interface/efi/efi_autoboot.c
+++ b/src/interface/efi/efi_autoboot.c
@@ -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
*
diff --git a/src/interface/efi/efi_debug.c b/src/interface/efi/efi_debug.c
index ea0a71de..4cbd831c 100644
--- a/src/interface/efi/efi_debug.c
+++ b/src/interface/efi/efi_debug.c
@@ -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 );
diff --git a/src/interface/efi/efi_driver.c b/src/interface/efi/efi_driver.c
index b9617cbf..424bbc31 100644
--- a/src/interface/efi/efi_driver.c
+++ b/src/interface/efi/efi_driver.c
@@ -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 );
diff --git a/src/interface/efi/efi_file.c b/src/interface/efi/efi_file.c
index 06049fc9..c5ce9a2c 100644
--- a/src/interface/efi/efi_file.c
+++ b/src/interface/efi/efi_file.c
@@ -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
index 00000000..57d8497d
--- /dev/null
+++ b/src/interface/efi/efi_guid.c
@@ -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;
diff --git a/src/interface/efi/efi_init.c b/src/interface/efi/efi_init.c
index 4204b79b..93ada21d 100644
--- a/src/interface/efi/efi_init.c
+++ b/src/interface/efi/efi_init.c
@@ -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;
diff --git a/src/interface/efi/efi_pci.c b/src/interface/efi/efi_pci.c
index 785ed891..033eae87 100644
--- a/src/interface/efi/efi_pci.c
+++ b/src/interface/efi/efi_pci.c
@@ -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
*
diff --git a/src/interface/efi/efi_snp.c b/src/interface/efi/efi_snp.c
index dd64fd3b..b5eeab21 100644
--- a/src/interface/efi/efi_snp.c
+++ b/src/interface/efi/efi_snp.c
@@ -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 );