]> git.proxmox.com Git - mirror_edk2.git/commitdiff
UefiCpuPkg: Add CpuMpPei module
authorJeff Fan <jeff.fan@intel.com>
Wed, 15 Jul 2015 03:28:04 +0000 (03:28 +0000)
committervanjeff <vanjeff@Edk2>
Wed, 15 Jul 2015 03:28:04 +0000 (03:28 +0000)
This module is to provide MP PPI services defined in PI 1.4.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17987 6f19259b-4bc3-4df7-8a09-765794883524

UefiCpuPkg/CpuMpPei/CpuMpPei.c [new file with mode: 0644]
UefiCpuPkg/CpuMpPei/CpuMpPei.h [new file with mode: 0644]
UefiCpuPkg/CpuMpPei/CpuMpPei.inf [new file with mode: 0644]
UefiCpuPkg/CpuMpPei/CpuMpPei.uni [new file with mode: 0644]
UefiCpuPkg/CpuMpPei/CpuMpPeiExtra.uni [new file with mode: 0644]
UefiCpuPkg/UefiCpuPkg.dsc

diff --git a/UefiCpuPkg/CpuMpPei/CpuMpPei.c b/UefiCpuPkg/CpuMpPei/CpuMpPei.c
new file mode 100644 (file)
index 0000000..c1684c2
--- /dev/null
@@ -0,0 +1,41 @@
+/** @file
+  CPU PEI Module installs CPU Multiple Processor PPI.
+
+  Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
+  This program and the accompanying materials
+  are licensed and made available under the terms and conditions of the BSD License
+  which accompanies this distribution.  The full text of the license may be found at
+  http://opensource.org/licenses/bsd-license.php
+
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#include "CpuMpPei.h"
+
+
+/**
+  The Entry point of the MP CPU PEIM.
+
+  This function will wakeup APs and collect CPU AP count and install the
+  Mp Service Ppi.
+
+  @param  FileHandle    Handle of the file being invoked.
+  @param  PeiServices   Describes the list of possible PEI Services.
+
+  @retval EFI_SUCCESS   MpServicePpi is installed successfully.
+
+**/
+EFI_STATUS
+EFIAPI
+CpuMpPeimInit (
+  IN       EFI_PEI_FILE_HANDLE  FileHandle,
+  IN CONST EFI_PEI_SERVICES     **PeiServices
+  )
+{
+
+
+
+  return EFI_SUCCESS;
+}
diff --git a/UefiCpuPkg/CpuMpPei/CpuMpPei.h b/UefiCpuPkg/CpuMpPei/CpuMpPei.h
new file mode 100644 (file)
index 0000000..00e95cf
--- /dev/null
@@ -0,0 +1,26 @@
+/** @file
+  Definitions to install Multiple Processor PPI.
+
+  Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
+  This program and the accompanying materials
+  are licensed and made available under the terms and conditions of the BSD License
+  which accompanies this distribution.  The full text of the license may be found at
+  http://opensource.org/licenses/bsd-license.php
+
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef _CPU_MP_PEI_H_
+#define _CPU_MP_PEI_H_
+
+#include <PiPei.h>
+
+
+#include <Library/BaseLib.h>
+#include <Library/PeimEntryPoint.h>
+
+
+
+#endif
diff --git a/UefiCpuPkg/CpuMpPei/CpuMpPei.inf b/UefiCpuPkg/CpuMpPei/CpuMpPei.inf
new file mode 100644 (file)
index 0000000..05db141
--- /dev/null
@@ -0,0 +1,51 @@
+## @file
+#  CPU driver installs CPU PI Multi-processor PPI.
+#
+#  Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
+#  This program and the accompanying materials
+#  are licensed and made available under the terms and conditions of the BSD License
+#  which accompanies this distribution.  The full text of the license may be found at
+#  http://opensource.org/licenses/bsd-license.php
+#
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+##
+
+[Defines]
+  INF_VERSION                    = 0x00010005
+  BASE_NAME                      = CpuMpPei
+  MODULE_UNI_FILE                = CpuMpPei.uni
+  FILE_GUID                      = EDADEB9D-DDBA-48BD-9D22-C1C169C8C5C6
+  MODULE_TYPE                    = PEIM
+  VERSION_STRING                 = 1.0
+  ENTRY_POINT                    = CpuMpPeimInit
+
+#
+# The following information is for reference only and not required by the build tools.
+#
+#  VALID_ARCHITECTURES           = IA32 X64
+#
+
+[Sources]
+  CpuMpPei.h
+  CpuMpPei.c
+
+
+[Packages]
+  MdePkg/MdePkg.dec
+  UefiCpuPkg/UefiCpuPkg.dec
+
+[LibraryClasses]
+  BaseLib
+  PeimEntryPoint
+
+
+
+
+[Depex]
+  gEfiPeiMemoryDiscoveredPpiGuid
+
+[UserExtensions.TianoCore."ExtraFiles"]
+  CpuMpPeiExtra.uni
+
diff --git a/UefiCpuPkg/CpuMpPei/CpuMpPei.uni b/UefiCpuPkg/CpuMpPei/CpuMpPei.uni
new file mode 100644 (file)
index 0000000..00c41e2
Binary files /dev/null and b/UefiCpuPkg/CpuMpPei/CpuMpPei.uni differ
diff --git a/UefiCpuPkg/CpuMpPei/CpuMpPeiExtra.uni b/UefiCpuPkg/CpuMpPei/CpuMpPeiExtra.uni
new file mode 100644 (file)
index 0000000..55ca4f0
Binary files /dev/null and b/UefiCpuPkg/CpuMpPei/CpuMpPeiExtra.uni differ
index f533a142b470252d6fcfcf11800b6898f5c51eb4..5fcff1510dae5dac0d30733cde883212fd3da16c 100644 (file)
@@ -83,6 +83,7 @@
   UefiCpuPkg/Library/SecPeiDxeTimerLibUefiCpu/SecPeiDxeTimerLibUefiCpu.inf\r
 \r
 [Components.IA32, Components.X64]\r
   UefiCpuPkg/Library/SecPeiDxeTimerLibUefiCpu/SecPeiDxeTimerLibUefiCpu.inf\r
 \r
 [Components.IA32, Components.X64]\r
+  UefiCpuPkg/CpuMpPei/CpuMpPei.inf\r
   UefiCpuPkg/CpuDxe/CpuDxe.inf\r
   UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf\r
   UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf\r
   UefiCpuPkg/CpuDxe/CpuDxe.inf\r
   UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf\r
   UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf\r