mirror of https://github.com/acidanthera/audk.git
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:
parent
1232b21473
commit
2067710de0
|
@ -612,8 +612,8 @@ StartPciDevicesOnBridge (
|
||||||
//
|
//
|
||||||
// Get the next device path
|
// Get the next device path
|
||||||
//
|
//
|
||||||
CurrentDevicePath = EfiNextDevicePathNode (RemainingDevicePath);
|
CurrentDevicePath = NextDevicePathNode (RemainingDevicePath);
|
||||||
if (EfiIsDevicePathEnd (CurrentDevicePath)) {
|
if (IsDevicePathEnd (CurrentDevicePath)) {
|
||||||
return EFI_SUCCESS;
|
return EFI_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1015,7 +1015,7 @@ GetHpcPciAddress (
|
||||||
//
|
//
|
||||||
// Get the remaining device path for this PCI device, if it is a PCI device
|
// Get the remaining device path for this PCI device, if it is a PCI device
|
||||||
//
|
//
|
||||||
while (!EfiIsDevicePathEnd (CurrentDevicePath)) {
|
while (!IsDevicePathEnd (CurrentDevicePath)) {
|
||||||
|
|
||||||
Node.DevPath = CurrentDevicePath;
|
Node.DevPath = CurrentDevicePath;
|
||||||
|
|
||||||
|
@ -1025,7 +1025,7 @@ GetHpcPciAddress (
|
||||||
if ((Node.DevPath->Type != HARDWARE_DEVICE_PATH) ||
|
if ((Node.DevPath->Type != HARDWARE_DEVICE_PATH) ||
|
||||||
((Node.DevPath->SubType != HW_PCI_DP) &&
|
((Node.DevPath->SubType != HW_PCI_DP) &&
|
||||||
(DevicePathNodeLength (Node.DevPath) != sizeof (PCI_DEVICE_PATH)))) {
|
(DevicePathNodeLength (Node.DevPath) != sizeof (PCI_DEVICE_PATH)))) {
|
||||||
CurrentDevicePath = EfiNextDevicePathNode (CurrentDevicePath);
|
CurrentDevicePath = NextDevicePathNode (CurrentDevicePath);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1035,7 +1035,7 @@ GetHpcPciAddress (
|
||||||
//
|
//
|
||||||
// Check if it is not PCI device path
|
// Check if it is not PCI device path
|
||||||
//
|
//
|
||||||
if (EfiIsDevicePathEnd (CurrentDevicePath)) {
|
if (IsDevicePathEnd (CurrentDevicePath)) {
|
||||||
return EFI_NOT_FOUND;
|
return EFI_NOT_FOUND;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1094,7 +1094,7 @@ GetHpcPciAddressFromRootBridge (
|
||||||
Node.DevPath = CurrentDevicePath;
|
Node.DevPath = CurrentDevicePath;
|
||||||
Temp = NULL;
|
Temp = NULL;
|
||||||
|
|
||||||
while (!EfiIsDevicePathEnd (CurrentDevicePath)) {
|
while (!IsDevicePathEnd (CurrentDevicePath)) {
|
||||||
|
|
||||||
CurrentLink = RootBridge->ChildList.ForwardLink;
|
CurrentLink = RootBridge->ChildList.ForwardLink;
|
||||||
Node.DevPath = CurrentDevicePath;
|
Node.DevPath = CurrentDevicePath;
|
||||||
|
@ -1121,14 +1121,14 @@ GetHpcPciAddressFromRootBridge (
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CurrentDevicePath = EfiNextDevicePathNode (CurrentDevicePath);
|
CurrentDevicePath = NextDevicePathNode (CurrentDevicePath);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MisMatch) {
|
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);
|
*PciAddress = EFI_PCI_ADDRESS (RootBridge->BusNumber, Node.Pci->Device, Node.Pci->Function, 0);
|
||||||
return EFI_SUCCESS;
|
return EFI_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,6 +55,7 @@
|
||||||
SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
|
SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
|
||||||
S3Lib|IntelFrameworkModulePkg/Library/PeiS3Lib/PeiS3Lib.inf
|
S3Lib|IntelFrameworkModulePkg/Library/PeiS3Lib/PeiS3Lib.inf
|
||||||
RecoveryLib|IntelFrameworkModulePkg/Library/PeiRecoveryLib/PeiRecoveryLib.inf
|
RecoveryLib|IntelFrameworkModulePkg/Library/PeiRecoveryLib/PeiRecoveryLib.inf
|
||||||
|
DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
|
||||||
|
|
||||||
[LibraryClasses.common.PEIM]
|
[LibraryClasses.common.PEIM]
|
||||||
HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
|
HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
|
||||||
|
|
|
@ -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.
|
Converts a status code to an 8-bit POST code value.
|
||||||
|
|
||||||
|
@ -340,12 +310,12 @@ ReportStatusCodeWithDevicePath (
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
ASSERT (DevicePath != NULL);
|
ASSERT (DevicePath != NULL);
|
||||||
return ReportStatusCodeWithExtendedData (
|
|
||||||
Type,
|
//
|
||||||
Value,
|
// this function can *not* be implemented for BASE library.
|
||||||
(VOID *)DevicePath,
|
//
|
||||||
InternalReportStatusCodeDevicePathSize (DevicePath)
|
ASSERT (FALSE);
|
||||||
);
|
return EFI_UNSUPPORTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -49,7 +49,7 @@
|
||||||
UefiBootServicesTableLib
|
UefiBootServicesTableLib
|
||||||
DebugLib
|
DebugLib
|
||||||
UefiRuntimeServicesTableLib
|
UefiRuntimeServicesTableLib
|
||||||
|
DevicePathLib
|
||||||
|
|
||||||
[Guids]
|
[Guids]
|
||||||
gEfiStatusCodeSpecificDataGuid # ALWAYS_CONSUMED
|
gEfiStatusCodeSpecificDataGuid # ALWAYS_CONSUMED
|
||||||
|
|
|
@ -86,8 +86,8 @@ InternalReportStatusCodeDevicePathSize (
|
||||||
// Search for the end of the device path structure
|
// Search for the end of the device path structure
|
||||||
//
|
//
|
||||||
Start = DevicePath;
|
Start = DevicePath;
|
||||||
while (!EfiIsDevicePathEnd (DevicePath)) {
|
while (!IsDevicePathEnd (DevicePath)) {
|
||||||
DevicePath = EfiNextDevicePathNode (DevicePath);
|
DevicePath = NextDevicePathNode (DevicePath);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
#include <Library/BaseMemoryLib.h>
|
#include <Library/BaseMemoryLib.h>
|
||||||
#include <Library/PcdLib.h>
|
#include <Library/PcdLib.h>
|
||||||
#include <Library/UefiRuntimeServicesTableLib.h>
|
#include <Library/UefiRuntimeServicesTableLib.h>
|
||||||
|
#include <Library/DevicePathLib.h>
|
||||||
|
|
||||||
#include <Guid/StatusCodeDataTypeId.h>
|
#include <Guid/StatusCodeDataTypeId.h>
|
||||||
#include <Protocol/StatusCode.h>
|
#include <Protocol/StatusCode.h>
|
||||||
|
|
|
@ -88,8 +88,8 @@ InternalReportStatusCodeDevicePathSize (
|
||||||
// Search for the end of the device path structure
|
// Search for the end of the device path structure
|
||||||
//
|
//
|
||||||
Start = DevicePath;
|
Start = DevicePath;
|
||||||
while (!EfiIsDevicePathEnd (DevicePath)) {
|
while (!IsDevicePathEnd (DevicePath)) {
|
||||||
DevicePath = EfiNextDevicePathNode (DevicePath);
|
DevicePath = NextDevicePathNode (DevicePath);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
#include <Library/PcdLib.h>
|
#include <Library/PcdLib.h>
|
||||||
#include <Library/UefiRuntimeServicesTableLib.h>
|
#include <Library/UefiRuntimeServicesTableLib.h>
|
||||||
#include <Library/UefiBootServicesTableLib.h>
|
#include <Library/UefiBootServicesTableLib.h>
|
||||||
|
#include <Library/DevicePathLib.h>
|
||||||
|
|
||||||
#include <Guid/StatusCodeDataTypeId.h>
|
#include <Guid/StatusCodeDataTypeId.h>
|
||||||
#include <Protocol/StatusCode.h>
|
#include <Protocol/StatusCode.h>
|
||||||
|
|
Loading…
Reference in New Issue