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

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