]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFsp2Pkg/Library/BaseFspCommonLib/FspCommonLib.c
IntelFsp2Pkg: FspSecCore support for X64
[mirror_edk2.git] / IntelFsp2Pkg / Library / BaseFspCommonLib / FspCommonLib.c
index cd10b63c95d35d1debbf3a718df835bab8d014bc..67e08a9e7eb4cb91702266baf5723171bf7e0752 100644 (file)
@@ -1,6 +1,6 @@
 /** @file\r
 \r
 /** @file\r
 \r
-  Copyright (c) 2014 - 2019, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2014 - 2022, Intel Corporation. All rights reserved.<BR>\r
   SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
   SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
@@ -38,7 +38,8 @@ typedef struct {
 } CONTEXT_STACK;\r
 \r
 //\r
 } CONTEXT_STACK;\r
 \r
 //\r
-//   API return address           +0xB0\r
+//   API return address           +0xB8\r
+//   Reserved                     +0xB0\r
 //   push    API Parameter2       +0xA8\r
 //   push    API Parameter1       +0xA0\r
 //   push    FspInfoHeader        +0x98\r
 //   push    API Parameter2       +0xA8\r
 //   push    API Parameter1       +0xA0\r
 //   push    FspInfoHeader        +0x98\r
@@ -54,6 +55,7 @@ typedef struct {
   UINT32    Flags[2];\r
   UINT64    FspInfoHeader;\r
   UINT64    ApiParam[2];\r
   UINT32    Flags[2];\r
   UINT64    FspInfoHeader;\r
   UINT64    ApiParam[2];\r
+  UINT64    Reserved;       // The reserved QWORD is needed for stack alignment in X64.\r
   UINT64    ApiRet;         // 64bit stack format is different from the 32bit one due to x64 calling convention\r
 } CONTEXT_STACK_64;\r
 \r
   UINT64    ApiRet;         // 64bit stack format is different from the 32bit one due to x64 calling convention\r
 } CONTEXT_STACK_64;\r
 \r