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....@intel.com> CC: Feng Tian <feng.t...@intel.com> CC: Jiewen Yao <jiewen....@intel.com> CC: Michael Kinney <michael.d.kin...@intel.com> --- 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 0000000..c1684c2 --- /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.<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 index 0000000..00e95cf --- /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.<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 index 0000000..05db141 --- /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.<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 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!i<WJf^-MgEPanblcXuGQ+Z9FRbdAI<zkHD2mVooTlCr^--9r__{sW zWw>E2MI<(2)V+<PC{(aVQsi1V>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$0tedamhF01EN<l}J5e42c%9Yg2n+X~Wh4zhC{1 y{Jl}E4N950dZdUGVhL#jbbsS3+9<2|vkKJzKG>y=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$<!26mfu+MgDiLGsE&+Qpn*)DBs2fJpC(I;rGEVa2!@k{Ivx&^wC z?JYyz*vfXuQ%=%f;=94N^tD7S_uRg<qsOl74$r_|g8qvAoxQQQ_TDZyM+M5dz|7#2 z5;Y|v@f<BI9XQEDOmZ}F$;iIr&FsP1w(O&IZD^mWTh@HWa7g?HTl`Z{l;a+h@<w|+ zmM+iXnPS_z?O5DCKqFSlmvCBxR^w06Dq6LhbJ{pFRjR~S^rFb{z*+s6+Kg3k2O?z6 zIG0TFT=&kpL=iK2CRKe@iIo1<ab3FBL%urUQgeOuTFhC+?)0_^9E2zidA*cthpb!A z;Q6#KfvK+Ie~TsWky!u6>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~<JRyVi-djRSL{1Bf$EU!7`IQmwEabREh#Aphdc#qtp oL5*XifEZ1prnE_i^{wlB-0^5i)LGqBJ?$YU{_n`BzVejse?!L4(EtDd literal 0 HcmV?d00001 diff --git a/UefiCpuPkg/UefiCpuPkg.dsc b/UefiCpuPkg/UefiCpuPkg.dsc index f533a14..5fcff15 100644 --- a/UefiCpuPkg/UefiCpuPkg.dsc +++ b/UefiCpuPkg/UefiCpuPkg.dsc @@ -83,6 +83,7 @@ UefiCpuPkg/Library/SecPeiDxeTimerLibUefiCpu/SecPeiDxeTimerLibUefiCpu.inf [Components.IA32, Components.X64] + UefiCpuPkg/CpuMpPei/CpuMpPei.inf UefiCpuPkg/CpuDxe/CpuDxe.inf UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf -- 1.9.5.msysgit.0 ------------------------------------------------------------------------------ Don't Limit Your Business. Reach for the Cloud. GigeNET's Cloud Solutions provide you with the tools and support that you need to offload your IT needs and focus on growing your business. Configured For All Businesses. Start Your Cloud Today. https://www.gigenetcloud.com/ _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel