diff options
author | qwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-11-11 22:42:28 +0000 |
---|---|---|
committer | qwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-11-11 22:42:28 +0000 |
commit | 6f4ee195af585379325c58d83fefbbf844329416 (patch) | |
tree | 959046428283a21d4fdea0f6bd89dd78c1b49383 /EdkCompatibilityPkg | |
parent | 766f4bc13745f77fbcd68efc7d689f493c67b833 (diff) | |
download | edk2-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')
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;
}
|