audk/IntelFsp2Pkg/FspSecCore
Chasel Chiu 520a1e60de IntelFsp2Pkg: PeiService pointer not reset to 0 in SecMain
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2018

Current FSP SEC_IDT_TABLE structure is not natural aligned:
  typedef struct _SEC_IDT_TABLE {
    EFI_PEI_SERVICES  *PeiService;
    UINT64            IdtTable[];
  } SEC_IDT_TABLE;
Compiler will insert DWORD padding between 2 elements and
GetPeiServicesTablePointer() in early phase then always
returns padding data from stack, which was not reset to 0
in SecMain.

Solution is to align FSP SEC_IDT_TABLE structure to UefiCpuPkg
to have UINT64 as PeiService field and reset it to 0.

Test: Verified on internal platform and booting successfully
      with FSP API mode.

Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Signed-off-by: Chasel Chiu <chasel.chiu@intel.com>
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
2019-07-26 09:47:27 +08:00
..
Ia32 IntelFsp2Pkg: Fix various typos 2019-07-11 21:07:17 +08:00
Vtf0 IntelFsp2Pkg: Fix various typos 2019-07-11 21:07:17 +08:00
FspSecCoreM.inf IntelFsp2Pkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:03 -07:00
FspSecCoreS.inf IntelFsp2Pkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:03 -07:00
FspSecCoreT.inf IntelFsp2Pkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:03 -07:00
SecFsp.c IntelFsp2Pkg: Fix various typos 2019-07-11 21:07:17 +08:00
SecFsp.h IntelFsp2Pkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:03 -07:00
SecFspApiChk.c IntelFsp2Pkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:03 -07:00
SecMain.c IntelFsp2Pkg: PeiService pointer not reset to 0 in SecMain 2019-07-26 09:47:27 +08:00
SecMain.h IntelFsp2Pkg: PeiService pointer not reset to 0 in SecMain 2019-07-26 09:47:27 +08:00