Jeff Fan
2015-07-03 15:09:54 UTC
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 <***@intel.com>
CC: Feng Tian <***@intel.com>
CC: Jiewen Yao <***@intel.com>
CC: Michael Kinney <***@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`***@iQ^t=***@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%***@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=***@L1Jdn`h(H!<90DXIwV
za~Y?K9>***@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|***@f<BI9XQEDOmZ}F$;iIr&FsP1w(O&IZD^***@HWa7g?HTl`Z{l;a+h@<w|+
zmM+iXnPS_z?O5DCKqFSlmvCBxR^w06Dq6LhbJ{pFRjR~S^rFb{z*+s6+Kg3k2O?z6
zIG0TFT=&kpL=***@iIo1<ab3FBL%urUQgeOuTFhC+?)0_^9E2zidA*cthpb!A
z;Q6#KfvK+Ie~TsWky!u6>zvhTW%***@tPI!X;A}l+***@k??KKR_Gobu|*Kl56*
zxPL}R+h^6^p_##bVa+p33zR$***@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
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <***@intel.com>
CC: Feng Tian <***@intel.com>
CC: Jiewen Yao <***@intel.com>
CC: Michael Kinney <***@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`***@iQ^t=***@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%***@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=***@L1Jdn`h(H!<90DXIwV
za~Y?K9>***@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|***@f<BI9XQEDOmZ}F$;iIr&FsP1w(O&IZD^***@HWa7g?HTl`Z{l;a+h@<w|+
zmM+iXnPS_z?O5DCKqFSlmvCBxR^w06Dq6LhbJ{pFRjR~S^rFb{z*+s6+Kg3k2O?z6
zIG0TFT=&kpL=***@iIo1<ab3FBL%urUQgeOuTFhC+?)0_^9E2zidA*cthpb!A
z;Q6#KfvK+Ie~TsWky!u6>zvhTW%***@tPI!X;A}l+***@k??KKR_Gobu|*Kl56*
zxPL}R+h^6^p_##bVa+p33zR$***@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
1.9.5.msysgit.0