Blame SOURCES/0018-ArmPlatformPkg-PrePeiCore-write-early-hello-message-.patch

c4e3b2
From e46d1e3f4c9b301acfa15fa4089661947e8742a4 Mon Sep 17 00:00:00 2001
c4e3b2
From: Laszlo Ersek <lersek@redhat.com>
c4e3b2
Date: Wed, 14 Oct 2015 13:59:20 +0200
c4e3b2
Subject: ArmPlatformPkg: PrePeiCore: write early hello message to the serial
c4e3b2
 port (RH)
c4e3b2
c4e3b2
Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
c4e3b2
RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
c4e3b2
c4e3b2
- no change
c4e3b2
c4e3b2
Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
c4e3b2
RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
c4e3b2
c4e3b2
- no change
c4e3b2
c4e3b2
Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
c4e3b2
RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
c4e3b2
c4e3b2
- no change
c4e3b2
c4e3b2
Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
c4e3b2
RHEL-8.1/20190308-89910a39dcfd rebase:
c4e3b2
c4e3b2
- no change
c4e3b2
c4e3b2
Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
c4e3b2
RHEL-8.0/20180508-ee3198e672e2 rebase:
c4e3b2
c4e3b2
- reorder the rebase changelog in the commit message so that it reads like
c4e3b2
  a blog: place more recent entries near the top
