render / rpms / edk2

Forked from rpms/edk2 2 months ago
Clone

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

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