From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.groups.io with SMTP id smtpd.web11.30788.1659002010662656099 for ; Thu, 28 Jul 2022 02:53:31 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=WpZZPr2Z; spf=pass (domain: redhat.com, ip: 170.10.129.124, mailfrom: osteffen@redhat.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1659002009; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=u/XJQwODy29E6FXGz+MBVxx4X7csiXJ0y6QpbKW79o8=; b=WpZZPr2ZXRjukv73YjL9s6QsgWrHtXZsW7lGRUeEIrh+F7ftNB4CYalbh9GpDiX9jmHU5x spFl5g1gCYBnrJGxrFiTYT/Lx6kEhSscfLHw8AzGx/yPx9o52L+lPbYOCQZgFCEQNyE9CN uFXIj+38EMr/R7MhRYwf3DgNJqe2vi8= Received: from mail-vk1-f197.google.com (mail-vk1-f197.google.com [209.85.221.197]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-669-LsZpOkOZNfy0G2_O1DcrwA-1; Thu, 28 Jul 2022 05:53:27 -0400 X-MC-Unique: LsZpOkOZNfy0G2_O1DcrwA-1 Received: by mail-vk1-f197.google.com with SMTP id g22-20020a1f9d16000000b003755972c8faso320703vke.3 for ; Thu, 28 Jul 2022 02:53:27 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=u/XJQwODy29E6FXGz+MBVxx4X7csiXJ0y6QpbKW79o8=; b=Lgr24zeieYIbESWkhuBwgdxi47XMtarmFiEUTbdmLXaHJj8wlBbzydvHg5+SK5L/ao HXpXrdExDgVTHdD8IsVcBSSFW1HjpVvU43dGU2sPH9yWDib3s8e6YJPW2cvMdCXTt6ji Rk/0SlZ6OXPObd45/Hgi5DiaKF28cphJB91CHchw00K17fC+vJIHO0uO1hs3Hn5kKDuY VoNi6gmAh/pe3HH2dfgDeM2Q/2rtCYmMKSWQfrrlhvYTfb1iIOoPUqLlUSK3cRa8Q5c/ LAj11ZR/WUFzKa1D5ZenlGDbm8hvBD6X03Wb+ZWimIkUrXI2D7HCmm1PYcIDqzq5ajlS obxg== X-Gm-Message-State: AJIora+fvghEWrgnNptBRGbNhuYCHXncKPvMTs739QJ7oc5E+VAoqE32 eooYgfk7OCCBuDTf6M/T9/BEULY5g2U4YoNwQvTQLb4Ep1spqPu/RZXee3z4+l8aZ2YA3n54xrD tM/6yexgehp1GbFlAfPlvkKGW/+fD5Q== X-Received: by 2002:a1f:2cc3:0:b0:375:cfd6:d8e3 with SMTP id s186-20020a1f2cc3000000b00375cfd6d8e3mr7846278vks.33.1659002007236; Thu, 28 Jul 2022 02:53:27 -0700 (PDT) X-Google-Smtp-Source: AGRyM1s1wKKSUF6bdZaJoKO8fsmRNW9+GoKktcr5Zv1vlAe/3Ez3t7zNIVuNZT8J1LJraJKj4XC2UMG7Es0xNIKWem8= X-Received: by 2002:a1f:2cc3:0:b0:375:cfd6:d8e3 with SMTP id s186-20020a1f2cc3000000b00375cfd6d8e3mr7846254vks.33.1659002006031; Thu, 28 Jul 2022 02:53:26 -0700 (PDT) MIME-Version: 1.0 References: <20220726072848.640026-1-osteffen@redhat.com> <20220726072848.640026-3-osteffen@redhat.com> In-Reply-To: From: "Oliver Steffen" Date: Thu, 28 Jul 2022 11:53:15 +0200 Message-ID: Subject: Re: [PATCH 2/3] ArmPlatformPkg: PrePeiCore: write early hello message to the serial port To: Sami Mujawar Cc: "devel@edk2.groups.io" , Rebecca Cran , "quic_rcran@quicinc.com" , Ard Biesheuvel , Chasel Chiu , Gerd Hoffmann , Leif Lindholm , Nate DeSimone , Star Zeng , Andrew Fish , Laszlo Ersek , nd Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=osteffen@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/alternative; boundary="00000000000040685905e4da8190" --00000000000040685905e4da8190 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 wrote: > Hi Oliver, > > > > Both your and Rebecca=E2=80=99s patches are using SerialPortWrite() which= should > work regardless of the debug print level and for release builds as well. > > Rebecca=E2=80=99s 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=E2=80=99s patch and check, please? > > Alternatively, I will prepare a setup tomorrow to confirm. > > > > Regards, > > > > Sami Mujawar > > > > *From: *Oliver Steffen > *Date: *Tuesday, 26 July 2022 at 16:50 > *To: *Sami Mujawar > *Cc: *"devel@edk2.groups.io" , Rebecca Cran < > rebecca@bsdio.com>, "quic_rcran@quicinc.com" , > Ard Biesheuvel , Chasel Chiu < > chasel.chiu@intel.com>, Gerd Hoffmann , Leif Lindholm = < > quic_llindhol@quicinc.com>, Nate DeSimone , > Star Zeng , Andrew Fish , Laszlo > Ersek > *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=3D0x80000000, aka a "silent" debug build, and nee= d > 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 > 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" wrote: > > From: Laszlo Ersek > > 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=3D1) default of > PcdEarlyHelloMessage. > > Signed-off-by: Laszlo Ersek > Signed-off-by: Oliver Steffen > --- > 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 > #include > #include > +#include > > #include > #include > 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 th= e > information in any medium. Thank you. > > --00000000000040685905e4da8190 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi = everyone,

<= /div>
I checked Rebec= ca'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,
=C2=A0Oliver

<= div dir=3D"ltr" class=3D"gmail_attr">On Tue, Jul 26, 2022 at 6:22 PM Sami M= ujawar <Sami.Mujawar@arm.com= > wrote:

Hi Oliver,

=C2=A0

Both your and Rebecca=E2=80=99s patches are us= ing SerialPor= tWrite() which should work regardless of the debug print level and for rele= ase builds as well.

Rebecca=E2=80=99s patch additionally initialises the serial port whi= ch is required if the UART has not been setup by any previous firmware.<= /u>

I believe Qemu might handoff with the UART initialised, therefore yo= u might not see the difference. However, this would be required for some ha= rdware platforms.

=C2=A0

I do not have a setup with Qemu ready to try. Is it = possible for you to apply Rebecca=E2=80=99s patch and check, please?=

Alternatively, I will prepare a setup tomorrow to co= nfirm.

=C2=A0

Regards,

=C2=A0

Sami Mujawar

=C2=A0

From: = Oliver Steffen <osteffen@redhat.com<= /a>>
Date: Tuesday, 26 July 2022 at 16:50
To: Sami Mujawar <Sami.Mujawar@arm.com>
Cc: "= devel@edk2.groups.io" <devel@edk2.groups.io>, Rebecca Cran <rebecca@bsdio.com>, &qu= ot;quic_rcran@q= uicinc.com" <quic_rcran@quicinc.com>, Ard Biesheuvel <ardb+tianocore@kernel.= org>, Chasel Chiu <chasel.chiu@intel.com>, Gerd Hoffmann <kraxel@redhat.com>, Leif Lindholm <quic_llindhol@quicinc.com>, Nate DeSimone <nathaniel.l.desimone@i= ntel.com>, Star Zeng <star.zeng@intel.com>, Andrew Fish <afish@apple.com>, Laszlo Ersek = <lersek@redhat.co= m>
Subject: Re: [PATCH 2/3] ArmPlatformPkg: PrePeiCore: write early hel= lo message to the serial port

=C2=A0

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=3D0x80000000, 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,
=C2=A0Oliver

=C2=A0

On Tue, Jul 26, 2022 at 12:42 PM Sami Mujawar <Sami.Mujawar@arm.co= m> 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 pur= pose?

Regards,

Sami Mujawar

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

=C2=A0 =C2=A0 From: Laszlo Ersek <lersek@redhat.com>

=C2=A0 =C2=A0 Print the early hello message to the serial port.

=C2=A0 =C2=A0 The FixedPcdGetSize() macro expands to an integer constant, t= herefore an
=C2=A0 =C2=A0 optimizing compiler can eliminate the new code, if the platfo= rm DSC
=C2=A0 =C2=A0 doesn't override the empty string (size=3D1) default of =C2=A0 =C2=A0 PcdEarlyHelloMessage.

=C2=A0 =C2=A0 Signed-off-by: Laszlo Ersek <lersek@redhat.com>
=C2=A0 =C2=A0 Signed-off-by: Oliver Steffen <osteffen@redhat.com>
=C2=A0 =C2=A0 ---
=C2=A0 =C2=A0 =C2=A0ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf=C2=A0 | = 2 ++
=C2=A0 =C2=A0 =C2=A0ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf | 2 ++<= br> =C2=A0 =C2=A0 =C2=A0ArmPlatformPkg/PrePeiCore/PrePeiCore.h=C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 | 1 +
=C2=A0 =C2=A0 =C2=A0ArmPlatformPkg/PrePeiCore/MainMPCore.c=C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 | 7 +++++++
=C2=A0 =C2=A0 =C2=A0ArmPlatformPkg/PrePeiCore/MainUniCore.c=C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0| 7 +++++++
=C2=A0 =C2=A0 =C2=A05 files changed, 19 insertions(+)

=C2=A0 =C2=A0 diff --git a/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf b= /ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
=C2=A0 =C2=A0 index a5b4722459d1..ea7b220bc831 100644
=C2=A0 =C2=A0 --- a/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
=C2=A0 =C2=A0 +++ b/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
=C2=A0 =C2=A0 @@ -66,6 +66,8 @@ [FixedPcd]
=C2=A0 =C2=A0 =C2=A0 =C2=A0gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStac= kSize
=C2=A0 =C2=A0 =C2=A0 =C2=A0gArmPlatformTokenSpaceGuid.PcdCPUCoreSecondarySt= ackSize

=C2=A0 =C2=A0 +=C2=A0 gArmPlatformTokenSpaceGuid.PcdEarlyHelloMessage
=C2=A0 =C2=A0 +
=C2=A0 =C2=A0 =C2=A0 =C2=A0gArmTokenSpaceGuid.PcdGicDistributorBase
=C2=A0 =C2=A0 =C2=A0 =C2=A0gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase<= br> =C2=A0 =C2=A0 =C2=A0 =C2=A0gArmTokenSpaceGuid.PcdGicSgiIntId
=C2=A0 =C2=A0 diff --git a/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf = b/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
=C2=A0 =C2=A0 index 466a2b01c384..29fb8737cb2f 100644
=C2=A0 =C2=A0 --- a/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
=C2=A0 =C2=A0 +++ b/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
=C2=A0 =C2=A0 @@ -64,4 +64,6 @@ [FixedPcd]
=C2=A0 =C2=A0 =C2=A0 =C2=A0gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStac= kSize
=C2=A0 =C2=A0 =C2=A0 =C2=A0gArmPlatformTokenSpaceGuid.PcdCPUCoreSecondarySt= ackSize

=C2=A0 =C2=A0 +=C2=A0 gArmPlatformTokenSpaceGuid.PcdEarlyHelloMessage
=C2=A0 =C2=A0 +
=C2=A0 =C2=A0 =C2=A0 =C2=A0gEfiMdeModulePkgTokenSpaceGuid.PcdInitValueInTem= pStack
=C2=A0 =C2=A0 diff --git a/ArmPlatformPkg/PrePeiCore/PrePeiCore.h b/ArmPlat= formPkg/PrePeiCore/PrePeiCore.h
=C2=A0 =C2=A0 index 0345dd7bdd2a..ae8302becda2 100644
=C2=A0 =C2=A0 --- a/ArmPlatformPkg/PrePeiCore/PrePeiCore.h
=C2=A0 =C2=A0 +++ b/ArmPlatformPkg/PrePeiCore/PrePeiCore.h
=C2=A0 =C2=A0 @@ -16,6 +16,7 @@
=C2=A0 =C2=A0 =C2=A0#include <Library/DebugLib.h>
=C2=A0 =C2=A0 =C2=A0#include <Library/IoLib.h>
=C2=A0 =C2=A0 =C2=A0#include <Library/PcdLib.h>
=C2=A0 =C2=A0 +#include <Library/SerialPortLib.h>

=C2=A0 =C2=A0 =C2=A0#include <PiPei.h>
=C2=A0 =C2=A0 =C2=A0#include <Ppi/TemporaryRamSupport.h>
=C2=A0 =C2=A0 diff --git a/ArmPlatformPkg/PrePeiCore/MainMPCore.c b/ArmPlat= formPkg/PrePeiCore/MainMPCore.c
=C2=A0 =C2=A0 index b5d0d3a6442f..21c9d5f6da8f 100644
=C2=A0 =C2=A0 --- a/ArmPlatformPkg/PrePeiCore/MainMPCore.c
=C2=A0 =C2=A0 +++ b/ArmPlatformPkg/PrePeiCore/MainMPCore.c
=C2=A0 =C2=A0 @@ -116,6 +116,13 @@ PrimaryMain (
=C2=A0 =C2=A0 =C2=A0 =C2=A0UINTN=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0TemporaryRamBase;
=C2=A0 =C2=A0 =C2=A0 =C2=A0UINTN=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0TemporaryRamSize;

=C2=A0 =C2=A0 +=C2=A0 if (FixedPcdGetSize (PcdEarlyHelloMessage) > 1) {<= br> =C2=A0 =C2=A0 +=C2=A0 =C2=A0 SerialPortWrite (
=C2=A0 =C2=A0 +=C2=A0 =C2=A0 =C2=A0 FixedPcdGetPtr (PcdEarlyHelloMessage),<= br> =C2=A0 =C2=A0 +=C2=A0 =C2=A0 =C2=A0 FixedPcdGetSize (PcdEarlyHelloMessage) = - 1
=C2=A0 =C2=A0 +=C2=A0 =C2=A0 =C2=A0 );
=C2=A0 =C2=A0 +=C2=A0 }
=C2=A0 =C2=A0 +
=C2=A0 =C2=A0 =C2=A0 =C2=A0CreatePpiList (&PpiListSize, &PpiList);<= br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0// Enable the GIC Distributor
=C2=A0 =C2=A0 diff --git a/ArmPlatformPkg/PrePeiCore/MainUniCore.c b/ArmPla= tformPkg/PrePeiCore/MainUniCore.c
=C2=A0 =C2=A0 index 1c2580eb923b..37560540e14f 100644
=C2=A0 =C2=A0 --- a/ArmPlatformPkg/PrePeiCore/MainUniCore.c
=C2=A0 =C2=A0 +++ b/ArmPlatformPkg/PrePeiCore/MainUniCore.c
=C2=A0 =C2=A0 @@ -29,6 +29,13 @@ PrimaryMain (
=C2=A0 =C2=A0 =C2=A0 =C2=A0UINTN=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0TemporaryRamBase;
=C2=A0 =C2=A0 =C2=A0 =C2=A0UINTN=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0TemporaryRamSize;

=C2=A0 =C2=A0 +=C2=A0 if (FixedPcdGetSize (PcdEarlyHelloMessage) > 1) {<= br> =C2=A0 =C2=A0 +=C2=A0 =C2=A0 SerialPortWrite (
=C2=A0 =C2=A0 +=C2=A0 =C2=A0 =C2=A0 FixedPcdGetPtr (PcdEarlyHelloMessage),<= br> =C2=A0 =C2=A0 +=C2=A0 =C2=A0 =C2=A0 FixedPcdGetSize (PcdEarlyHelloMessage) = - 1
=C2=A0 =C2=A0 +=C2=A0 =C2=A0 =C2=A0 );
=C2=A0 =C2=A0 +=C2=A0 }
=C2=A0 =C2=A0 +
=C2=A0 =C2=A0 =C2=A0 =C2=A0CreatePpiList (&PpiListSize, &PpiList);<= br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0// Adjust the Temporary Ram as the new Ppi List = (Common + Platform Ppi Lists) is created at
=C2=A0 =C2=A0 --
=C2=A0 =C2=A0 2.37.1


IMPORTANT NOTICE: The contents of this email and any attachments are confid= ential and may also be privileged. If you are not the intended recipient, p= lease 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.

--00000000000040685905e4da8190--