Revision: 18991
          http://sourceforge.net/p/edk2/code/18991
Author:   abiesheuvel
Date:     2015-11-27 17:06:48 +0000 (Fri, 27 Nov 2015)
Log Message:
-----------
ArmVirtPkg/PrePi: remove global variable allocation from lowlevel init

Now that we dropped all ArmPlatformGlobalVariableLib dependencies,
there is no longer a need to allocate and clear out the global
variable region in the PrePi init code. So remove it.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <[email protected]>
Acked-by: Laszlo Ersek <[email protected]>
Reviewed-by: Leif Lindholm <[email protected]>

Modified Paths:
--------------
    trunk/edk2/ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S
    trunk/edk2/ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf
    trunk/edk2/ArmVirtPkg/PrePi/PrePi.c
    trunk/edk2/ArmVirtPkg/PrePi/PrePi.h

Modified: trunk/edk2/ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S
===================================================================
--- trunk/edk2/ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S      2015-11-27 
17:06:37 UTC (rev 18990)
+++ trunk/edk2/ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S      2015-11-27 
17:06:48 UTC (rev 18991)
@@ -158,16 +158,10 @@
   cmp   x0, #1
   bne   _PrepareArguments
 
-_ReserveGlobalVariable:
-  LoadConstantToReg (FixedPcdGet32(PcdPeiGlobalVariableSize), x0)
-  // InitializePrimaryStack($GlobalVariableSize, $Tmp1, $Tmp2)
-  InitializePrimaryStack(x0, x1, x2)
-
 _PrepareArguments:
   mov   x0, x10
   mov   x1, x11
   mov   x2, x12
-  mov   x3, sp
 
   // Move sec startup address into a data register
   // Ensure we're jumping to FV version of the code (not boot remapped alias)
@@ -177,7 +171,6 @@
   //    x0 = MpId
   //    x1 = UefiMemoryBase
   //    x2 = StacksBase
-  //    x3 = GlobalVariableBase
   blr   x4
 
 _NeverReturn:

Modified: trunk/edk2/ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf
===================================================================
--- trunk/edk2/ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf      
2015-11-27 17:06:37 UTC (rev 18990)
+++ trunk/edk2/ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf      
2015-11-27 17:06:48 UTC (rev 18991)
@@ -61,7 +61,6 @@
   gArmMpCoreInfoPpiGuid
 
 [Guids]
-  gArmGlobalVariableGuid
   gArmMpCoreInfoGuid
 
 [FeaturePcd]
@@ -79,8 +78,6 @@
   gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize
   gArmPlatformTokenSpaceGuid.PcdCPUCoreSecondaryStackSize
 
-  gArmPlatformTokenSpaceGuid.PcdPeiGlobalVariableSize
-
   gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize
 
   gArmPlatformTokenSpaceGuid.PcdCoreCount

Modified: trunk/edk2/ArmVirtPkg/PrePi/PrePi.c
===================================================================
--- trunk/edk2/ArmVirtPkg/PrePi/PrePi.c 2015-11-27 17:06:37 UTC (rev 18990)
+++ trunk/edk2/ArmVirtPkg/PrePi/PrePi.c 2015-11-27 17:06:48 UTC (rev 18991)
@@ -25,14 +25,10 @@
 #include <Ppi/GuidedSectionExtraction.h>
 #include <Ppi/ArmMpCoreInfo.h>
 #include <Guid/LzmaDecompress.h>
-#include <Guid/ArmGlobalVariableHob.h>
 
 #include "PrePi.h"
 #include "LzmaDecompress.h"
 
-// Not used when PrePi in run in XIP mode
-UINTN mGlobalVariableBase = 0;
-
 EFI_STATUS
 EFIAPI
 ExtractGuidedSectionLibConstructor (
@@ -45,23 +41,6 @@
   VOID
   );
 
-VOID
-EFIAPI
-BuildGlobalVariableHob (
-  IN EFI_PHYSICAL_ADDRESS         GlobalVariableBase,
-  IN UINT32                       GlobalVariableSize
-  )
-{
-  ARM_HOB_GLOBAL_VARIABLE  *Hob;
-
-  Hob = CreateHob (EFI_HOB_TYPE_GUID_EXTENSION, sizeof 
(ARM_HOB_GLOBAL_VARIABLE));
-  ASSERT(Hob != NULL);
-
-  CopyGuid (&(Hob->Header.Name), &gArmGlobalVariableGuid);
-  Hob->GlobalVariableBase = GlobalVariableBase;
-  Hob->GlobalVariableSize = GlobalVariableSize;
-}
-
 EFI_STATUS
 GetPlatformPpi (
   IN  EFI_GUID  *PpiGuid,
@@ -90,7 +69,6 @@
 PrePiMain (
   IN  UINTN                     UefiMemoryBase,
   IN  UINTN                     StacksBase,
-  IN  UINTN                     GlobalVariableBase,
   IN  UINT64                    StartTimeStamp
   )
 {
@@ -133,9 +111,6 @@
   StacksSize = PcdGet32 (PcdCPUCorePrimaryStackSize);
   BuildStackHob (StacksBase, StacksSize);
 
-  // Declare the Global Variable HOB
-  BuildGlobalVariableHob (GlobalVariableBase, FixedPcdGet32 
(PcdPeiGlobalVariableSize));
-
   //TODO: Call CpuPei as a library
   BuildCpuHob (PcdGet8 (PcdPrePiCpuMemorySize), PcdGet8 (PcdPrePiCpuIoSize));
 
@@ -174,8 +149,7 @@
 CEntryPoint (
   IN  UINTN                     MpId,
   IN  UINTN                     UefiMemoryBase,
-  IN  UINTN                     StacksBase,
-  IN  UINTN                     GlobalVariableBase
+  IN  UINTN                     StacksBase
   )
 {
   UINT64   StartTimeStamp;
@@ -199,11 +173,8 @@
   // Enable Instruction Caches on all cores.
   ArmEnableInstructionCache ();
 
-  // Define the Global Variable region
-  mGlobalVariableBase = GlobalVariableBase;
+  PrePiMain (UefiMemoryBase, StacksBase, StartTimeStamp);
 
-  PrePiMain (UefiMemoryBase, StacksBase, GlobalVariableBase, StartTimeStamp);
-
   // DXE Core should always load and never return
   ASSERT (FALSE);
 }

Modified: trunk/edk2/ArmVirtPkg/PrePi/PrePi.h
===================================================================
--- trunk/edk2/ArmVirtPkg/PrePi/PrePi.h 2015-11-27 17:06:37 UTC (rev 18990)
+++ trunk/edk2/ArmVirtPkg/PrePi/PrePi.h 2015-11-27 17:06:48 UTC (rev 18991)
@@ -41,7 +41,6 @@
 PrePiMain (
   IN  UINTN                     UefiMemoryBase,
   IN  UINTN                     StacksBase,
-  IN  UINTN                     GlobalVariableBase,
   IN  UINT64                    StartTimeStamp
   );
 


------------------------------------------------------------------------------
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to