1, Add <Library/DevicePathLib.h> for all source that use device path utility macros

2, Add DevicePathLib library class to module's INF that use device path utility macros

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6457 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
klu2 2008-11-11 15:43:50 +00:00
parent 1232b21473
commit 2067710de0
8 changed files with 23 additions and 50 deletions

View File

@ -612,8 +612,8 @@ StartPciDevicesOnBridge (
//
// Get the next device path
//
CurrentDevicePath = EfiNextDevicePathNode (RemainingDevicePath);
if (EfiIsDevicePathEnd (CurrentDevicePath)) {
CurrentDevicePath = NextDevicePathNode (RemainingDevicePath);
if (IsDevicePathEnd (CurrentDevicePath)) {
return EFI_SUCCESS;
}
@ -1015,7 +1015,7 @@ GetHpcPciAddress (
//
// Get the remaining device path for this PCI device, if it is a PCI device
//
while (!EfiIsDevicePathEnd (CurrentDevicePath)) {
while (!IsDevicePathEnd (CurrentDevicePath)) {
Node.DevPath = CurrentDevicePath;
@ -1025,7 +1025,7 @@ GetHpcPciAddress (
if ((Node.DevPath->Type != HARDWARE_DEVICE_PATH) ||
((Node.DevPath->SubType != HW_PCI_DP) &&
(DevicePathNodeLength (Node.DevPath) != sizeof (PCI_DEVICE_PATH)))) {
CurrentDevicePath = EfiNextDevicePathNode (CurrentDevicePath);
CurrentDevicePath = NextDevicePathNode (CurrentDevicePath);
continue;
}
@ -1035,7 +1035,7 @@ GetHpcPciAddress (
//
// Check if it is not PCI device path
//
if (EfiIsDevicePathEnd (CurrentDevicePath)) {
if (IsDevicePathEnd (CurrentDevicePath)) {
return EFI_NOT_FOUND;
}
@ -1094,7 +1094,7 @@ GetHpcPciAddressFromRootBridge (
Node.DevPath = CurrentDevicePath;
Temp = NULL;
while (!EfiIsDevicePathEnd (CurrentDevicePath)) {
while (!IsDevicePathEnd (CurrentDevicePath)) {
CurrentLink = RootBridge->ChildList.ForwardLink;
Node.DevPath = CurrentDevicePath;
@ -1121,14 +1121,14 @@ GetHpcPciAddressFromRootBridge (
}
CurrentDevicePath = EfiNextDevicePathNode (CurrentDevicePath);
CurrentDevicePath = NextDevicePathNode (CurrentDevicePath);
}
if (MisMatch) {
CurrentDevicePath = EfiNextDevicePathNode (CurrentDevicePath);
CurrentDevicePath = NextDevicePathNode (CurrentDevicePath);
if (EfiIsDevicePathEnd (CurrentDevicePath)) {
if (IsDevicePathEnd (CurrentDevicePath)) {
*PciAddress = EFI_PCI_ADDRESS (RootBridge->BusNumber, Node.Pci->Device, Node.Pci->Function, 0);
return EFI_SUCCESS;
}

View File

@ -55,6 +55,7 @@
SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
S3Lib|IntelFrameworkModulePkg/Library/PeiS3Lib/PeiS3Lib.inf
RecoveryLib|IntelFrameworkModulePkg/Library/PeiRecoveryLib/PeiRecoveryLib.inf
DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
[LibraryClasses.common.PEIM]
HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf

View File

@ -60,36 +60,6 @@ InternalReportStatusCode (
}
/**
Computes and returns the size, in bytes, of a device path.
@param DevicePath A pointer to a device path.
@return The size, in bytes, of DevicePath.
**/
UINTN
InternalReportStatusCodeDevicePathSize (
IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath
)
{
CONST EFI_DEVICE_PATH_PROTOCOL *Start;
//
// Search for the end of the device path structure
//
Start = DevicePath;
while (!EfiIsDevicePathEnd (DevicePath)) {
DevicePath = EfiNextDevicePathNode (DevicePath);
}
//
// Subtract the start node from the end node and add in the size of the end node
//
return ((UINTN) DevicePath - (UINTN) Start) + DevicePathNodeLength (DevicePath);
}
/**
Converts a status code to an 8-bit POST code value.
@ -340,12 +310,12 @@ ReportStatusCodeWithDevicePath (
)
{
ASSERT (DevicePath != NULL);
return ReportStatusCodeWithExtendedData (
Type,
Value,
(VOID *)DevicePath,
InternalReportStatusCodeDevicePathSize (DevicePath)
);
//
// this function can *not* be implemented for BASE library.
//
ASSERT (FALSE);
return EFI_UNSUPPORTED;
}

View File

@ -49,7 +49,7 @@
UefiBootServicesTableLib
DebugLib
UefiRuntimeServicesTableLib
DevicePathLib
[Guids]
gEfiStatusCodeSpecificDataGuid # ALWAYS_CONSUMED

View File

@ -86,8 +86,8 @@ InternalReportStatusCodeDevicePathSize (
// Search for the end of the device path structure
//
Start = DevicePath;
while (!EfiIsDevicePathEnd (DevicePath)) {
DevicePath = EfiNextDevicePathNode (DevicePath);
while (!IsDevicePathEnd (DevicePath)) {
DevicePath = NextDevicePathNode (DevicePath);
}
//

View File

@ -24,6 +24,7 @@
#include <Library/BaseMemoryLib.h>
#include <Library/PcdLib.h>
#include <Library/UefiRuntimeServicesTableLib.h>
#include <Library/DevicePathLib.h>
#include <Guid/StatusCodeDataTypeId.h>
#include <Protocol/StatusCode.h>

View File

@ -88,8 +88,8 @@ InternalReportStatusCodeDevicePathSize (
// Search for the end of the device path structure
//
Start = DevicePath;
while (!EfiIsDevicePathEnd (DevicePath)) {
DevicePath = EfiNextDevicePathNode (DevicePath);
while (!IsDevicePathEnd (DevicePath)) {
DevicePath = NextDevicePathNode (DevicePath);
}
//

View File

@ -24,6 +24,7 @@
#include <Library/PcdLib.h>
#include <Library/UefiRuntimeServicesTableLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/DevicePathLib.h>
#include <Guid/StatusCodeDataTypeId.h>
#include <Protocol/StatusCode.h>