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

9fc821
From e6c0f362edd5834b0d891fc44cd6873566bb0df4 Mon Sep 17 00:00:00 2001
9fc821
Message-Id: <e6c0f362edd5834b0d891fc44cd6873566bb0df4.1534970217.git.crobinso@redhat.com>
9fc821
In-Reply-To: <37942481c89eca732239c23fe606680e6e3faf77.1534970217.git.crobinso@redhat.com>
9fc821
References: <37942481c89eca732239c23fe606680e6e3faf77.1534970217.git.crobinso@redhat.com>
Paolo Bonzini 348500
From: Laszlo Ersek <lersek@redhat.com>
Paolo Bonzini 348500
Date: Wed, 14 Oct 2015 13:59:20 +0200
9fc821
Subject: [PATCH 15/17] ArmPlatformPkg: PrePeiCore: write early hello message
Paolo Bonzini 7ae6f1
 to the serial port (RH)
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
Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
Paolo Bonzini 348500
Paolo Bonzini 348500
- no changes
Paolo Bonzini 348500
Paolo Bonzini 348500
Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase:
Paolo Bonzini 348500
Paolo Bonzini 348500
- no changes
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)
Paolo Bonzini 7ae6f1
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
9fc821
Signed-off-by: Cole Robinson <crobinso@redhat.com>
Paolo Bonzini 348500
---
Paolo Bonzini 348500
 ArmPlatformPkg/PrePeiCore/MainMPCore.c          | 5 +++++
Paolo Bonzini 348500
 ArmPlatformPkg/PrePeiCore/MainUniCore.c         | 5 +++++
Paolo Bonzini 348500
 ArmPlatformPkg/PrePeiCore/PrePeiCore.h          | 1 +
Paolo Bonzini 348500
 ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf  | 2 ++
Paolo Bonzini 348500
 ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf | 2 ++
Paolo Bonzini 348500
 5 files changed, 15 insertions(+)
Paolo Bonzini 348500
Paolo Bonzini 348500
diff --git a/ArmPlatformPkg/PrePeiCore/MainMPCore.c b/ArmPlatformPkg/PrePeiCore/MainMPCore.c
9fc821
index dc47adbaff..cbd72232c7 100644
Paolo Bonzini 348500
--- a/ArmPlatformPkg/PrePeiCore/MainMPCore.c
Paolo Bonzini 348500
+++ b/ArmPlatformPkg/PrePeiCore/MainMPCore.c
Paolo Bonzini 348500
@@ -117,6 +117,11 @@ PrimaryMain (
Paolo Bonzini 348500
   UINTN                       TemporaryRamBase;
Paolo Bonzini 348500
   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
9fc821
index 134a469427..af39fc017c 100644
Paolo Bonzini 348500
--- a/ArmPlatformPkg/PrePeiCore/MainUniCore.c
Paolo Bonzini 348500
+++ b/ArmPlatformPkg/PrePeiCore/MainUniCore.c
Paolo Bonzini 348500
@@ -35,6 +35,11 @@ PrimaryMain (
Paolo Bonzini 348500
   UINTN                       TemporaryRamBase;
Paolo Bonzini 348500
   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
Paolo Bonzini 348500
diff --git a/ArmPlatformPkg/PrePeiCore/PrePeiCore.h b/ArmPlatformPkg/PrePeiCore/PrePeiCore.h
9fc821
index 160894620c..bf843d7768 100644
Paolo Bonzini 348500
--- a/ArmPlatformPkg/PrePeiCore/PrePeiCore.h
Paolo Bonzini 348500
+++ b/ArmPlatformPkg/PrePeiCore/PrePeiCore.h
Paolo Bonzini 348500
@@ -21,6 +21,7 @@
Paolo Bonzini 348500
 #include <Library/DebugLib.h>
Paolo Bonzini 348500
 #include <Library/IoLib.h>
Paolo Bonzini 348500
 #include <Library/PcdLib.h>
Paolo Bonzini 348500
+#include <Library/SerialPortLib.h>
Paolo Bonzini 348500
 
Paolo Bonzini 348500
 #include <PiPei.h>
Paolo Bonzini 348500
 #include <Ppi/TemporaryRamSupport.h>
Paolo Bonzini 348500
diff --git a/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf b/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
9fc821
index e3a31fa7c6..1bc0c45420 100644
Paolo Bonzini 348500
--- a/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
Paolo Bonzini 348500
+++ b/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
Paolo Bonzini 348500
@@ -72,6 +72,8 @@
Paolo Bonzini 348500
   gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize
Paolo Bonzini 348500
   gArmPlatformTokenSpaceGuid.PcdCPUCoreSecondaryStackSize
Paolo Bonzini 348500
 
Paolo Bonzini 348500
+  gArmPlatformTokenSpaceGuid.PcdEarlyHelloMessage
Paolo Bonzini 348500
+
Paolo Bonzini 348500
   gArmTokenSpaceGuid.PcdGicDistributorBase
Paolo Bonzini 348500
   gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase
Paolo Bonzini 348500
   gArmTokenSpaceGuid.PcdGicSgiIntId
Paolo Bonzini 348500
diff --git a/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf b/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
9fc821
index ec83cec2d8..20698fcfac 100644
Paolo Bonzini 348500
--- a/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
Paolo Bonzini 348500
+++ b/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
Paolo Bonzini 7ae6f1
@@ -71,3 +71,5 @@
Paolo Bonzini 348500
   gArmPlatformTokenSpaceGuid.PcdCPUCoreSecondaryStackSize
Paolo Bonzini 7ae6f1
 
Paolo Bonzini 7ae6f1
   gEfiMdeModulePkgTokenSpaceGuid.PcdInitValueInTempStack
Paolo Bonzini 348500
+
Paolo Bonzini 348500
+  gArmPlatformTokenSpaceGuid.PcdEarlyHelloMessage
Paolo Bonzini 348500
-- 
9fc821
2.17.1
Paolo Bonzini 348500