[edk2-devel] [edk2-platforms] [PATCH 03/11] BoardModulePkg: Add BDS Hook DXE Driver

Agyeman, Prince posted 11 patches 4 years, 11 months ago
[edk2-devel] [edk2-platforms] [PATCH 03/11] BoardModulePkg: Add BDS Hook DXE Driver
Posted by Agyeman, Prince 4 years, 11 months ago
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2336

This is a sample/generic DXE driver that registers
all the BDS hook points or callbacks as defined in
BoardBdsHookLib.

Cc: Michael Kubacki <michael.a.kubacki@intel.com>
Cc: Chasel Chiu <chasel.chiu@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>

Signed-off-by: Prince Agyeman <prince.agyeman@intel.com>
---
 .../BoardBdsHookDxe/BoardBdsHookDxe.c         | 121 ++++++++++++++++++
 .../BoardBdsHookDxe/BoardBdsHookDxe.inf       |  46 +++++++
 2 files changed, 167 insertions(+)
 create mode 100644 Platform/Intel/BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.c
 create mode 100644 Platform/Intel/BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.inf

diff --git a/Platform/Intel/BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.c b/Platform/Intel/BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.c
new file mode 100644
index 0000000000..88eb7d70e9
--- /dev/null
+++ b/Platform/Intel/BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.c
@@ -0,0 +1,121 @@
+/** @file
+  Bds Hook Point callbacks DXE driver
+
+  Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
+  SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <Library/UefiDriverEntryPoint.h>
+#include <Library/UefiBootServicesTableLib.h>
+#include <Library/DebugLib.h>
+#include <Library/UefiLib.h>
+#include <Library/BoardBdsHookLib.h>
+
+#include <Protocol/PciEnumerationComplete.h>
+
+/**
+  Initialize  DXE Platform.
+
+  @param[in] ImageHandle       Image handle of this driver.
+  @param[in] SystemTable       Global system service table.
+
+  @retval EFI_SUCCESS           Initialization complete.
+  @exception EFI_UNSUPPORTED       The chipset is unsupported by this driver.
+  @retval EFI_OUT_OF_RESOURCES  Do not have enough resources to initialize the driver.
+  @retval EFI_DEVICE_ERROR      Device error, driver exits abnormally.
+**/
+EFI_STATUS
+EFIAPI
+BdsHookDxeEntryPoint (
+  IN EFI_HANDLE       ImageHandle,
+  IN EFI_SYSTEM_TABLE *SystemTable
+  )
+{
+  EFI_EVENT   BeforeConsoleAfterTrustedConsoleEvent;
+  EFI_EVENT   BeforeConsoleBeforeEndOfDxeEvent;
+  EFI_EVENT   AfterConsoleReadyBeforeBootOptionEvent;
+  EFI_EVENT   ReadyToBootEvent;
+  EFI_EVENT   PciEnumCompleteEvent;
+  EFI_EVENT   SmmReadyToLockEvent;
+  EFI_STATUS  Status;
+  VOID        *Registration;
+
+  DEBUG ((DEBUG_INFO, "%a starts\n", __FUNCTION__ ));
+
+  //
+  // Create event to set proper video resolution and text mode for internal shell.
+  //
+  Status = EfiCreateEventReadyToBootEx (
+             TPL_CALLBACK,
+             BdsReadyToBootCallback,
+             NULL,
+             &ReadyToBootEvent
+             );
+  ASSERT_EFI_ERROR (Status);
+
+  //
+  // Create PCI Enumeration Completed callback for BDS
+  //
+  PciEnumCompleteEvent = EfiCreateProtocolNotifyEvent (
+                           &gEfiPciEnumerationCompleteProtocolGuid,
+                           TPL_CALLBACK,
+                           BdsPciEnumCompleteCallback,
+                           NULL,
+                           &Registration
+                           );
+  ASSERT (PciEnumCompleteEvent != NULL);
+
+  //
+  // Create PCI Enumeration Completed callback for BDS
+  //
+  SmmReadyToLockEvent = EfiCreateProtocolNotifyEvent (
+                          &gEfiDxeSmmReadyToLockProtocolGuid,
+                          TPL_CALLBACK,
+                          BdsSmmReadyToLockCallback,
+                          NULL,
+                          &Registration
+                          );
+  ASSERT (SmmReadyToLockEvent != NULL);
+
+  //
+  // Create BeforeConsoleAfterTrustedConsole event callback
+  //
+  Status = gBS->CreateEventEx (
+                  EVT_NOTIFY_SIGNAL,
+                  TPL_CALLBACK,
+                  BdsBeforeConsoleAfterTrustedConsoleCallback,
+                  NULL,
+                  &gBdsEventBeforeConsoleAfterTrustedConsoleGuid,
+                  &BeforeConsoleAfterTrustedConsoleEvent
+                  );
+  ASSERT_EFI_ERROR (Status);
+
+  //
+  // Create BeforeConsoleBeforeEndOfDxeGuid event callback
+  //
+  Status = gBS->CreateEventEx (
+                  EVT_NOTIFY_SIGNAL,
+                  TPL_CALLBACK,
+                  BdsBeforeConsoleBeforeEndOfDxeGuidCallback,
+                  NULL,
+                  &gBdsEventBeforeConsoleBeforeEndOfDxeGuid,
+                  &BeforeConsoleBeforeEndOfDxeEvent
+                  );
+  ASSERT_EFI_ERROR (Status);
+
+  //
+  // Create AfterConsoleReadyBeforeBootOption event callback
+  //
+  Status = gBS->CreateEventEx (
+                  EVT_NOTIFY_SIGNAL,
+                  TPL_CALLBACK,
+                  BdsAfterConsoleReadyBeforeBootOptionCallback,
+                  NULL,
+                  &gBdsEventAfterConsoleReadyBeforeBootOptionGuid,
+                  &AfterConsoleReadyBeforeBootOptionEvent
+                  );
+  ASSERT_EFI_ERROR (Status);
+
+  return Status;
+}
diff --git a/Platform/Intel/BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.inf b/Platform/Intel/BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.inf
new file mode 100644
index 0000000000..e3871d6dd4
--- /dev/null
+++ b/Platform/Intel/BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.inf
@@ -0,0 +1,46 @@
+### @file
+# Module Information file for the  Bds Hook DXE driver.
+#
+# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+###
+
+[Defines]
+  INF_VERSION                    = 0x00010017
+  BASE_NAME                      = BoardBdsHookDxe
+  FILE_GUID                      = EEA6491C-0DC5-48AB-B99D-CE77D14D43F2
+  VERSION_STRING                 = 1.0
+  MODULE_TYPE                    = DXE_DRIVER
+  ENTRY_POINT                    = BdsHookDxeEntryPoint
+
+[LibraryClasses]
+  BaseLib
+  UefiBootServicesTableLib
+  UefiDriverEntryPoint
+  DebugLib
+  UefiLib
+  BoardBdsHookLib
+
+[Packages]
+  MdePkg/MdePkg.dec
+  MdeModulePkg/MdeModulePkg.dec
+  SecurityPkg/SecurityPkg.dec
+  MinPlatformPkg/MinPlatformPkg.dec
+  BoardModulePkg/BoardModulePkg.dec
+
+[Sources]
+  BoardBdsHookDxe.c
+
+[Protocols]
+  gEfiPciEnumerationCompleteProtocolGuid
+  gEfiDxeSmmReadyToLockProtocolGuid
+
+[Guids]
+  gBdsEventBeforeConsoleAfterTrustedConsoleGuid
+  gBdsEventBeforeConsoleBeforeEndOfDxeGuid
+  gBdsEventAfterConsoleReadyBeforeBootOptionGuid
+
+[Depex]
+  TRUE
-- 
2.19.1.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#52225): https://edk2.groups.io/g/devel/message/52225
Mute This Topic: https://groups.io/mt/68590726/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [edk2-platforms] [PATCH 03/11] BoardModulePkg: Add BDS Hook DXE Driver
Posted by Nate DeSimone 4 years, 11 months ago
Hi Prince,

Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>

