]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFsp2WrapperPkg/Library/SecFspWrapperPlatformSecLibSample/SecRamInitData.c
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / IntelFsp2WrapperPkg / Library / SecFspWrapperPlatformSecLibSample / SecRamInitData.c
index e2fbc4510f879cfc6cfde5334fdac442b14d6f28..fb0d9a8683a956ca923fab0d7675225e956cd5af 100644 (file)
@@ -1,14 +1,8 @@
 /** @file\r
   Sample to provide TempRamInitParams data.\r
 \r
-  Copyright (c) 2014 - 2016, Intel Corporation. All rights reserved.<BR>\r
-  This program and the accompanying materials\r
-  are licensed and made available under the terms and conditions of the BSD License\r
-  which accompanies this distribution.  The full text of the license may be found at\r
-  http://opensource.org/licenses/bsd-license.php.\r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+  Copyright (c) 2014 - 2022, Intel Corporation. All rights reserved.<BR>\r
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
 \r
 #include <FspEas.h>\r
 \r
 typedef struct {\r
-  UINT32                      MicrocodeRegionBase;\r
-  UINT32                      MicrocodeRegionSize;\r
-  UINT32                      CodeRegionBase;\r
-  UINT32                      CodeRegionSize;\r
+  EFI_PHYSICAL_ADDRESS    MicrocodeRegionBase;\r
+  UINT64                  MicrocodeRegionSize;\r
+  EFI_PHYSICAL_ADDRESS    CodeRegionBase;\r
+  UINT64                  CodeRegionSize;\r
 } FSPT_CORE_UPD;\r
 \r
 typedef struct {\r
   FSP_UPD_HEADER    FspUpdHeader;\r
+  //\r
+  // If FSP spec version < 2.2, remove FSPT_ARCH_UPD structure.\r
+  // Else If FSP spec version >= 2.2 and FSP spec version < 2.4, use FSPT_ARCH_UPD structure.\r
+  // Else, use FSPT_ARCH2_UPD structure.\r
+  //\r
+  FSPT_ARCH2_UPD    FsptArchUpd;\r
   FSPT_CORE_UPD     FsptCoreUpd;\r
 } FSPT_UPD_CORE_DATA;\r
 \r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST FSPT_UPD_CORE_DATA FsptUpdDataPtr = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST FSPT_UPD_CORE_DATA  FsptUpdDataPtr = {\r
   {\r
     0x4450555F54505346,\r
-    0x00,\r
+    //\r
+    // UPD header revision must be equal or greater than 2 when the structure is compliant with FSP spec 2.2.\r
+    //\r
+    0x02,\r
     { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\r
+      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }\r
+  },\r
+  //\r
+  // If FSP spec version < 2.2, remove FSPT_ARCH_UPD structure.\r
+  // Else If FSP spec version >= 2.2 and FSP spec version < 2.4, use FSPT_ARCH_UPD structure.\r
+  // Else, use FSPT_ARCH2_UPD structure.\r
+  //\r
+  {\r
+    0x02,\r
+    {\r
+      0x00, 0x00, 0x00\r
+    },\r
+    0x00000020,\r
+    0x00000000,\r
+    {\r
+      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
+      0x00, 0x00, 0x00, 0x00, 0x00, 0x00\r
     }\r
   },\r
   {\r
-    ((UINT32)FixedPcdGet64 (PcdCpuMicrocodePatchAddress) + FixedPcdGet32 (PcdFlashMicrocodeOffset)),\r
-    ((UINT32)FixedPcdGet64 (PcdCpuMicrocodePatchRegionSize) - FixedPcdGet32 (PcdFlashMicrocodeOffset)),\r
+    FixedPcdGet32 (PcdCpuMicrocodePatchAddress),\r
+    FixedPcdGet32 (PcdCpuMicrocodePatchRegionSize),\r
     FixedPcdGet32 (PcdFlashCodeCacheAddress),\r
     FixedPcdGet32 (PcdFlashCodeCacheSize),\r
   }\r
 };\r
-\r