IN CONST EFI_PEI_SERVICES **PeiServices\r
)\r
{\r
- EFI_STATUS Status;\r
- PEI_CPU_MP_DATA *PeiCpuMpData;\r
+ EFI_STATUS Status;\r
+ PEI_CPU_MP_DATA *PeiCpuMpData;\r
+ EFI_VECTOR_HANDOFF_INFO *VectorInfo;\r
+ EFI_PEI_VECTOR_HANDOFF_INFO_PPI *VectorHandoffInfoPpi;\r
\r
//\r
// Load new GDT table on BSP\r
//\r
AsmInitializeGdt (&mGdt);\r
//\r
+ // Get Vector Hand-off Info PPI\r
+ //\r
+ VectorInfo = NULL;\r
+ Status = PeiServicesLocatePpi (\r
+ &gEfiVectorHandoffInfoPpiGuid,\r
+ 0,\r
+ NULL,\r
+ (VOID **)&VectorHandoffInfoPpi\r
+ );\r
+ if (Status == EFI_SUCCESS) {\r
+ VectorInfo = VectorHandoffInfoPpi->Info;\r
+ }\r
+ Status = InitializeCpuExceptionHandlers (VectorInfo);\r
+ ASSERT_EFI_ERROR (Status);\r
+ //\r
// Get wakeup buffer and copy AP reset code in it\r
//\r
PeiCpuMpData = PrepareAPStartupVector ();\r