From 65e79f931f9c1ca72e853ce788e0bcaf0e205c9c Mon Sep 17 00:00:00 2001 From: Jeff Fan Date: Wed, 15 Jul 2015 03:28:04 +0000 Subject: [PATCH] UefiCpuPkg: Add CpuMpPei module 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 Reviewed-by: Feng Tian Reviewed-by: Jiewen Yao git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17987 6f19259b-4bc3-4df7-8a09-765794883524 --- UefiCpuPkg/CpuMpPei/CpuMpPei.c | 41 +++++++++++++++++++++ UefiCpuPkg/CpuMpPei/CpuMpPei.h | 26 +++++++++++++ UefiCpuPkg/CpuMpPei/CpuMpPei.inf | 51 ++++++++++++++++++++++++++ UefiCpuPkg/CpuMpPei/CpuMpPei.uni | Bin 0 -> 1706 bytes UefiCpuPkg/CpuMpPei/CpuMpPeiExtra.uni | Bin 0 -> 1344 bytes UefiCpuPkg/UefiCpuPkg.dsc | 1 + 6 files changed, 119 insertions(+) create mode 100644 UefiCpuPkg/CpuMpPei/CpuMpPei.c create mode 100644 UefiCpuPkg/CpuMpPei/CpuMpPei.h create mode 100644 UefiCpuPkg/CpuMpPei/CpuMpPei.inf create mode 100644 UefiCpuPkg/CpuMpPei/CpuMpPei.uni create mode 100644 UefiCpuPkg/CpuMpPei/CpuMpPeiExtra.uni diff --git a/UefiCpuPkg/CpuMpPei/CpuMpPei.c b/UefiCpuPkg/CpuMpPei/CpuMpPei.c new file mode 100644 index 0000000000..c1684c23b7 --- /dev/null +++ b/UefiCpuPkg/CpuMpPei/CpuMpPei.c @@ -0,0 +1,41 @@ +/** @file + CPU PEI Module installs CPU Multiple Processor PPI. + + Copyright (c) 2015, Intel Corporation. All rights reserved.
+ 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 index 0000000000..00e95cf899 --- /dev/null +++ b/UefiCpuPkg/CpuMpPei/CpuMpPei.h @@ -0,0 +1,26 @@ +/** @file + Definitions to install Multiple Processor PPI. + + Copyright (c) 2015, Intel Corporation. All rights reserved.
+ 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 + + +#include +#include + + + +#endif diff --git a/UefiCpuPkg/CpuMpPei/CpuMpPei.inf b/UefiCpuPkg/CpuMpPei/CpuMpPei.inf new file mode 100644 index 0000000000..05db141d79 --- /dev/null +++ b/UefiCpuPkg/CpuMpPei/CpuMpPei.inf @@ -0,0 +1,51 @@ +## @file +# CPU driver installs CPU PI Multi-processor PPI. +# +# Copyright (c) 2015, Intel Corporation. All rights reserved.
+# 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 index 0000000000000000000000000000000000000000..00c41e2faa60bc9dd497538c9c19f1a14f41ab5c GIT binary patch literal 1706 zcmc(gU60aW5QXR3#Q)H+H)?i4H}S?8BP>-Lb!iredS%MTvQ1!1pzO+@cYV$j+O5Ip zg~pJ+Uo-E_nKP&5?t9Bx7Vtdb7uajNwAAJ{wTJeAQ`ycewjuMxR@iQ^t=Oe@ZEMRd z!F$fC@{28E_t7?-=lGr2k{g+gxw+<-`Tdxvku}Ra|1)0(!mU>~vnwzM_6W3(nNRJh zJ+tR_%sQgtoEqk=&%BDIkBL{AVQpe*J0HQlXyRt&wTn6NH^K9zb?m}k9jJc*hSV7? zc$;x6u?0~Qa!iE2MI<(2)V+OD#!6W+AsM@(cWtg4`6ee1ISP{UGb;nukrGYVb3 z+7vX3C=3N($|X&z>Jd1lzI|T;6R*O5>B>|Wh58%gCm6l`ws8tv|9I}U^?zsIb! zlhcbA{^m$kQy7rqH(-+fo2*wh!(Pv^=46EDgtw(`X%gj%XV1xgRz2@51XYZVdiIvF z&08m(_8GfA4>*lb+7R#1nI76XbI5rWq3S|}vO_%j9=XR#iq_a*R$N7IFn4^f-EoO6 zuus^9tLGWDZ<9&L&N+{Wsu(@be!))Ib*7vHyyT;-h1VN=b@L1Jdn`h(H!<90DXIwV za~Y?K9>GP7u9UNT@H?X~UdyqIQ$0tedamhF01ENy=xa9m$6~C|G-~KyPmHhy=@&yb4 literal 0 HcmV?d00001 diff --git a/UefiCpuPkg/CpuMpPei/CpuMpPeiExtra.uni b/UefiCpuPkg/CpuMpPei/CpuMpPeiExtra.uni new file mode 100644 index 0000000000000000000000000000000000000000..55ca4f0292bf02765477f80a582ccae533be83d1 GIT binary patch literal 1344 zcmZ9MS#Q%&5QXO%iT_}Q7eGw{NW36~NE!ncZDM5+@Kj}MYAKB)Cus>k9{A39Ya+|{ z-r3HaJ2Upbzin$zvhTW%6ns@tPI!X;A}l+CQnRW@k??KKR_Gobu|*Kl56* zxPL}R+h^6^p_##bVa+p33zR$FvL@xO`+TzyRxxulu&=Bgz7fsoh_&bY7;VI)P4EuA z(i7{mhv;jBx(g9sONhtFkq4YK(OMhq!WDXhz3Z~1i;7!dKd_6}z%xqjkV(w?=p#^t zG4Sj|BypEcImdX(M_F^PFZe3*7yEZCVy-VSEVAUc2<>NuQ=>=JB4)0XvuCY}V_iS} zZ`!Vx?nN~@`hVzeqT1aQ)r~