summaryrefslogtreecommitdiffstats
path: root/RedfishPkg/Include/Library
diff options
context:
space:
mode:
authorAbner Chang <abner.chang@amd.com>2022-12-19 21:18:00 +0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2022-12-20 06:54:06 +0000
commit2846c19da98ce1dca410e39e5b30e06a1166220d (patch)
tree24987acbbe3a758375fa2b5bf340e45ce7174c5d /RedfishPkg/Include/Library
parentceb52713b00a4bec1a4ab551636b8d297139ea6f (diff)
downloadedk2-2846c19da98ce1dca410e39e5b30e06a1166220d.tar.gz
edk2-2846c19da98ce1dca410e39e5b30e06a1166220d.tar.bz2
edk2-2846c19da98ce1dca410e39e5b30e06a1166220d.zip
RedfishPkg/RedfishHostInterface: Platform Redfish HI notification
For some use cases, Redfish host interface table relies on the certain EFI protocols installation at the driver connection. Redfish host interface DXE driver is not able to build the SMBIOS type 42h record at driver entry point. This patch adds the mechanism in Redfish host interface DXE driver to listen to EFI protocol installed by platform library that indicates the necessary information is ready for building SMBIOS 42h record. Signed-off-by: Abner Chang <abner.chang@amd.com> Cc: Nickle Wang <nicklew@nvidia.com> Cc: Igor Kulchytskyy <igork@ami.com> Reviewed-by: Nickle Wang <nicklew@nvidia.com>
Diffstat (limited to 'RedfishPkg/Include/Library')
-rw-r--r--RedfishPkg/Include/Library/RedfishHostInterfaceLib.h28
1 files changed, 25 insertions, 3 deletions
diff --git a/RedfishPkg/Include/Library/RedfishHostInterfaceLib.h b/RedfishPkg/Include/Library/RedfishHostInterfaceLib.h
index 8d8389b964..22a8f9283c 100644
--- a/RedfishPkg/Include/Library/RedfishHostInterfaceLib.h
+++ b/RedfishPkg/Include/Library/RedfishHostInterfaceLib.h
@@ -2,6 +2,7 @@
Definitinos of RedfishHostInterfaceDxe driver.
(C) Copyright 2020 Hewlett Packard Enterprise Development LP<BR>
+ Copyright (C) 2022 Advanced Micro Devices, Inc. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -19,7 +20,7 @@
/**
Get platform Redfish host interface device descriptor.
- @param[in] DeviceType Pointer to retrieve device type.
+ @param[out] DeviceType Pointer to retrieve device type.
@param[out] DeviceDescriptor Pointer to retrieve REDFISH_INTERFACE_DATA, caller has to free
this memory using FreePool().
@retval EFI_SUCCESS Device descriptor is returned successfully in DeviceDescriptor.
@@ -28,7 +29,7 @@
**/
EFI_STATUS
RedfishPlatformHostInterfaceDeviceDescriptor (
- IN UINT8 *DeviceType,
+ OUT UINT8 *DeviceType,
OUT REDFISH_INTERFACE_DATA **DeviceDescriptor
);
@@ -40,7 +41,7 @@ RedfishPlatformHostInterfaceDeviceDescriptor (
@param[in, out] ProtocolRecord Pointer to retrieve the first or the next protocol record.
caller has to free the new protocol record returned from
this function using FreePool().
- param[in] IndexOfProtocolData The index of protocol data.
+ @param[in] IndexOfProtocolData The index of protocol data.
@retval EFI_SUCCESS Protocol records are all returned.
@retval EFI_NOT_FOUND No more protocol records.
@@ -52,4 +53,25 @@ RedfishPlatformHostInterfaceProtocolData (
IN UINT8 IndexOfProtocolData
);
+/**
+ Get the EFI protocol GUID installed by platform library which
+ indicates the necessary information is ready for building
+ SMBIOS 42h record.
+
+ @param[out] InformationReadinessGuid Pointer to retrive the protocol
+ GUID.
+
+ @retval EFI_SUCCESS Notification is required for building up
+ SMBIOS type 42h record.
+ @retval EFI_UNSUPPORTED Notification is not required for building up
+ SMBIOS type 42h record.
+ @retval EFI_ALREADY_STARTED Platform host information is already ready.
+ @retval Others Other errors.
+**/
+
+EFI_STATUS
+RedfishPlatformHostInterfaceNotification (
+ OUT EFI_GUID **InformationReadinessGuid
+ );
+
#endif