summaryrefslogtreecommitdiff
path: root/EdkCompatibilityPkg
diff options
context:
space:
mode:
authorqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>2008-11-11 22:42:28 +0000
committerqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>2008-11-11 22:42:28 +0000
commit6f4ee195af585379325c58d83fefbbf844329416 (patch)
tree959046428283a21d4fdea0f6bd89dd78c1b49383 /EdkCompatibilityPkg
parent766f4bc13745f77fbcd68efc7d689f493c67b833 (diff)
downloadedk2-platforms-6f4ee195af585379325c58d83fefbbf844329416.tar.xz
EFI Specification extension on Media Device Path. MEDIA_FW_VOL_FILEPATH_DEVICE_PATH is adopted by UEFI later and added in UEFI2.10.
In EdkCompatibility Package, we only support MEDIA_FW_VOL_FILEPATH_DEVICE_PATH that complies with EFI 1.10 and UEFI 2.10. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6462 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'EdkCompatibilityPkg')
-rw-r--r--EdkCompatibilityPkg/Foundation/Framework/Include/TianoSpecDevicePath.h32
-rw-r--r--EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/DevicePath.c43
-rw-r--r--EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/UefiLib/UefiNotTiano.c44
-rw-r--r--EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/RtDevicePath.c44
4 files changed, 23 insertions, 140 deletions
diff --git a/EdkCompatibilityPkg/Foundation/Framework/Include/TianoSpecDevicePath.h b/EdkCompatibilityPkg/Foundation/Framework/Include/TianoSpecDevicePath.h
index a2f45a4a54..413b19bcb5 100644
--- a/EdkCompatibilityPkg/Foundation/Framework/Include/TianoSpecDevicePath.h
+++ b/EdkCompatibilityPkg/Foundation/Framework/Include/TianoSpecDevicePath.h
@@ -24,43 +24,17 @@ Abstract:
#pragma pack(1)
-#if (EFI_SPECIFICATION_VERSION < 0x00020000)
//
-// EFI Specification extension on Media Device Path
+// EFI Specification extension on Media Device Path. MEDIA_FW_VOL_FILEPATH_DEVICE_PATH is adopted by UEFI later and added in UEFI2.10.
+// In EdkCompatibility Package, we only support MEDIA_FW_VOL_FILEPATH_DEVICE_PATH that complies with
+// EFI 1.10 and UEFI 2.10.
//
#define MEDIA_FV_FILEPATH_DP 0x06
typedef struct {
EFI_DEVICE_PATH_PROTOCOL Header;
EFI_GUID NameGuid;
} MEDIA_FW_VOL_FILEPATH_DEVICE_PATH;
-#endif
-
-
-#if (EFI_SPECIFICATION_VERSION == 0x00020000)
-//
-// For UEFI 2.0, use GUIDed PIWG device path to work-around EFI Specification extension on Media Device Path
-//
-typedef struct {
- EFI_DEVICE_PATH_PROTOCOL Header;
- EFI_GUID PiwgSpecificDevicePath;
- UINT32 Type;
-} PIWG_DEVICE_PATH;
-#define PIWG_MEDIA_FW_VOL_FILEPATH_DEVICE_PATH_TYPE 0x01
-typedef struct {
- PIWG_DEVICE_PATH Piwg;
- EFI_GUID NameGuid;
-} MEDIA_FW_VOL_FILEPATH_DEVICE_PATH;
-
-//
-// Place holder for a future extension
-//
-#define PIWG_MEDIA_FW_VOL_DEVICE_PATH_TYPE 0x02
-typedef struct {
- PIWG_DEVICE_PATH Piwg;
- EFI_GUID VolumeGuid;
-} MEDIA_FW_VOL_DEVICE_PATH;
-#endif
#if (EFI_SPECIFICATION_VERSION > 0x00020000)
//
diff --git a/EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/DevicePath.c b/EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/DevicePath.c
index 1a827c1935..f763f03e66 100644
--- a/EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/DevicePath.c
+++ b/EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/DevicePath.c
@@ -520,33 +520,16 @@ Returns:
--*/
{
-#if (EFI_SPECIFICATION_VERSION != 0x00020000)
//
- // Use old Device Path
+ // EFI Specification extension on Media Device Path. MEDIA_FW_VOL_FILEPATH_DEVICE_PATH is adopted by UEFI later and added in UEFI2.10.
+ // In EdkCompatibility Package, we only support MEDIA_FW_VOL_FILEPATH_DEVICE_PATH that complies with
+ // EFI 1.10 and UEFI 2.10.
//
+
FvDevicePathNode->Header.Type = MEDIA_DEVICE_PATH;
FvDevicePathNode->Header.SubType = MEDIA_FV_FILEPATH_DP;
SetDevicePathNodeLength (&FvDevicePathNode->Header, sizeof (MEDIA_FW_VOL_FILEPATH_DEVICE_PATH));
-#else
- //
- // Use the new Device path that does not conflict with the UEFI 2.0
- //
- FvDevicePathNode->Piwg.Header.Type = MEDIA_DEVICE_PATH;
- FvDevicePathNode->Piwg.Header.SubType = MEDIA_VENDOR_DP;
- SetDevicePathNodeLength (&FvDevicePathNode->Piwg.Header, sizeof (MEDIA_FW_VOL_FILEPATH_DEVICE_PATH));
-
- //
- // Add the GUID for generic PIWG device paths
- //
- EfiCopyMem (&FvDevicePathNode->Piwg.PiwgSpecificDevicePath, &gEfiFrameworkDevicePathGuid, sizeof(EFI_GUID));
-
- //
- // Add in the FW Vol File Path PIWG defined inforation
- //
- FvDevicePathNode->Piwg.Type = PIWG_MEDIA_FW_VOL_FILEPATH_DEVICE_PATH_TYPE;
-
-#endif
EfiCopyMem (&FvDevicePathNode->NameGuid, NameGuid, sizeof(EFI_GUID));
}
@@ -581,27 +564,15 @@ Returns:
--*/
{
-#if (EFI_SPECIFICATION_VERSION != 0x00020000)
//
- // Use old Device Path
+ // EFI Specification extension on Media Device Path. MEDIA_FW_VOL_FILEPATH_DEVICE_PATH is adopted by UEFI later and added in UEFI2.10.
+ // In EdkCompatibility Package, we only support MEDIA_FW_VOL_FILEPATH_DEVICE_PATH that complies with
+ // EFI 1.10 and UEFI 2.10.
//
if (DevicePathType (&FvDevicePathNode->Header) == MEDIA_DEVICE_PATH &&
DevicePathSubType (&FvDevicePathNode->Header) == MEDIA_FV_FILEPATH_DP) {
return &FvDevicePathNode->NameGuid;
}
-#else
- //
- // Use the new Device path that does not conflict with the UEFI 2.0
- //
- if (DevicePathType (&FvDevicePathNode->Piwg.Header) == MEDIA_DEVICE_PATH &&
- DevicePathSubType (&FvDevicePathNode->Piwg.Header) == MEDIA_VENDOR_DP) {
- if (EfiCompareGuid (&gEfiFrameworkDevicePathGuid, &FvDevicePathNode->Piwg.PiwgSpecificDevicePath)) {
- if (FvDevicePathNode->Piwg.Type == PIWG_MEDIA_FW_VOL_FILEPATH_DEVICE_PATH_TYPE) {
- return &FvDevicePathNode->NameGuid;
- }
- }
- }
-#endif
return NULL;
}
diff --git a/EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/UefiLib/UefiNotTiano.c b/EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/UefiLib/UefiNotTiano.c
index 8fbfaa6a1a..a247f198e4 100644
--- a/EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/UefiLib/UefiNotTiano.c
+++ b/EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/UefiLib/UefiNotTiano.c
@@ -297,29 +297,16 @@ GlueEfiGetNameGuidFromFwVolDevicePathNode (
{
ASSERT (FvDevicePathNode != NULL);
-#if (EFI_SPECIFICATION_VERSION != 0x00020000)
//
- // Use old Device Path
+ // EFI Specification extension on Media Device Path. MEDIA_FW_VOL_FILEPATH_DEVICE_PATH is adopted by UEFI later and added in UEFI2.10.
+ // In EdkCompatibility Package, we only support MEDIA_FW_VOL_FILEPATH_DEVICE_PATH that complies with
+ // EFI 1.10 and UEFI 2.10.
//
if (DevicePathType (&FvDevicePathNode->Header) == MEDIA_DEVICE_PATH &&
DevicePathSubType (&FvDevicePathNode->Header) == MEDIA_FV_FILEPATH_DP) {
return (EFI_GUID *) &FvDevicePathNode->NameGuid;
}
-#else
- //
- // Use the new Device path that does not conflict with the UEFI 2.0
- //
- // check here : piwg or tiano
- if (DevicePathType (&FvDevicePathNode->Piwg.Header) == MEDIA_DEVICE_PATH &&
- DevicePathSubType (&FvDevicePathNode->Piwg.Header) == MEDIA_VENDOR_DP) {
- if (CompareGuid (&gEfiFrameworkDevicePathGuid, &FvDevicePathNode->Piwg.PiwgSpecificDevicePath)) {
- if (FvDevicePathNode->Piwg.Type == PIWG_MEDIA_FW_VOL_FILEPATH_DEVICE_PATH_TYPE) {
- return (EFI_GUID *) &FvDevicePathNode->NameGuid;
- }
- }
- }
-#endif
return NULL;
}
@@ -348,34 +335,15 @@ GlueEfiInitializeFwVolDevicepathNode (
ASSERT (FvDevicePathNode != NULL);
ASSERT (NameGuid != NULL);
-#if (EFI_SPECIFICATION_VERSION != 0x00020000)
//
- // Use old Device Path
+ // EFI Specification extension on Media Device Path. MEDIA_FW_VOL_FILEPATH_DEVICE_PATH is adopted by UEFI later and added in UEFI2.10.
+ // In EdkCompatibility Package, we only support MEDIA_FW_VOL_FILEPATH_DEVICE_PATH that complies with
+ // EFI 1.10 and UEFI 2.10.
//
FvDevicePathNode->Header.Type = MEDIA_DEVICE_PATH;
FvDevicePathNode->Header.SubType = MEDIA_FV_FILEPATH_DP;
SetDevicePathNodeLength (&FvDevicePathNode->Header, sizeof (MEDIA_FW_VOL_FILEPATH_DEVICE_PATH));
-#else
- //
- // Use the new Device path that does not conflict with the UEFI 2.0
- //
- FvDevicePathNode->Piwg.Header.Type = MEDIA_DEVICE_PATH;
- FvDevicePathNode->Piwg.Header.SubType = MEDIA_VENDOR_DP;
- SetDevicePathNodeLength (&FvDevicePathNode->Piwg.Header, sizeof (MEDIA_FW_VOL_FILEPATH_DEVICE_PATH));
-
- //
- // Add the GUID for generic PIWG device paths
- //
- CopyGuid (&FvDevicePathNode->Piwg.PiwgSpecificDevicePath, &gEfiFrameworkDevicePathGuid);
-
- //
- // Add in the FW Vol File Path PIWG defined inforation
- //
- FvDevicePathNode->Piwg.Type = PIWG_MEDIA_FW_VOL_FILEPATH_DEVICE_PATH_TYPE;
-
-#endif
-
CopyGuid (&FvDevicePathNode->NameGuid, NameGuid);
}
diff --git a/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/RtDevicePath.c b/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/RtDevicePath.c
index ac777802d7..77d232be24 100644
--- a/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/RtDevicePath.c
+++ b/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/RtDevicePath.c
@@ -617,33 +617,15 @@ Returns:
--*/
{
-#if (EFI_SPECIFICATION_VERSION != 0x00020000)
//
- // Use old Device Path
+ // EFI Specification extension on Media Device Path. MEDIA_FW_VOL_FILEPATH_DEVICE_PATH is adopted by UEFI later and added in UEFI2.10.
+ // In EdkCompatibility Package, we only support MEDIA_FW_VOL_FILEPATH_DEVICE_PATH that complies with
+ // EFI 1.10 and UEFI 2.10.
//
FvDevicePathNode->Header.Type = MEDIA_DEVICE_PATH;
FvDevicePathNode->Header.SubType = MEDIA_FV_FILEPATH_DP;
SetDevicePathNodeLength (&FvDevicePathNode->Header, sizeof (MEDIA_FW_VOL_FILEPATH_DEVICE_PATH));
-#else
- //
- // Use the new Device path that does not conflict with the UEFI 2.0
- //
- FvDevicePathNode->Piwg.Header.Type = MEDIA_DEVICE_PATH;
- FvDevicePathNode->Piwg.Header.SubType = MEDIA_VENDOR_DP;
- SetDevicePathNodeLength (&FvDevicePathNode->Piwg.Header, sizeof (MEDIA_FW_VOL_FILEPATH_DEVICE_PATH));
-
- //
- // Add the GUID for generic PIWG device paths
- //
- EfiCopyMem (&FvDevicePathNode->Piwg.PiwgSpecificDevicePath, &gEfiFrameworkDevicePathGuid, sizeof(EFI_GUID));
-
- //
- // Add in the FW Vol File Path PIWG defined inforation
- //
- FvDevicePathNode->Piwg.Type = PIWG_MEDIA_FW_VOL_FILEPATH_DEVICE_PATH_TYPE;
-
-#endif
EfiCopyMem (&FvDevicePathNode->NameGuid, NameGuid, sizeof(EFI_GUID));
}
@@ -678,28 +660,16 @@ Returns:
--*/
{
-#if (EFI_SPECIFICATION_VERSION != 0x00020000)
//
- // Use old Device Path
+ // EFI Specification extension on Media Device Path. MEDIA_FW_VOL_FILEPATH_DEVICE_PATH is adopted by UEFI later and added in UEFI2.10.
+ // In EdkCompatibility Package, we only support MEDIA_FW_VOL_FILEPATH_DEVICE_PATH that complies with
+ // EFI 1.10 and UEFI 2.10.
//
if (DevicePathType (&FvDevicePathNode->Header) == MEDIA_DEVICE_PATH &&
DevicePathSubType (&FvDevicePathNode->Header) == MEDIA_FV_FILEPATH_DP) {
return &FvDevicePathNode->NameGuid;
}
-#else
- //
- // Use the new Device path that does not conflict with the UEFI 2.0
- //
- if (DevicePathType (&FvDevicePathNode->Piwg.Header) == MEDIA_DEVICE_PATH &&
- DevicePathSubType (&FvDevicePathNode->Piwg.Header) == MEDIA_VENDOR_DP) {
- if (EfiCompareGuid (&gEfiFrameworkDevicePathGuid, &FvDevicePathNode->Piwg.PiwgSpecificDevicePath)) {
- if (FvDevicePathNode->Piwg.Type == PIWG_MEDIA_FW_VOL_FILEPATH_DEVICE_PATH_TYPE) {
- return &FvDevicePathNode->NameGuid;
- }
- }
- }
-#endif
- return NULL;
+ return NULL;
}