[edk2] [RFC PATCH V7 27/27] UefiCpuPkg/CpuDxe: install Mp Service protocol

Subject: [edk2] [RFC PATCH V7 27/27] UefiCpuPkg/CpuDxe: install Mp Service protocol

From: Chen Fan <chen.fan.fnst@cn.fujitsu.com>

To: <edk2-devel@lists.sourceforge.net>

Date: 2014-11-05 01:59:37

  • 2014-11-05 01:59:37  Chen Fan   [edk2] [RFC PATCH V7 27/27] UefiCpuPkg/CpuDxe: install Mp Service protocol
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan 
---
 UefiCpuPkg/CpuDxe/CpuMp.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/UefiCpuPkg/CpuDxe/CpuMp.c b/UefiCpuPkg/CpuDxe/CpuMp.c
index 1eaf7b3..2692ebc 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) *
-- 
1.9.3


------------------------------------------------------------------------------
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel