|
|
0a0d66 |
From a1a8063454f467d4e3c696ea476ed4ba42a6fbed 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
|
|
|
294170 |
Subject: [PATCH] ArmPlatformPkg: PrePeiCore: write early hello message to the
|
|
|
294170 |
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>
|
|
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
|
|
|
740797 |
index d379ad8b7a..ff1672f94d 100644
|
|
Paolo Bonzini |
348500 |
--- a/ArmPlatformPkg/PrePeiCore/MainMPCore.c
|
|
Paolo Bonzini |
348500 |
+++ b/ArmPlatformPkg/PrePeiCore/MainMPCore.c
|
|
|
740797 |
@@ -111,6 +111,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
|
|
|
740797 |
index 1500d2bd51..5b0790beac 100644
|
|
Paolo Bonzini |
348500 |
--- a/ArmPlatformPkg/PrePeiCore/MainUniCore.c
|
|
Paolo Bonzini |
348500 |
+++ b/ArmPlatformPkg/PrePeiCore/MainUniCore.c
|
|
|
740797 |
@@ -29,6 +29,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
|
|
|
740797 |
index 7140c7f5b5..1d69a2b468 100644
|
|
Paolo Bonzini |
348500 |
--- a/ArmPlatformPkg/PrePeiCore/PrePeiCore.h
|
|
Paolo Bonzini |
348500 |
+++ b/ArmPlatformPkg/PrePeiCore/PrePeiCore.h
|
|
|
740797 |
@@ -15,6 +15,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
|
|
|
0a0d66 |
index 104c7da533..13955372ba 100644
|
|
Paolo Bonzini |
348500 |
--- a/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
|
|
Paolo Bonzini |
348500 |
+++ b/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
|
|
|
0a0d66 |
@@ -68,6 +68,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
|
|
|
0a0d66 |
index ceb173d34f..330a32f09a 100644
|
|
Paolo Bonzini |
348500 |
--- a/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
|
|
Paolo Bonzini |
348500 |
+++ b/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
|
|
|
0a0d66 |
@@ -67,3 +67,5 @@
|
|
Paolo Bonzini |
348500 |
gArmPlatformTokenSpaceGuid.PcdCPUCoreSecondaryStackSize
|
|
Paolo Bonzini |
7ae6f1 |
|
|
Paolo Bonzini |
7ae6f1 |
gEfiMdeModulePkgTokenSpaceGuid.PcdInitValueInTempStack
|
|
Paolo Bonzini |
348500 |
+
|
|
Paolo Bonzini |
348500 |
+ gArmPlatformTokenSpaceGuid.PcdEarlyHelloMessage
|