Hi Rohit,

This patch looks good to me.

Reviewed-by: Sami Mujawar <sami.muja...@arm.com>

Regards,

Sami Mujawar

On 22/07/2022 06:02 pm, Rohit Mathew wrote:
On platforms that do not have the serial console port pre-initialized
prior to the SEC phase and due to the absence of a call to
"SerialPortInitialize", this results in missing debug logs. So, call
the auto-generated "ProcessLibraryConstructorList" function from SEC
phase to have all the dependent library constructors called
(this includes a call to "SerialPortInitialize").

Signed-off-by: Rohit Mathew <rohit.mat...@arm.com>
---
  ArmPlatformPkg/PrePeiCore/PrePeiCore.h | 12 +++++++++++-
  ArmPlatformPkg/PrePeiCore/PrePeiCore.c |  6 +++++-
  2 files changed, 16 insertions(+), 2 deletions(-)

Changes since V1:
- Rebased on top of latest master branch.
- Addressed comments from Ard.

Changes since V2:
- Rebased on top of latest master branch.

Changes since V3:
- Addressed comments from Sami.

Link to github branch for the patch -
https://github.com/rohit-arm/edk2/tree/sec_constructor_issue

diff --git a/ArmPlatformPkg/PrePeiCore/PrePeiCore.h 
b/ArmPlatformPkg/PrePeiCore/PrePeiCore.h
index 0345dd7bdd2a..c1e13e23e11e 100644
--- a/ArmPlatformPkg/PrePeiCore/PrePeiCore.h
+++ b/ArmPlatformPkg/PrePeiCore/PrePeiCore.h
@@ -1,7 +1,7 @@
  /** @file
    Main file supporting the transition to PEI Core in Normal World for 
Versatile Express
- Copyright (c) 2011, ARM Limited. All rights reserved.
+  Copyright (c) 2011 - 2022, ARM Limited. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent @@ -73,4 +73,14 @@ PeiCommonExceptionEntry (
    IN UINTN   LR
    );
+/*
+ * Autogenerated function that calls the library constructors for all of the
+ * module's dependent libraries.
+ */
+VOID
+EFIAPI
+ProcessLibraryConstructorList (
+  VOID
+  );
+
  #endif
diff --git a/ArmPlatformPkg/PrePeiCore/PrePeiCore.c 
b/ArmPlatformPkg/PrePeiCore/PrePeiCore.c
index 6dd9bcdea24f..9c4b25df953d 100644
--- a/ArmPlatformPkg/PrePeiCore/PrePeiCore.c
+++ b/ArmPlatformPkg/PrePeiCore/PrePeiCore.c
@@ -1,7 +1,7 @@
  /** @file
    Main file supporting the transition to PEI Core in Normal World for 
Versatile Express
- Copyright (c) 2011-2014, ARM Limited. All rights reserved.
+  Copyright (c) 2011 - 2022, ARM Limited. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent @@ -90,6 +90,10 @@ CEntryPoint ( // If not primary Jump to Secondary Main
    if (ArmPlatformIsPrimaryCore (MpId)) {
+    // Invoke "ProcessLibraryConstructorList" to have all library constructors
+    // called.
+    ProcessLibraryConstructorList ();
+
      // Initialize the Debug Agent for Source Level Debugging
      InitializeDebugAgent (DEBUG_AGENT_INIT_POSTMEM_SEC, NULL, NULL);
      SaveAndSetDebugTimerInterrupt (TRUE);


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#91802): https://edk2.groups.io/g/devel/message/91802
Mute This Topic: https://groups.io/mt/92552068/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to