Hi Oliver,

There is a patch for review at https://edk2.groups.io/g/devel/message/88884 
which prints the firmware version string. I believe with Ard's comments 
addressed that patch can be merged.
Would that patch solve your purpose to print an early message for debug purpose?

Regards,

Sami Mujawar

On 26/07/2022, 08:29, "Oliver Steffen" <ostef...@redhat.com> wrote:

    From: Laszlo Ersek <ler...@redhat.com>

    Print the early hello message to the serial port.

    The FixedPcdGetSize() macro expands to an integer constant, therefore an
    optimizing compiler can eliminate the new code, if the platform DSC
    doesn't override the empty string (size=1) default of
    PcdEarlyHelloMessage.

    Signed-off-by: Laszlo Ersek <ler...@redhat.com>
    Signed-off-by: Oliver Steffen <ostef...@redhat.com>
    ---
     ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf  | 2 ++
     ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf | 2 ++
     ArmPlatformPkg/PrePeiCore/PrePeiCore.h          | 1 +
     ArmPlatformPkg/PrePeiCore/MainMPCore.c          | 7 +++++++
     ArmPlatformPkg/PrePeiCore/MainUniCore.c         | 7 +++++++
     5 files changed, 19 insertions(+)

    diff --git a/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf 
b/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
    index a5b4722459d1..ea7b220bc831 100644
    --- a/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
    +++ b/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
    @@ -66,6 +66,8 @@ [FixedPcd]
       gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize
       gArmPlatformTokenSpaceGuid.PcdCPUCoreSecondaryStackSize

    +  gArmPlatformTokenSpaceGuid.PcdEarlyHelloMessage
    +
       gArmTokenSpaceGuid.PcdGicDistributorBase
       gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase
       gArmTokenSpaceGuid.PcdGicSgiIntId
    diff --git a/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf 
b/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
    index 466a2b01c384..29fb8737cb2f 100644
    --- a/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
    +++ b/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
    @@ -64,4 +64,6 @@ [FixedPcd]
       gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize
       gArmPlatformTokenSpaceGuid.PcdCPUCoreSecondaryStackSize

    +  gArmPlatformTokenSpaceGuid.PcdEarlyHelloMessage
    +
       gEfiMdeModulePkgTokenSpaceGuid.PcdInitValueInTempStack
    diff --git a/ArmPlatformPkg/PrePeiCore/PrePeiCore.h 
b/ArmPlatformPkg/PrePeiCore/PrePeiCore.h
    index 0345dd7bdd2a..ae8302becda2 100644
    --- a/ArmPlatformPkg/PrePeiCore/PrePeiCore.h
    +++ b/ArmPlatformPkg/PrePeiCore/PrePeiCore.h
    @@ -16,6 +16,7 @@
     #include <Library/DebugLib.h>
     #include <Library/IoLib.h>
     #include <Library/PcdLib.h>
    +#include <Library/SerialPortLib.h>

     #include <PiPei.h>
     #include <Ppi/TemporaryRamSupport.h>
    diff --git a/ArmPlatformPkg/PrePeiCore/MainMPCore.c 
b/ArmPlatformPkg/PrePeiCore/MainMPCore.c
    index b5d0d3a6442f..21c9d5f6da8f 100644
    --- a/ArmPlatformPkg/PrePeiCore/MainMPCore.c
    +++ b/ArmPlatformPkg/PrePeiCore/MainMPCore.c
    @@ -116,6 +116,13 @@ PrimaryMain (
       UINTN                   TemporaryRamBase;
       UINTN                   TemporaryRamSize;

    +  if (FixedPcdGetSize (PcdEarlyHelloMessage) > 1) {
    +    SerialPortWrite (
    +      FixedPcdGetPtr (PcdEarlyHelloMessage),
    +      FixedPcdGetSize (PcdEarlyHelloMessage) - 1
    +      );
    +  }
    +
       CreatePpiList (&PpiListSize, &PpiList);

       // Enable the GIC Distributor
    diff --git a/ArmPlatformPkg/PrePeiCore/MainUniCore.c 
b/ArmPlatformPkg/PrePeiCore/MainUniCore.c
    index 1c2580eb923b..37560540e14f 100644
    --- a/ArmPlatformPkg/PrePeiCore/MainUniCore.c
    +++ b/ArmPlatformPkg/PrePeiCore/MainUniCore.c
    @@ -29,6 +29,13 @@ PrimaryMain (
       UINTN                   TemporaryRamBase;
       UINTN                   TemporaryRamSize;

    +  if (FixedPcdGetSize (PcdEarlyHelloMessage) > 1) {
    +    SerialPortWrite (
    +      FixedPcdGetPtr (PcdEarlyHelloMessage),
    +      FixedPcdGetSize (PcdEarlyHelloMessage) - 1
    +      );
    +  }
    +
       CreatePpiList (&PpiListSize, &PpiList);

       // Adjust the Temporary Ram as the new Ppi List (Common + Platform Ppi 
Lists) is created at
    --
    2.37.1


IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.


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


Reply via email to