From 65ab4e73b66b029b8a8ccdb5212c1bafe2539c53 Mon Sep 17 00:00:00 2001 From: Jeff Fan Date: Tue, 24 May 2016 21:42:19 +0800 Subject: UefiCpuPkg/CpuMpPei: Consume CpuExceptionHandlerLib Cc: Michael Kinney Cc: Jiewen Yao Cc: Feng Tian Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Fan Reviewed-by: Feng Tian (cherry picked from commit 9bedfb2f5b23c68c600770a9f853092d01eab6d4) --- UefiCpuPkg/CpuMpPei/CpuMpPei.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'UefiCpuPkg/CpuMpPei/CpuMpPei.c') diff --git a/UefiCpuPkg/CpuMpPei/CpuMpPei.c b/UefiCpuPkg/CpuMpPei/CpuMpPei.c index 9da1b64732..bccff24cc1 100644 --- a/UefiCpuPkg/CpuMpPei/CpuMpPei.c +++ b/UefiCpuPkg/CpuMpPei/CpuMpPei.c @@ -852,14 +852,31 @@ CpuMpPeimInit ( IN CONST EFI_PEI_SERVICES **PeiServices ) { - EFI_STATUS Status; - PEI_CPU_MP_DATA *PeiCpuMpData; + EFI_STATUS Status; + PEI_CPU_MP_DATA *PeiCpuMpData; + EFI_VECTOR_HANDOFF_INFO *VectorInfo; + EFI_PEI_VECTOR_HANDOFF_INFO_PPI *VectorHandoffInfoPpi; // // Load new GDT table on BSP // AsmInitializeGdt (&mGdt); // + // Get Vector Hand-off Info PPI + // + VectorInfo = NULL; + Status = PeiServicesLocatePpi ( + &gEfiVectorHandoffInfoPpiGuid, + 0, + NULL, + (VOID **)&VectorHandoffInfoPpi + ); + if (Status == EFI_SUCCESS) { + VectorInfo = VectorHandoffInfoPpi->Info; + } + Status = InitializeCpuExceptionHandlers (VectorInfo); + ASSERT_EFI_ERROR (Status); + // // Get wakeup buffer and copy AP reset code in it // PeiCpuMpData = PrepareAPStartupVector (); -- cgit v1.2.3