Blame 0010-ArmPlatformPkg-PrePeiCore-write-early-hello-message-.patch

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