Thanks,
Nate

On Sat, Dec 14, 2019 at 01:32:29AM +0000, Agyeman, Prince wrote:
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2336
> 
> This is a sample/generic DXE driver that registers
> all the BDS hook points or callbacks as defined in
> BoardBdsHookLib.
> 
> Cc: Michael Kubacki <michael.a.kubacki@intel.com>
> Cc: Chasel Chiu <chasel.chiu@intel.com>
> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> 
> Signed-off-by: Prince Agyeman <prince.agyeman@intel.com>
> ---
>  .../BoardBdsHookDxe/BoardBdsHookDxe.c         | 121 ++++++++++++++++++
>  .../BoardBdsHookDxe/BoardBdsHookDxe.inf       |  46 +++++++
>  2 files changed, 167 insertions(+)
>  create mode 100644 Platform/Intel/BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.c
>  create mode 100644 Platform/Intel/BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.inf
> 
> diff --git a/Platform/Intel/BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.c b/Platform/Intel/BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.c
> new file mode 100644
> index 0000000000..88eb7d70e9
> --- /dev/null
> +++ b/Platform/Intel/BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.c
> @@ -0,0 +1,121 @@
> +/** @file
> +  Bds Hook Point callbacks DXE driver
> +
> +  Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
> +  SPDX-License-Identifier: BSD-2-Clause-Patent
> +
> +**/
> +
> +#include <Library/UefiDriverEntryPoint.h>
> +#include <Library/UefiBootServicesTableLib.h>
> +#include <Library/DebugLib.h>
> +#include <Library/UefiLib.h>
> +#include <Library/BoardBdsHookLib.h>
> +
> +#include <Protocol/PciEnumerationComplete.h>
> +
> +/**
> +  Initialize  DXE Platform.
> +
> +  @param[in] ImageHandle       Image handle of this driver.
> +  @param[in] SystemTable       Global system service table.
> +
> +  @retval EFI_SUCCESS           Initialization complete.
> +  @exception EFI_UNSUPPORTED       The chipset is unsupported by this driver.
> +  @retval EFI_OUT_OF_RESOURCES  Do not have enough resources to initialize the driver.
> +  @retval EFI_DEVICE_ERROR      Device error, driver exits abnormally.
> +**/
> +EFI_STATUS
> +EFIAPI
> +BdsHookDxeEntryPoint (
> +  IN EFI_HANDLE       ImageHandle,
> +  IN EFI_SYSTEM_TABLE *SystemTable
> +  )
> +{
> +  EFI_EVENT   BeforeConsoleAfterTrustedConsoleEvent;
> +  EFI_EVENT   BeforeConsoleBeforeEndOfDxeEvent;
> +  EFI_EVENT   AfterConsoleReadyBeforeBootOptionEvent;
> +  EFI_EVENT   ReadyToBootEvent;
> +  EFI_EVENT   PciEnumCompleteEvent;
> +  EFI_EVENT   SmmReadyToLockEvent;
> +  EFI_STATUS  Status;
> +  VOID        *Registration;
> +
> +  DEBUG ((DEBUG_INFO, "%a starts\n", __FUNCTION__ ));
> +
> +  //
> +  // Create event to set proper video resolution and text mode for internal shell.
> +  //
> +  Status = EfiCreateEventReadyToBootEx (
> +             TPL_CALLBACK,
> +             BdsReadyToBootCallback,
> +             NULL,
> +             &ReadyToBootEvent
> +             );
> +  ASSERT_EFI_ERROR (Status);
> +
> +  //
> +  // Create PCI Enumeration Completed callback for BDS
> +  //
> +  PciEnumCompleteEvent = EfiCreateProtocolNotifyEvent (
> +                           &gEfiPciEnumerationCompleteProtocolGuid,
> +                           TPL_CALLBACK,
> +                           BdsPciEnumCompleteCallback,
> +                           NULL,
> +                           &Registration
> +                           );
> +  ASSERT (PciEnumCompleteEvent != NULL);
> +
> +  //
> +  // Create PCI Enumeration Completed callback for BDS
> +  //
> +  SmmReadyToLockEvent = EfiCreateProtocolNotifyEvent (
> +                          &gEfiDxeSmmReadyToLockProtocolGuid,
> +                          TPL_CALLBACK,
> +                          BdsSmmReadyToLockCallback,
> +                          NULL,
> +                          &Registration
> +                          );
> +  ASSERT (SmmReadyToLockEvent != NULL);
> +
> +  //
> +  // Create BeforeConsoleAfterTrustedConsole event callback
> +  //
> +  Status = gBS->CreateEventEx (
> +                  EVT_NOTIFY_SIGNAL,
> +                  TPL_CALLBACK,
> +                  BdsBeforeConsoleAfterTrustedConsoleCallback,
> +                  NULL,
> +                  &gBdsEventBeforeConsoleAfterTrustedConsoleGuid,
> +                  &BeforeConsoleAfterTrustedConsoleEvent
> +                  );
> +  ASSERT_EFI_ERROR (Status);
> +
> +  //
> +  // Create BeforeConsoleBeforeEndOfDxeGuid event callback
> +  //
> +  Status = gBS->CreateEventEx (
> +                  EVT_NOTIFY_SIGNAL,
> +                  TPL_CALLBACK,
> +                  BdsBeforeConsoleBeforeEndOfDxeGuidCallback,
> +                  NULL,
> +                  &gBdsEventBeforeConsoleBeforeEndOfDxeGuid,
> +                  &BeforeConsoleBeforeEndOfDxeEvent
> +                  );
> +  ASSERT_EFI_ERROR (Status);
> +
> +  //
> +  // Create AfterConsoleReadyBeforeBootOption event callback
> +  //
> +  Status = gBS->CreateEventEx (
> +                  EVT_NOTIFY_SIGNAL,
> +                  TPL_CALLBACK,
> +                  BdsAfterConsoleReadyBeforeBootOptionCallback,
> +                  NULL,
> +                  &gBdsEventAfterConsoleReadyBeforeBootOptionGuid,
> +                  &AfterConsoleReadyBeforeBootOptionEvent
> +                  );
> +  ASSERT_EFI_ERROR (Status);
> +
> +  return Status;
> +}
> diff --git a/Platform/Intel/BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.inf b/Platform/Intel/BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.inf
> new file mode 100644
> index 0000000000..e3871d6dd4
> --- /dev/null
> +++ b/Platform/Intel/BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.inf
> @@ -0,0 +1,46 @@
> +### @file
> +# Module Information file for the  Bds Hook DXE driver.
> +#
> +# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
> +#
> +# SPDX-License-Identifier: BSD-2-Clause-Patent
> +#
> +###
> +
> +[Defines]
> +  INF_VERSION                    = 0x00010017
> +  BASE_NAME                      = BoardBdsHookDxe
> +  FILE_GUID                      = EEA6491C-0DC5-48AB-B99D-CE77D14D43F2
> +  VERSION_STRING                 = 1.0
> +  MODULE_TYPE                    = DXE_DRIVER
> +  ENTRY_POINT                    = BdsHookDxeEntryPoint
> +
> +[LibraryClasses]
> +  BaseLib
> +  UefiBootServicesTableLib
> +  UefiDriverEntryPoint
> +  DebugLib
> +  UefiLib
> +  BoardBdsHookLib
> +
> +[Packages]
> +  MdePkg/MdePkg.dec
> +  MdeModulePkg/MdeModulePkg.dec
> +  SecurityPkg/SecurityPkg.dec
> +  MinPlatformPkg/MinPlatformPkg.dec
> +  BoardModulePkg/BoardModulePkg.dec
> +
> +[Sources]
> +  BoardBdsHookDxe.c
> +
> +[Protocols]
> +  gEfiPciEnumerationCompleteProtocolGuid
> +  gEfiDxeSmmReadyToLockProtocolGuid
> +
> +[Guids]
> +  gBdsEventBeforeConsoleAfterTrustedConsoleGuid
> +  gBdsEventBeforeConsoleBeforeEndOfDxeGuid
> +  gBdsEventAfterConsoleReadyBeforeBootOptionGuid
> +
> +[Depex]
> +  TRUE
> -- 
> 2.19.1.windows.1
> 
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#52304): https://edk2.groups.io/g/devel/message/52304
Mute This Topic: https://groups.io/mt/68590726/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [edk2-platforms] [PATCH 03/11] BoardModulePkg: Add BDS Hook DXE Driver
Posted by Kubacki, Michael A 4 years, 11 months ago
Reviewed-by: Michael Kubacki <michael.a.kubacki@intel.com>