c4e3b2
- no changes to the patch body
c4e3b2
c4e3b2
Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
c4e3b2
c4e3b2
- adapt to upstream commit 7e2a8dfe8a9a ("ArmPlatformPkg/PrePeiCore: seed
c4e3b2
  temporary stack before entering PEI core", 2017-11-09) -- conflict
c4e3b2
  resolution in "ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf"
c4e3b2
c4e3b2
Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase:
c4e3b2
c4e3b2
- no changes
c4e3b2
c4e3b2
Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
c4e3b2
c4e3b2
- no changes
c4e3b2
c4e3b2
The FixedPcdGetSize() macro expands to an integer constant, therefore an
c4e3b2
optimizing compiler can eliminate the new code, if the platform DSC
c4e3b2
doesn't override the empty string (size=1) default of
c4e3b2
PcdEarlyHelloMessage.
c4e3b2
c4e3b2
RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1270279
c4e3b2
Downstream only:
c4e3b2
<http://thread.gmane.org/gmane.comp.bios.edk2.devel/2996/focus=3433>.
c4e3b2
c4e3b2
Contributed-under: TianoCore Contribution Agreement 1.0
c4e3b2
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
c4e3b2
(cherry picked from commit b16c4c505ce0e27305235533eac9236aa66f132e)
c4e3b2
(cherry picked from commit 742e5bf6d5ce5a1e73879d6e5c0dd00feda7a9ac)
c4e3b2
(cherry picked from commit 93d69eb9393cf05af90676253875c59c1bec67fd)
c4e3b2
(cherry picked from commit 638594083b191f84f5d9333eb6147a31570f5a5a)
c4e3b2
(cherry picked from commit f4b7aae411d88b2b83f85d20ef06a4032a57e7de)
c4e3b2
(cherry picked from commit bb71490fdda3b38fa9f071d281b863f9b64363bf)
c4e3b2
(cherry picked from commit 8d5a8827aabc67cb2a046697e1a750ca8d9cc453)
c4e3b2
(cherry picked from commit 49fe5596cd79c94d903c4d506c563d642ccd69aa)
c4e3b2
---
c4e3b2
 ArmPlatformPkg/PrePeiCore/MainMPCore.c          | 5 +++++
c4e3b2
 ArmPlatformPkg/PrePeiCore/MainUniCore.c         | 5 +++++
c4e3b2
 ArmPlatformPkg/PrePeiCore/PrePeiCore.h          | 1 +
c4e3b2
 ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf  | 2 ++
c4e3b2
 ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf | 2 ++
c4e3b2
 5 files changed, 15 insertions(+)
c4e3b2
c4e3b2
diff --git a/ArmPlatformPkg/PrePeiCore/MainMPCore.c b/ArmPlatformPkg/PrePeiCore/MainMPCore.c
c4e3b2
index 859f1adf20..cf9e65bb7c 100644
c4e3b2
--- a/ArmPlatformPkg/PrePeiCore/MainMPCore.c
c4e3b2
+++ b/ArmPlatformPkg/PrePeiCore/MainMPCore.c
c4e3b2
@@ -111,6 +111,11 @@ PrimaryMain (
c4e3b2
   UINTN                       TemporaryRamBase;
c4e3b2
   UINTN                       TemporaryRamSize;
c4e3b2
 
c4e3b2
+  if (FixedPcdGetSize (PcdEarlyHelloMessage) > 1) {
c4e3b2
+    SerialPortWrite (FixedPcdGetPtr (PcdEarlyHelloMessage),
c4e3b2
+      FixedPcdGetSize (PcdEarlyHelloMessage) - 1);
c4e3b2
+  }
c4e3b2
+
c4e3b2
   CreatePpiList (&PpiListSize, &PpiList);
c4e3b2
 
c4e3b2
   // Enable the GIC Distributor
c4e3b2
diff --git a/ArmPlatformPkg/PrePeiCore/MainUniCore.c b/ArmPlatformPkg/PrePeiCore/MainUniCore.c
c4e3b2
index 220f9b5680..158cc34c77 100644
c4e3b2
--- a/ArmPlatformPkg/PrePeiCore/MainUniCore.c
c4e3b2
+++ b/ArmPlatformPkg/PrePeiCore/MainUniCore.c
c4e3b2
@@ -29,6 +29,11 @@ PrimaryMain (
c4e3b2
   UINTN                       TemporaryRamBase;
c4e3b2
   UINTN                       TemporaryRamSize;
c4e3b2
 
c4e3b2
+  if (FixedPcdGetSize (PcdEarlyHelloMessage) > 1) {
c4e3b2
+    SerialPortWrite (FixedPcdGetPtr (PcdEarlyHelloMessage),
c4e3b2
+      FixedPcdGetSize (PcdEarlyHelloMessage) - 1);
c4e3b2
+  }
c4e3b2
+
c4e3b2
   CreatePpiList (&PpiListSize, &PpiList);
c4e3b2
 
c4e3b2
   // Adjust the Temporary Ram as the new Ppi List (Common + Platform Ppi Lists) is created at
c4e3b2
diff --git a/ArmPlatformPkg/PrePeiCore/PrePeiCore.h b/ArmPlatformPkg/PrePeiCore/PrePeiCore.h
c4e3b2
index 7b155a8a61..e9e283f9ec 100644
c4e3b2
--- a/ArmPlatformPkg/PrePeiCore/PrePeiCore.h
c4e3b2
+++ b/ArmPlatformPkg/PrePeiCore/PrePeiCore.h
c4e3b2
@@ -15,6 +15,7 @@
c4e3b2
 #include <Library/DebugLib.h>
c4e3b2
 #include <Library/IoLib.h>
c4e3b2
 #include <Library/PcdLib.h>
c4e3b2
+#include <Library/SerialPortLib.h>
c4e3b2
 
c4e3b2
 #include <PiPei.h>
c4e3b2
 #include <Ppi/TemporaryRamSupport.h>
c4e3b2
diff --git a/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf b/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
c4e3b2
index fb01dd1a11..a6681c1032 100644
c4e3b2
--- a/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
c4e3b2
+++ b/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
c4e3b2
@@ -69,6 +69,8 @@
c4e3b2
   gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize
c4e3b2
   gArmPlatformTokenSpaceGuid.PcdCPUCoreSecondaryStackSize
c4e3b2
 
c4e3b2
+  gArmPlatformTokenSpaceGuid.PcdEarlyHelloMessage
c4e3b2
+
c4e3b2
   gArmTokenSpaceGuid.PcdGicDistributorBase
c4e3b2
   gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase
c4e3b2
   gArmTokenSpaceGuid.PcdGicSgiIntId
c4e3b2
diff --git a/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf b/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
c4e3b2
index e9eb092d3a..c98dc82f0c 100644
c4e3b2
--- a/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
c4e3b2
+++ b/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
c4e3b2
@@ -67,4 +67,6 @@
c4e3b2
   gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize
c4e3b2
   gArmPlatformTokenSpaceGuid.PcdCPUCoreSecondaryStackSize
c4e3b2
 
c4e3b2
+  gArmPlatformTokenSpaceGuid.PcdEarlyHelloMessage
c4e3b2
+
c4e3b2
   gEfiMdeModulePkgTokenSpaceGuid.PcdInitValueInTempStack
c4e3b2
-- 
c4e3b2
2.27.0
c4e3b2