UefiPayloadPkg: UefiPayload retrieve PCI root bridge from Guid Hob
UefiPayload parse gUniversalPayloadPciRootBridgeInfoGuid Guid Hob to retrieve PCI root bridges information. gUniversalPayloadPciRootBridgeInfoGuid Guid Hob should be created by Bootloader. Cc: Maurice Ma <maurice.ma@intel.com> Cc: Guo Dong <guo.dong@intel.com> Cc: Benjamin You <benjamin.you@intel.com> Reviewed-by: Guo Dong <guo.dong@intel.com> Tested-by: Patrick Rudolph <patrick.rudolph@9elements.com> Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com>
This commit is contained in:
committed by
mergify[bot]
parent
b597b6e24c
commit
99de2e7e03
@@ -2,7 +2,7 @@
|
||||
Header file of PciHostBridgeLib.
|
||||
|
||||
Copyright (C) 2016, Red Hat, Inc.
|
||||
Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2016 - 2021, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
@@ -11,14 +11,38 @@
|
||||
#ifndef _PCI_HOST_BRIDGE_H
|
||||
#define _PCI_HOST_BRIDGE_H
|
||||
|
||||
#include <UniversalPayload/PciRootBridges.h>
|
||||
|
||||
typedef struct {
|
||||
ACPI_HID_DEVICE_PATH AcpiDevicePath;
|
||||
EFI_DEVICE_PATH_PROTOCOL EndDevicePath;
|
||||
} CB_PCI_ROOT_BRIDGE_DEVICE_PATH;
|
||||
|
||||
/**
|
||||
Scan for all root bridges in platform.
|
||||
|
||||
@param[out] NumberOfRootBridges Number of root bridges detected
|
||||
|
||||
@retval Pointer to the allocated PCI_ROOT_BRIDGE structure array.
|
||||
**/
|
||||
PCI_ROOT_BRIDGE *
|
||||
ScanForRootBridges (
|
||||
UINTN *NumberOfRootBridges
|
||||
OUT UINTN *NumberOfRootBridges
|
||||
);
|
||||
|
||||
/**
|
||||
Scan for all root bridges from Universal Payload PciRootBridgeInfoHob
|
||||
|
||||
@param[in] PciRootBridgeInfo Pointer of Universal Payload PCI Root Bridge Info Hob
|
||||
@param[out] NumberOfRootBridges Number of root bridges detected
|
||||
|
||||
@retval Pointer to the allocated PCI_ROOT_BRIDGE structure array.
|
||||
|
||||
**/
|
||||
PCI_ROOT_BRIDGE *
|
||||
RetrieveRootBridgeInfoFromHob (
|
||||
IN UNIVERSAL_PAYLOAD_PCI_ROOT_BRIDGES *PciRootBridgeInfo,
|
||||
OUT UINTN *NumberOfRootBridges
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -77,4 +101,16 @@ InitRootBridge (
|
||||
OUT PCI_ROOT_BRIDGE *RootBus
|
||||
);
|
||||
|
||||
/**
|
||||
Initialize DevicePath for a PCI_ROOT_BRIDGE.
|
||||
@param[in] HID HID for device path
|
||||
@param[in] UID UID for device path
|
||||
|
||||
@retval A pointer to the new created device patch.
|
||||
**/
|
||||
EFI_DEVICE_PATH_PROTOCOL *
|
||||
CreateRootBridgeDevicePath (
|
||||
IN UINT32 HID,
|
||||
IN UINT32 UID
|
||||
);
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user