Browse Source

[efi] Expose both GUIDs for the EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL

At some point, it seems that someone decided to change the GUID for
the EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL.  Current EFI builds
ignore the older GUID, older EFI builds ignore the newer GUID, so we
have to expose both.
tags/v0.9.7
Michael Brown 16 years ago
parent
commit
08f6d22410
1 changed files with 12 additions and 7 deletions
  1. 12
    7
      src/interface/efi/efi_snp.c

+ 12
- 7
src/interface/efi/efi_snp.c View File

91
 static EFI_GUID efi_device_path_protocol_guid
91
 static EFI_GUID efi_device_path_protocol_guid
92
 	= EFI_DEVICE_PATH_PROTOCOL_GUID;
92
 	= EFI_DEVICE_PATH_PROTOCOL_GUID;
93
 
93
 
94
-/** Efi network interface identifier GUID */
95
-static EFI_GUID efi_nii_protocol_guid = {
96
-	/* No, this isn't the GUID defined as
97
-	 * EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_GUID in
98
-	 * Protocol/NetworkInterfaceIdentifier.h.  That GUID gets
99
-	 * ignored by the EFI network stack.  You have to use this one
100
-	 * instead.
94
+/** EFI network interface identifier GUID */
95
+static EFI_GUID efi_nii_protocol_guid
96
+	= EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_GUID;
97
+
98
+/** EFI network interface identifier GUID (extra special version) */
99
+static EFI_GUID efi_nii31_protocol_guid = {
100
+	/* At some point, it seems that someone decided to change the
101
+	 * GUID.  Current EFI builds ignore the older GUID, older EFI
102
+	 * builds ignore the newer GUID, so we have to expose both.
101
 	 */
103
 	 */
102
 	0x1ACED566, 0x76ED, 0x4218,
104
 	0x1ACED566, 0x76ED, 0x4218,
103
 	{ 0xBC, 0x81, 0x76, 0x7F, 0x1F, 0x97, 0x7A, 0x89 }
105
 	{ 0xBC, 0x81, 0x76, 0x7F, 0x1F, 0x97, 0x7A, 0x89 }
987
 			&efi_simple_network_protocol_guid, &snpdev->snp,
989
 			&efi_simple_network_protocol_guid, &snpdev->snp,
988
 			&efi_device_path_protocol_guid, &snpdev->path,
990
 			&efi_device_path_protocol_guid, &snpdev->path,
989
 			&efi_nii_protocol_guid, &snpdev->nii,
991
 			&efi_nii_protocol_guid, &snpdev->nii,
992
+			&efi_nii31_protocol_guid, &snpdev->nii,
990
 			NULL ) ) != 0 ) {
993
 			NULL ) ) != 0 ) {
991
 		DBGC ( snpdev, "SNPDEV %p could not install protocols: "
994
 		DBGC ( snpdev, "SNPDEV %p could not install protocols: "
992
 		       "%s\n", snpdev, efi_strerror ( efirc ) );
995
 		       "%s\n", snpdev, efi_strerror ( efirc ) );
1002
 			&efi_simple_network_protocol_guid, &snpdev->snp,
1005
 			&efi_simple_network_protocol_guid, &snpdev->snp,
1003
 			&efi_device_path_protocol_guid, &snpdev->path,
1006
 			&efi_device_path_protocol_guid, &snpdev->path,
1004
 			&efi_nii_protocol_guid, &snpdev->nii,
1007
 			&efi_nii_protocol_guid, &snpdev->nii,
1008
+			&efi_nii31_protocol_guid, &snpdev->nii,
1005
 			NULL );
1009
 			NULL );
1006
  err_install_protocol_interface:
1010
  err_install_protocol_interface:
1007
 	bs->CloseEvent ( snpdev->snp.WaitForPacket );
1011
 	bs->CloseEvent ( snpdev->snp.WaitForPacket );
1051
 			&efi_simple_network_protocol_guid, &snpdev->snp,
1055
 			&efi_simple_network_protocol_guid, &snpdev->snp,
1052
 			&efi_device_path_protocol_guid, &snpdev->path,
1056
 			&efi_device_path_protocol_guid, &snpdev->path,
1053
 			&efi_nii_protocol_guid, &snpdev->nii,
1057
 			&efi_nii_protocol_guid, &snpdev->nii,
1058
+			&efi_nii31_protocol_guid, &snpdev->nii,
1054
 			NULL );
1059
 			NULL );
1055
 	bs->CloseEvent ( snpdev->snp.WaitForPacket );
1060
 	bs->CloseEvent ( snpdev->snp.WaitForPacket );
1056
 	netdev_put ( snpdev->netdev );
1061
 	netdev_put ( snpdev->netdev );

Loading…
Cancel
Save