[Description]:

Sync 1 trackers.
 EDK 1098   
[Impaction]:
Should be minimal impact as there is no code parsing the HII vendor specific device.
[Reference Info]:
EDK 1098 Seems there are two same device path protocols in NT 

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5476 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
qwang12 2008-07-15 09:34:35 +00:00
parent b4d95a4da0
commit c7493fe5f3
2 changed files with 12 additions and 7 deletions

View File

@ -29,10 +29,13 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
//
// Tiano Implementation specific Device Path definition.
//
#pragma pack(1)
typedef struct {
VENDOR_DEVICE_PATH VendorDevicePath;
UINT32 MonotonicCount;
UINT32 Reserved;
UINT64 UniqueId;
} HII_VENDOR_DEVICE_PATH_NODE;
#pragma pack()
typedef struct {
HII_VENDOR_DEVICE_PATH_NODE Node;

View File

@ -40,6 +40,7 @@ HII_VENDOR_DEVICE_PATH mHiiVendorDevicePathTemplate = {
},
EFI_IFR_TIANO_GUID
},
0,
0
},
{
@ -74,22 +75,23 @@ HiiLibCreateHiiDriverHandle (
{
EFI_STATUS Status;
HII_VENDOR_DEVICE_PATH_NODE *VendorDevicePath;
UINT64 MonotonicCount;
VendorDevicePath = AllocateCopyPool (sizeof (HII_VENDOR_DEVICE_PATH), &mHiiVendorDevicePathTemplate);
if (VendorDevicePath == NULL) {
return EFI_OUT_OF_RESOURCES;
}
gBS->GetNextMonotonicCount (&MonotonicCount);
VendorDevicePath->MonotonicCount = (UINT32) MonotonicCount;
//
// Use memory address as unique ID to distinguish from different device paths
//
VendorDevicePath->UniqueId = (UINT64) ((UINTN) VendorDevicePath);
*DriverHandle = NULL;
Status = gBS->InstallProtocolInterface (
Status = gBS->InstallMultipleProtocolInterfaces (
DriverHandle,
&gEfiDevicePathProtocolGuid,
EFI_NATIVE_INTERFACE,
VendorDevicePath
VendorDevicePath,
NULL
);
if (EFI_ERROR (Status)) {
return Status;