From: Abner Chang <abner.chang@amd.com>
Introduce gEdkIIRedfishHostInterfaceReadyProtocolGuid
and produce it when Redfish Host Interface is installed
on system.
Signed-off-by: Abner Chang <abner.chang@amd.com>
Cc: Nickle Wang <nicklew@nvidia.com>
Cc: Igor Kulchytskyy <igork@ami.com>
Cc: Mike Maslenkin <mike.maslenkin@gmail.com>
---
RedfishPkg/RedfishPkg.dec | 3 +++
.../RedfishHostInterfaceDxe.inf | 3 ++-
.../RedfishHostInterfaceDxe.c | 16 ++++++++++++++++
3 files changed, 21 insertions(+), 1 deletion(-)
diff --git a/RedfishPkg/RedfishPkg.dec b/RedfishPkg/RedfishPkg.dec
index 0f18865cea0..e40538247c2 100644
--- a/RedfishPkg/RedfishPkg.dec
+++ b/RedfishPkg/RedfishPkg.dec
@@ -90,6 +90,9 @@
## Include/Protocol/EdkIIRedfishPlatformConfig.h
gEdkIIRedfishPlatformConfigProtocolGuid = { 0X4D94A7C7, 0X4CE4, 0X4A84, { 0X88, 0XC1, 0X33, 0X0C, 0XD4, 0XA3, 0X47, 0X67 } }
+ # Redfish Host Interface ready notification protocol
+ gEdkIIRedfishHostInterfaceReadyProtocolGuid = { 0xC3F6D062, 0x3D38, 0x4EA4, { 0x92, 0xB1, 0xE8, 0xF8, 0x02, 0x27, 0x63, 0xDF } }
+
[Guids]
gEfiRedfishPkgTokenSpaceGuid = { 0x4fdbccb7, 0xe829, 0x4b4c, { 0x88, 0x87, 0xb2, 0x3f, 0xd7, 0x25, 0x4b, 0x85 }}
diff --git a/RedfishPkg/RedfishHostInterfaceDxe/RedfishHostInterfaceDxe.inf b/RedfishPkg/RedfishHostInterfaceDxe/RedfishHostInterfaceDxe.inf
index 1cdae149aad..f969e75463f 100644
--- a/RedfishPkg/RedfishHostInterfaceDxe/RedfishHostInterfaceDxe.inf
+++ b/RedfishPkg/RedfishHostInterfaceDxe/RedfishHostInterfaceDxe.inf
@@ -43,7 +43,8 @@
UefiLib
[Protocols]
- gEfiSmbiosProtocolGuid ## TO_START
+ gEfiSmbiosProtocolGuid ## TO_START
+ gEdkIIRedfishHostInterfaceReadyProtocolGuid ## PRODUCED
[Depex]
gEfiSmbiosProtocolGuid
diff --git a/RedfishPkg/RedfishHostInterfaceDxe/RedfishHostInterfaceDxe.c b/RedfishPkg/RedfishHostInterfaceDxe/RedfishHostInterfaceDxe.c
index 55a66decfc8..94c0f9b6a92 100644
--- a/RedfishPkg/RedfishHostInterfaceDxe/RedfishHostInterfaceDxe.c
+++ b/RedfishPkg/RedfishHostInterfaceDxe/RedfishHostInterfaceDxe.c
@@ -53,7 +53,9 @@ RedfishCreateSmbiosTable42 (
SMBIOS_TABLE_TYPE42 *Type42Record;
EFI_SMBIOS_PROTOCOL *Smbios;
EFI_SMBIOS_HANDLE MemArrayMappedAddrSmbiosHandle;
+ EFI_HANDLE Handle;
+ Handle = NULL;
//
// Get platform Redfish host interface device type descriptor data.
//
@@ -228,6 +230,20 @@ RedfishCreateSmbiosTable42 (
Status = EFI_SUCCESS;
+ //
+ // Install Redfish Host Interface ready protocol.
+ //
+ Status = gBS->InstallProtocolInterface (
+ &Handle,
+ &gEdkIIRedfishHostInterfaceReadyProtocolGuid,
+ EFI_NATIVE_INTERFACE,
+ (VOID *)NULL
+ );
+ if (EFI_ERROR (Status)) {
+ DEBUG ((DEBUG_ERROR, "Failed to install gEdkIIRedfishHostInterfaceReadyProtocolGuid.\n"));
+ DEBUG ((DEBUG_ERROR, "PlatformConfigHandler driver may not be triggered to acquire Redfish service.\n"));
+ }
+
ON_EXIT:
if (DeviceDescriptor != NULL) {
FreePool (DeviceDescriptor);
--
2.37.1.windows.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#111657): https://edk2.groups.io/g/devel/message/111657
Mute This Topic: https://groups.io/mt/102763119/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
On Thu, Nov 23, 2023 at 9:48 AM <abner.chang@amd.com> wrote:
>
> From: Abner Chang <abner.chang@amd.com>
>
> Introduce gEdkIIRedfishHostInterfaceReadyProtocolGuid
> and produce it when Redfish Host Interface is installed
> on system.
>
> Signed-off-by: Abner Chang <abner.chang@amd.com>
> Cc: Nickle Wang <nicklew@nvidia.com>
> Cc: Igor Kulchytskyy <igork@ami.com>
> Cc: Mike Maslenkin <mike.maslenkin@gmail.com>
> ---
> RedfishPkg/RedfishPkg.dec | 3 +++
> .../RedfishHostInterfaceDxe.inf | 3 ++-
> .../RedfishHostInterfaceDxe.c | 16 ++++++++++++++++
> 3 files changed, 21 insertions(+), 1 deletion(-)
>
> diff --git a/RedfishPkg/RedfishPkg.dec b/RedfishPkg/RedfishPkg.dec
> index 0f18865cea0..e40538247c2 100644
> --- a/RedfishPkg/RedfishPkg.dec
> +++ b/RedfishPkg/RedfishPkg.dec
> @@ -90,6 +90,9 @@
> ## Include/Protocol/EdkIIRedfishPlatformConfig.h
> gEdkIIRedfishPlatformConfigProtocolGuid = { 0X4D94A7C7, 0X4CE4, 0X4A84, { 0X88, 0XC1, 0X33, 0X0C, 0XD4, 0XA3, 0X47, 0X67 } }
>
> + # Redfish Host Interface ready notification protocol
> + gEdkIIRedfishHostInterfaceReadyProtocolGuid = { 0xC3F6D062, 0x3D38, 0x4EA4, { 0x92, 0xB1, 0xE8, 0xF8, 0x02, 0x27, 0x63, 0xDF } }
> +
> [Guids]
> gEfiRedfishPkgTokenSpaceGuid = { 0x4fdbccb7, 0xe829, 0x4b4c, { 0x88, 0x87, 0xb2, 0x3f, 0xd7, 0x25, 0x4b, 0x85 }}
>
> diff --git a/RedfishPkg/RedfishHostInterfaceDxe/RedfishHostInterfaceDxe.inf b/RedfishPkg/RedfishHostInterfaceDxe/RedfishHostInterfaceDxe.inf
> index 1cdae149aad..f969e75463f 100644
> --- a/RedfishPkg/RedfishHostInterfaceDxe/RedfishHostInterfaceDxe.inf
> +++ b/RedfishPkg/RedfishHostInterfaceDxe/RedfishHostInterfaceDxe.inf
> @@ -43,7 +43,8 @@
> UefiLib
>
> [Protocols]
> - gEfiSmbiosProtocolGuid ## TO_START
> + gEfiSmbiosProtocolGuid ## TO_START
> + gEdkIIRedfishHostInterfaceReadyProtocolGuid ## PRODUCED
>
> [Depex]
> gEfiSmbiosProtocolGuid
> diff --git a/RedfishPkg/RedfishHostInterfaceDxe/RedfishHostInterfaceDxe.c b/RedfishPkg/RedfishHostInterfaceDxe/RedfishHostInterfaceDxe.c
> index 55a66decfc8..94c0f9b6a92 100644
> --- a/RedfishPkg/RedfishHostInterfaceDxe/RedfishHostInterfaceDxe.c
> +++ b/RedfishPkg/RedfishHostInterfaceDxe/RedfishHostInterfaceDxe.c
> @@ -53,7 +53,9 @@ RedfishCreateSmbiosTable42 (
> SMBIOS_TABLE_TYPE42 *Type42Record;
> EFI_SMBIOS_PROTOCOL *Smbios;
> EFI_SMBIOS_HANDLE MemArrayMappedAddrSmbiosHandle;
> + EFI_HANDLE Handle;
>
> + Handle = NULL;
> //
> // Get platform Redfish host interface device type descriptor data.
> //
> @@ -228,6 +230,20 @@ RedfishCreateSmbiosTable42 (
>
> Status = EFI_SUCCESS;
>
> + //
> + // Install Redfish Host Interface ready protocol.
> + //
> + Status = gBS->InstallProtocolInterface (
> + &Handle,
> + &gEdkIIRedfishHostInterfaceReadyProtocolGuid,
> + EFI_NATIVE_INTERFACE,
> + (VOID *)NULL
> + );
> + if (EFI_ERROR (Status)) {
> + DEBUG ((DEBUG_ERROR, "Failed to install gEdkIIRedfishHostInterfaceReadyProtocolGuid.\n"));
> + DEBUG ((DEBUG_ERROR, "PlatformConfigHandler driver may not be triggered to acquire Redfish service.\n"));
> + }
> +
> ON_EXIT:
> if (DeviceDescriptor != NULL) {
> FreePool (DeviceDescriptor);
> --
> 2.37.1.windows.1
>
You have clobbered explicit Status = EFI_SUCCESS;
is it intended? Overall result of this function does not depend from
this InstallProtocolInterface() call, SMBIOS table has been installed
successfully.
Looks like InstallProtocolInterface() should be added before Status
return value set.
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#111705): https://edk2.groups.io/g/devel/message/111705
Mute This Topic: https://groups.io/mt/102763119/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
[AMD Official Use Only - General]
> -----Original Message-----
> From: Mike Maslenkin <mike.maslenkin@gmail.com>
> Sent: Monday, November 27, 2023 3:36 AM
> To: Chang, Abner <Abner.Chang@amd.com>
> Cc: devel@edk2.groups.io; Nickle Wang <nicklew@nvidia.com>; Igor
> Kulchytskyy <igork@ami.com>
> Subject: Re: [PATCH V2 2/8] RedfishPkg/RedfishHostInterfaceDxe: Add
> Redfish HI readiness notification
>
> Caution: This message originated from an External Source. Use proper caution
> when opening attachments, clicking links, or responding.
>
>
> On Thu, Nov 23, 2023 at 9:48 AM <abner.chang@amd.com> wrote:
> >
> > From: Abner Chang <abner.chang@amd.com>
> >
> > Introduce gEdkIIRedfishHostInterfaceReadyProtocolGuid
> > and produce it when Redfish Host Interface is installed
> > on system.
> >
> > Signed-off-by: Abner Chang <abner.chang@amd.com>
> > Cc: Nickle Wang <nicklew@nvidia.com>
> > Cc: Igor Kulchytskyy <igork@ami.com>
> > Cc: Mike Maslenkin <mike.maslenkin@gmail.com>
> > ---
> > RedfishPkg/RedfishPkg.dec | 3 +++
> > .../RedfishHostInterfaceDxe.inf | 3 ++-
> > .../RedfishHostInterfaceDxe.c | 16 ++++++++++++++++
> > 3 files changed, 21 insertions(+), 1 deletion(-)
> >
> > diff --git a/RedfishPkg/RedfishPkg.dec b/RedfishPkg/RedfishPkg.dec
> > index 0f18865cea0..e40538247c2 100644
> > --- a/RedfishPkg/RedfishPkg.dec
> > +++ b/RedfishPkg/RedfishPkg.dec
> > @@ -90,6 +90,9 @@
> > ## Include/Protocol/EdkIIRedfishPlatformConfig.h
> > gEdkIIRedfishPlatformConfigProtocolGuid = { 0X4D94A7C7, 0X4CE4,
> 0X4A84, { 0X88, 0XC1, 0X33, 0X0C, 0XD4, 0XA3, 0X47, 0X67 } }
> >
> > + # Redfish Host Interface ready notification protocol
> > + gEdkIIRedfishHostInterfaceReadyProtocolGuid = { 0xC3F6D062, 0x3D38,
> 0x4EA4, { 0x92, 0xB1, 0xE8, 0xF8, 0x02, 0x27, 0x63, 0xDF } }
> > +
> > [Guids]
> > gEfiRedfishPkgTokenSpaceGuid = { 0x4fdbccb7, 0xe829, 0x4b4c, { 0x88,
> 0x87, 0xb2, 0x3f, 0xd7, 0x25, 0x4b, 0x85 }}
> >
> > diff --git a/RedfishPkg/RedfishHostInterfaceDxe/RedfishHostInterfaceDxe.inf
> b/RedfishPkg/RedfishHostInterfaceDxe/RedfishHostInterfaceDxe.inf
> > index 1cdae149aad..f969e75463f 100644
> > --- a/RedfishPkg/RedfishHostInterfaceDxe/RedfishHostInterfaceDxe.inf
> > +++ b/RedfishPkg/RedfishHostInterfaceDxe/RedfishHostInterfaceDxe.inf
> > @@ -43,7 +43,8 @@
> > UefiLib
> >
> > [Protocols]
> > - gEfiSmbiosProtocolGuid ## TO_START
> > + gEfiSmbiosProtocolGuid ## TO_START
> > + gEdkIIRedfishHostInterfaceReadyProtocolGuid ## PRODUCED
> >
> > [Depex]
> > gEfiSmbiosProtocolGuid
> > diff --git a/RedfishPkg/RedfishHostInterfaceDxe/RedfishHostInterfaceDxe.c
> b/RedfishPkg/RedfishHostInterfaceDxe/RedfishHostInterfaceDxe.c
> > index 55a66decfc8..94c0f9b6a92 100644
> > --- a/RedfishPkg/RedfishHostInterfaceDxe/RedfishHostInterfaceDxe.c
> > +++ b/RedfishPkg/RedfishHostInterfaceDxe/RedfishHostInterfaceDxe.c
> > @@ -53,7 +53,9 @@ RedfishCreateSmbiosTable42 (
> > SMBIOS_TABLE_TYPE42 *Type42Record;
> > EFI_SMBIOS_PROTOCOL *Smbios;
> > EFI_SMBIOS_HANDLE MemArrayMappedAddrSmbiosHandle;
> > + EFI_HANDLE Handle;
> >
> > + Handle = NULL;
> > //
> > // Get platform Redfish host interface device type descriptor data.
> > //
> > @@ -228,6 +230,20 @@ RedfishCreateSmbiosTable42 (
> >
> > Status = EFI_SUCCESS;
> >
> > + //
> > + // Install Redfish Host Interface ready protocol.
> > + //
> > + Status = gBS->InstallProtocolInterface (
> > + &Handle,
> > + &gEdkIIRedfishHostInterfaceReadyProtocolGuid,
> > + EFI_NATIVE_INTERFACE,
> > + (VOID *)NULL
> > + );
> > + if (EFI_ERROR (Status)) {
> > + DEBUG ((DEBUG_ERROR, "Failed to install
> gEdkIIRedfishHostInterfaceReadyProtocolGuid.\n"));
> > + DEBUG ((DEBUG_ERROR, "PlatformConfigHandler driver may not be
> triggered to acquire Redfish service.\n"));
> > + }
> > +
> > ON_EXIT:
> > if (DeviceDescriptor != NULL) {
> > FreePool (DeviceDescriptor);
> > --
> > 2.37.1.windows.1
> >
>
> You have clobbered explicit Status = EFI_SUCCESS;
> is it intended? Overall result of this function does not depend from
> this InstallProtocolInterface() call, SMBIOS table has been installed
> successfully.
> Looks like InstallProtocolInterface() should be added before Status
> return value set.
No, I didn’t aware this 😊. Move it to below the new change as SMBIOS 42 is installed successfully.
Thanks
Abner
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#111714): https://edk2.groups.io/g/devel/message/111714
Mute This Topic: https://groups.io/mt/102763119/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
© 2016 - 2026 Red Hat, Inc.