]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/RiscVVirt/Sec/SecMain.c
OvmfPkg/RiscVVirt: Add Stack HOB
[mirror_edk2.git] / OvmfPkg / RiscVVirt / Sec / SecMain.c
index 73b9b21a67baf53d1e1096c7c03d79e3bcb88e23..adf73f2eb66c7d6d8da5ac88192ec972b52ce338 100644 (file)
@@ -55,6 +55,7 @@ SecStartup (
   EFI_STATUS                  Status;\r
   UINT64                      UefiMemoryBase;\r
   UINT64                      StackBase;\r
+  UINT32                      StackSize;\r
 \r
   //\r
   // Report Status Code to indicate entering SEC core\r
@@ -71,9 +72,9 @@ SecStartup (
   FirmwareContext.FlattenedDeviceTree = (UINT64)DeviceTreeAddress;\r
   SetFirmwareContextPointer (&FirmwareContext);\r
 \r
-  StackBase = (UINT64)FixedPcdGet32 (PcdOvmfSecPeiTempRamBase) +\r
-              FixedPcdGet32 (PcdOvmfSecPeiTempRamSize);\r
-  UefiMemoryBase = StackBase - SIZE_32MB;\r
+  StackBase      = (UINT64)FixedPcdGet32 (PcdOvmfSecPeiTempRamBase);\r
+  StackSize      = FixedPcdGet32 (PcdOvmfSecPeiTempRamSize);\r
+  UefiMemoryBase = StackBase + StackSize - SIZE_32MB;\r
 \r
   // Declare the PI/UEFI memory region\r
   HobList = HobConstructor (\r
@@ -86,6 +87,8 @@ SecStartup (
 \r
   SecInitializePlatform ();\r
 \r
+  BuildStackHob (StackBase, StackSize);\r
+\r
   //\r
   // Process all libraries constructor function linked to SecMain.\r
   //\r