From 4a50c2728540b9c487c9eccf19548f5322851212 Mon Sep 17 00:00:00 2001 From: Chen Fan Date: Thu, 13 Nov 2014 18:30:18 +0000 Subject: UefiCpuPkg/CpuDxe: install Mp Service protocol Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Chen Fan Reviewed-by: Jeff Fan git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16371 6f19259b-4bc3-4df7-8a09-765794883524 --- UefiCpuPkg/CpuDxe/CpuMp.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'UefiCpuPkg/CpuDxe') diff --git a/UefiCpuPkg/CpuDxe/CpuMp.c b/UefiCpuPkg/CpuDxe/CpuMp.c index 2bc9f70bbb..f864de1f6f 100644 --- a/UefiCpuPkg/CpuDxe/CpuMp.c +++ b/UefiCpuPkg/CpuDxe/CpuMp.c @@ -20,6 +20,7 @@ UINTN gApStackSize; UINTN gPollInterval = 100; // 100 microseconds MP_SYSTEM_DATA mMpSystemData; +EFI_HANDLE mMpServiceHandle = NULL; VOID *mCommonStack = 0; VOID *mTopOfApCommonStack = 0; @@ -1472,6 +1473,8 @@ InitializeMpSupport ( VOID ) { + EFI_STATUS Status; + gMaxLogicalProcessorNumber = (UINTN) PcdGet32 (PcdCpuMaxLogicalProcessorNumber); if (gMaxLogicalProcessorNumber < 1) { DEBUG ((DEBUG_ERROR, "Setting PcdCpuMaxLogicalProcessorNumber should be more than zero.\n")); @@ -1516,6 +1519,13 @@ InitializeMpSupport ( mAPsAlreadyInitFinished = TRUE; + Status = gBS->InstallMultipleProtocolInterfaces ( + &mMpServiceHandle, + &gEfiMpServiceProtocolGuid, &mMpServicesTemplate, + NULL + ); + ASSERT_EFI_ERROR (Status); + if (mMpSystemData.NumberOfProcessors < gMaxLogicalProcessorNumber) { FreePages (mApStackStart, EFI_SIZE_TO_PAGES ( (gMaxLogicalProcessorNumber - mMpSystemData.NumberOfProcessors) * -- cgit v1.2.3