Jeff Fan
fcc82734bf
UefiCpuPkg/CpuMpPei: Add AsmHltLoop ()
...
Add AsmHltLoop () in assembly code, it will not be copied into AP wakeup
buffer and invoked at end of ApCFunction (). To make sure AP work in case
AP wakeup buffer is restored to original data.
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@18013 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-15 03:45:45 +00:00
Jeff Fan
e35d034736
UefiCpuPkg/CpuMpPei: Install PI CPU MP PPI
...
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@18012 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-15 03:45:11 +00:00
Jeff Fan
53d3f06fd7
UefiCpuPkg/CpuMpPei: Implementation of PeiEnableDisableAP ()
...
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@18011 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-15 03:44:42 +00:00
Jeff Fan
3798f35133
UefiCpuPkg/CpuMpPei: Implementation of PeiSwitchBSP ()
...
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@18010 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-15 03:44:16 +00:00
Jeff Fan
d11bbfff1f
UefiCpuPkg/CpuMpPei: Implementation of PeiStartupThisAP ()
...
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@18009 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-15 03:43:34 +00:00
Jeff Fan
60ca9e8c18
UefiCpuPkg/CpuMpPei: Implementation of PeiStartupAllAPs ()
...
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@18008 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-15 03:43:12 +00:00
Jeff Fan
bf55f5b274
UefiCpuPkg/CpuMpPei: Implementation of PeiGetProcessorInfo ()
...
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@18007 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-15 03:42:45 +00:00
Jeff Fan
a2cc8caead
UefiCpuPkg/CpuMpPei: Implementation of PeiGetNumberOfProcessors ()
...
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@18006 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-15 03:42:22 +00:00
Jeff Fan
887810c8c9
UefiCpuPkg/CpuMpPei: Implementation of PeiWhoAmI ()
...
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@18005 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-15 03:41:59 +00:00
Jeff Fan
a21fe4285e
UefiCpuPkg/CpuMpPei: Update and publish CPU BIST information
...
Get CPU BIST information from SEC Platform Information(2) PPIs and update them
accordingly. Install(Reinstall) SEC Platform Information2 PPI to published the
new CPU BIST.
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@18004 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-15 03:41:33 +00:00
Jeff Fan
8805c91231
UefiCpuPkg/CpuMpPei: Build one GUIDed HOB to save CPU MP Data
...
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@18003 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-15 03:41:07 +00:00
Jeff Fan
d1cf93333f
UefiCpuPkg/CpuMpPei: Load microcode on BSP and APs
...
Add DetectMicrocode() to load microcode on BSP and APs.
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@18002 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-15 03:40:41 +00:00
Jeff Fan
b4cd9f78ba
UefiCpuPkg/CpuMpPei: Sync BPS's mtrr setting to APs
...
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@17999 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-15 03:39:24 +00:00
Jeff Fan
f8e4e86bc5
UefiCpuPkg/CpuMpPei: Sort APIC ID in ascending order
...
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@17998 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-15 03:38:57 +00:00
Jeff Fan
7d51bf5c4e
UefiCpuPkg/CpuMpPei: Wakeup APs and collect AP count
...
BSP will send broadcast INIT Startup IPI to all APs and collect APs count and
BIST information.
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@17997 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-15 03:38:35 +00:00
Jeff Fan
e66d675de4
UefiCpuPkg/CpuMpPei: Prepare for buffer for AP wakeup and CPU MP data
...
Get AP wakeup buffer and copy AP reset code into it. Allocate APs' stack and CPU
MP data buffer. Fill CPU MP data fields accordingly.
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@17995 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-15 03:37:50 +00:00
Jeff Fan
8018cb158c
UefiCpuPkg/CpuMpPei: Get AP reset code size and far jump information
...
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@17994 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-15 03:37:25 +00:00
Jeff Fan
46ba0f63e9
UefiCpuPkg/CpuMpPei: Initialize FPU per UEFI specification
...
Invoke InitializeFloatingPointUnits() to initialize FPU per UEFI specification
before call C function in assembly code.
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@17993 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-15 03:36:51 +00:00
Jeff Fan
34ff8715bf
UefiCpuPkg/CpuMpPei: Add AP reset x64 assembly code
...
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@17992 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-15 03:36:19 +00:00
Jeff Fan
da1475e092
UefiCpuPkg/CpuMpPei: Add AP reset IA32 assembly code
...
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@17991 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-15 03:35:48 +00:00
Jeff Fan
a56f6f455f
UefiCpuPkg/CpuMpPei: Add MP exchange structure definition
...
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@17990 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-15 03:30:01 +00:00
Jeff Fan
05e107f8f2
UefiCpuPkg/CpuMpPei: Find available memory < 1MB for AP reset code
...
Search memory resource HOB list to find one available system memory under 1MB
for AP reset code and exchange information between BSP and APs.
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@17989 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-15 03:29:40 +00:00
Jeff Fan
f9d30595ae
UefiCpuPkg/CpuMpPei: Load GDT table on BSP
...
Load new GDT table and update segment accordingly.
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@17988 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-15 03:29:12 +00:00
Jeff Fan
65e79f931f
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 <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
2015-07-15 03:28:04 +00:00