Hi everyone,

I checked Rebecca's patch with my Qemu use case.
All fine - we can use that patch instead of the series I posted here.
Even better, because it prints the version information.

Thanks!

Regards,
 Oliver

On Tue, Jul 26, 2022 at 6:22 PM Sami Mujawar <sami.muja...@arm.com> wrote:

> Hi Oliver,
>
>
>
> Both your and Rebecca’s patches are using SerialPortWrite() which should
> work regardless of the debug print level and for release builds as well.
>
> Rebecca’s patch additionally initialises the serial port which is required
> if the UART has not been setup by any previous firmware.
>
> I believe Qemu might handoff with the UART initialised, therefore you
> might not see the difference. However, this would be required for some
> hardware platforms.
>
>
>
> I do not have a setup with Qemu ready to try. Is it possible for you to
> apply Rebecca’s patch and check, please?
>
> Alternatively, I will prepare a setup tomorrow to confirm.
>
>
>
> Regards,
>
>
>
> Sami Mujawar
>
>
>
> *From: *Oliver Steffen <ostef...@redhat.com>
> *Date: *Tuesday, 26 July 2022 at 16:50
> *To: *Sami Mujawar <sami.muja...@arm.com>
> *Cc: *"devel@edk2.groups.io" <devel@edk2.groups.io>, Rebecca Cran <
> rebe...@bsdio.com>, "quic_rc...@quicinc.com" <quic_rc...@quicinc.com>,
> Ard Biesheuvel <ardb+tianoc...@kernel.org>, Chasel Chiu <
> chasel.c...@intel.com>, Gerd Hoffmann <kra...@redhat.com>, Leif Lindholm <
> quic_llind...@quicinc.com>, Nate DeSimone <nathaniel.l.desim...@intel.com>,
> Star Zeng <star.z...@intel.com>, Andrew Fish <af...@apple.com>, Laszlo
> Ersek <ler...@redhat.com>
> *Subject: *Re: [PATCH 2/3] ArmPlatformPkg: PrePeiCore: write early hello
> message to the serial port
>
>
>
> Hi Sami,
>
> Thank you for pointing to that patch. It pretty much does the same thing
> and I would be OK with using it instead of these changes here. Except
> that the message only shows up in debug mode and seems to depend on the
> debug mask. It would be nice if it would show up all the time.
>
> We are building ArmVirt in debug, but with
> DEBUG_PRINT_ERROR_LEVEL=0x80000000, aka a "silent" debug build, and need
> the message there too.
>
> What was proposed in this series prints the message independently of the
> debug mask.
>
>
> Regards,
>  Oliver
>
>
>
> On Tue, Jul 26, 2022 at 12:42 PM Sami Mujawar <sami.muja...@arm.com>
> wrote:
>
> 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 (#91937): https://edk2.groups.io/g/devel/message/91937
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