> -----Original Message-----
> From: Agyeman, Prince <prince.agyeman@intel.com>
> Sent: Friday, December 13, 2019 5:32 PM
> To: devel@edk2.groups.io
> Cc: Kubacki, Michael A <michael.a.kubacki@intel.com>; Chiu, Chasel
> <chasel.chiu@intel.com>; Desimone, Nathaniel L
> <nathaniel.l.desimone@intel.com>
> Subject: [edk2-platforms] [PATCH 03/11] BoardModulePkg: Add BDS Hook
> DXE Driver
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2336
> 
> This is a sample/generic DXE driver that registers all the BDS hook points or
> callbacks as defined in BoardBdsHookLib.
> 
> Cc: Michael Kubacki <michael.a.kubacki@intel.com>
> Cc: Chasel Chiu <chasel.chiu@intel.com>
> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> 
> Signed-off-by: Prince Agyeman <prince.agyeman@intel.com>
> ---
>  .../BoardBdsHookDxe/BoardBdsHookDxe.c         | 121 ++++++++++++++++++
>  .../BoardBdsHookDxe/BoardBdsHookDxe.inf       |  46 +++++++
>  2 files changed, 167 insertions(+)
>  create mode 100644
> Platform/Intel/BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.c
>  create mode 100644
> Platform/Intel/BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.inf
> 
> diff --git
> a/Platform/Intel/BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.c
> b/Platform/Intel/BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.c
> new file mode 100644
> index 0000000000..88eb7d70e9
> --- /dev/null
> +++
> b/Platform/Intel/BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.c
> @@ -0,0 +1,121 @@
> +/** @file
> +  Bds Hook Point callbacks DXE driver
> +
> +  Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
> +  SPDX-License-Identifier: BSD-2-Clause-Patent
> +
> +**/
> +
> +#include <Library/UefiDriverEntryPoint.h> #include
> +<Library/UefiBootServicesTableLib.h>
> +#include <Library/DebugLib.h>
> +#include <Library/UefiLib.h>
> +#include <Library/BoardBdsHookLib.h>
> +
> +#include <Protocol/PciEnumerationComplete.h>
> +
> +/**
> +  Initialize  DXE Platform.
> +
> +  @param[in] ImageHandle       Image handle of this driver.
> +  @param[in] SystemTable       Global system service table.
> +
> +  @retval EFI_SUCCESS           Initialization complete.
> +  @exception EFI_UNSUPPORTED       The chipset is unsupported by this
> driver.
> +  @retval EFI_OUT_OF_RESOURCES  Do not have enough resources to
> initialize the driver.
> +  @retval EFI_DEVICE_ERROR      Device error, driver exits abnormally.
> +**/
> +EFI_STATUS
> +EFIAPI
> +BdsHookDxeEntryPoint (
> +  IN EFI_HANDLE       ImageHandle,
> +  IN EFI_SYSTEM_TABLE *SystemTable
> +  )
> +{
> +  EFI_EVENT   BeforeConsoleAfterTrustedConsoleEvent;
> +  EFI_EVENT   BeforeConsoleBeforeEndOfDxeEvent;
> +  EFI_EVENT   AfterConsoleReadyBeforeBootOptionEvent;
> +  EFI_EVENT   ReadyToBootEvent;
> +  EFI_EVENT   PciEnumCompleteEvent;
> +  EFI_EVENT   SmmReadyToLockEvent;
> +  EFI_STATUS  Status;
> +  VOID        *Registration;
> +
> +  DEBUG ((DEBUG_INFO, "%a starts\n", __FUNCTION__ ));
> +
> +  //
> +  // Create event to set proper video resolution and text mode for internal
> shell.
> +  //
> +  Status = EfiCreateEventReadyToBootEx (
> +             TPL_CALLBACK,
> +             BdsReadyToBootCallback,
> +             NULL,
> +             &ReadyToBootEvent
> +             );
> +  ASSERT_EFI_ERROR (Status);
> +
> +  //
> +  // Create PCI Enumeration Completed callback for BDS  //
> + PciEnumCompleteEvent = EfiCreateProtocolNotifyEvent (
> +                           &gEfiPciEnumerationCompleteProtocolGuid,
> +                           TPL_CALLBACK,
> +                           BdsPciEnumCompleteCallback,
> +                           NULL,
> +                           &Registration
> +                           );
> +  ASSERT (PciEnumCompleteEvent != NULL);
> +
> +  //
> +  // Create PCI Enumeration Completed callback for BDS  //
> + SmmReadyToLockEvent = EfiCreateProtocolNotifyEvent (
> +                          &gEfiDxeSmmReadyToLockProtocolGuid,
> +                          TPL_CALLBACK,
> +                          BdsSmmReadyToLockCallback,
> +                          NULL,
> +                          &Registration
> +                          );
> +  ASSERT (SmmReadyToLockEvent != NULL);
> +
> +  //
> +  // Create BeforeConsoleAfterTrustedConsole event callback  //  Status
> + = gBS->CreateEventEx (
> +                  EVT_NOTIFY_SIGNAL,
> +                  TPL_CALLBACK,
> +                  BdsBeforeConsoleAfterTrustedConsoleCallback,
> +                  NULL,
> +                  &gBdsEventBeforeConsoleAfterTrustedConsoleGuid,
> +                  &BeforeConsoleAfterTrustedConsoleEvent
> +                  );
> +  ASSERT_EFI_ERROR (Status);
> +
> +  //
> +  // Create BeforeConsoleBeforeEndOfDxeGuid event callback  //  Status
> + = gBS->CreateEventEx (
> +                  EVT_NOTIFY_SIGNAL,
> +                  TPL_CALLBACK,
> +                  BdsBeforeConsoleBeforeEndOfDxeGuidCallback,
> +                  NULL,
> +                  &gBdsEventBeforeConsoleBeforeEndOfDxeGuid,
> +                  &BeforeConsoleBeforeEndOfDxeEvent
> +                  );
> +  ASSERT_EFI_ERROR (Status);
> +
> +  //
> +  // Create AfterConsoleReadyBeforeBootOption event callback  //
> + Status = gBS->CreateEventEx (
> +                  EVT_NOTIFY_SIGNAL,
> +                  TPL_CALLBACK,
> +                  BdsAfterConsoleReadyBeforeBootOptionCallback,
> +                  NULL,
> +                  &gBdsEventAfterConsoleReadyBeforeBootOptionGuid,
> +                  &AfterConsoleReadyBeforeBootOptionEvent
> +                  );
> +  ASSERT_EFI_ERROR (Status);
> +
> +  return Status;
> +}
> diff --git
> a/Platform/Intel/BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.in
> f
> b/Platform/Intel/BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.in
> f
> new file mode 100644
> index 0000000000..e3871d6dd4
> --- /dev/null
> +++
> b/Platform/Intel/BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.in
> f
> @@ -0,0 +1,46 @@
> +### @file
> +# Module Information file for the  Bds Hook DXE driver.
> +#
> +# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR> # #
> +SPDX-License-Identifier: BSD-2-Clause-Patent # ###
> +
> +[Defines]
> +  INF_VERSION                    = 0x00010017
> +  BASE_NAME                      = BoardBdsHookDxe
> +  FILE_GUID                      = EEA6491C-0DC5-48AB-B99D-CE77D14D43F2
> +  VERSION_STRING                 = 1.0
> +  MODULE_TYPE                    = DXE_DRIVER
> +  ENTRY_POINT                    = BdsHookDxeEntryPoint
> +
> +[LibraryClasses]
> +  BaseLib
> +  UefiBootServicesTableLib
> +  UefiDriverEntryPoint
> +  DebugLib
> +  UefiLib
> +  BoardBdsHookLib
> +
> +[Packages]
> +  MdePkg/MdePkg.dec
> +  MdeModulePkg/MdeModulePkg.dec
> +  SecurityPkg/SecurityPkg.dec
> +  MinPlatformPkg/MinPlatformPkg.dec
> +  BoardModulePkg/BoardModulePkg.dec
> +
> +[Sources]
> +  BoardBdsHookDxe.c
> +
> +[Protocols]
> +  gEfiPciEnumerationCompleteProtocolGuid
> +  gEfiDxeSmmReadyToLockProtocolGuid
> +
> +[Guids]
> +  gBdsEventBeforeConsoleAfterTrustedConsoleGuid
> +  gBdsEventBeforeConsoleBeforeEndOfDxeGuid
> +  gBdsEventAfterConsoleReadyBeforeBootOptionGuid
> +
> +[Depex]
> +  TRUE
> --
> 2.19.1.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#52467): https://edk2.groups.io/g/devel/message/52467
Mute This Topic: https://groups.io/mt/68590726/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-