Jeff Fan
ad8a2f5e68
UefiCpuPkg/XeonPhiMsr.h: add MSR reference from SDM in comment
...
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com >
2016-09-08 09:18:08 +08:00
Jeff Fan
97ea5b7ff6
UefiCpuPkg/XeonE7Msr.h: add MSR reference from SDM in comment
...
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com >
2016-09-08 09:18:06 +08:00
Jeff Fan
b6ae7578ab
UefiCpuPkg/XeonDMsr.h: add MSR reference from SDM in comment
...
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com >
2016-09-08 09:18:03 +08:00
Jeff Fan
eed57645e4
UefiCpuPkg/Xeon5600Msr.h: add MSR reference from SDM in comment
...
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com >
2016-09-08 09:18:01 +08:00
Jeff Fan
04e7a46528
UefiCpuPkg/SkylakeMsr.h: add MSR reference from SDM in comment
...
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com >
2016-09-08 09:17:58 +08:00
Jeff Fan
94fe1b5f53
UefiCpuPkg/SilvermontMsr.h: add MSR reference from SDM in comment
...
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com >
2016-09-08 09:17:56 +08:00
Jeff Fan
367f5c9c5f
UefiCpuPkg/SandyBridgeMsr.h: add MSR reference from SDM in comment
...
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com >
2016-09-08 09:17:53 +08:00
Jeff Fan
634429c0aa
UefiCpuPkg/PentiumMsr.h: add MSR reference from SDM in comment
...
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com >
2016-09-08 09:17:50 +08:00
Jeff Fan
65ee84bd6b
UefiCpuPkg/PentiumMMsr.h: add MSR reference from SDM in comment
...
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com >
2016-09-08 09:17:47 +08:00
Jeff Fan
8bf98bd0d7
UefiCpuPkg/Pentium4Msr.h: add MSR reference from SDM in comment
...
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com >
2016-09-08 09:17:45 +08:00
Jeff Fan
91e3003c97
UefiCpuPkg/P6Msr.h: add MSR reference from SDM in comment
...
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com >
2016-09-08 09:17:42 +08:00
Jeff Fan
c2aa191b50
UefiCpuPkg/NehalemMsr.h: add MSR reference from SDM in comment
...
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com >
2016-09-08 09:17:39 +08:00
Jeff Fan
fed6c37b4a
UefiCpuPkg/IvyBridgeMsr.h: add MSR reference from SDM in comment
...
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com >
2016-09-08 09:17:35 +08:00
Jeff Fan
e108c3f64d
UefiCpuPkg/HaswellMsr.h: add MSR reference from SDM in comment
...
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com >
2016-09-08 09:17:32 +08:00
Jeff Fan
a73ab08301
UefiCpuPkg/HaswellEMsr.h: add MSR reference from SDM in comment
...
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com >
2016-09-08 09:17:28 +08:00
Jeff Fan
adf109740f
UefiCpuPkg/CoreMsr.h: add MSR reference from SDM in comment
...
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com >
2016-09-08 09:17:24 +08:00
Jeff Fan
e43a671439
UefiCpuPkg/Core2Msr.h: add MSR reference from SDM in comment
...
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com >
2016-09-08 09:17:20 +08:00
Jeff Fan
a6b7bc3c2f
UefiCpuPkg/BroadwellMsr.h: add MSR reference from SDM in comment
...
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com >
2016-09-08 09:17:16 +08:00
Jeff Fan
800a651d6d
UefiCpuPkg/AtomMsr.h: add MSR reference from SDM in comment
...
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com >
2016-09-08 09:17:13 +08:00
Jeff Fan
7de98828b7
UefiCpuPkg/ArchitecturalMsr.h: add MSR reference from SDM in comment
...
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com >
2016-09-08 09:17:08 +08:00
Star Zeng
b10d5ddc03
UefiCpuPkg/PiSmmCpuDxeSmm: Consume PcdAcpiS3Enable to control the code
...
if PcdAcpiS3Enable is disabled, then skip S3 related logic.
Cc: Jeff Fan <jeff.fan@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com >
Reviewed-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Tested-by: Laszlo Ersek <lersek@redhat.com >
2016-09-01 08:18:59 -07:00
Star Zeng
0bdc9e75c0
UefiCpuPkg/PiSmmCpuDxeSmm: Move S3 related code to CpuS3.c
...
Cc: Jeff Fan <jeff.fan@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com >
Reviewed-by: Jeff Fan <jeff.fan@intel.com >
Tested-by: Laszlo Ersek <lersek@redhat.com >
Acked-by: Laszlo Ersek <lersek@redhat.com >
2016-09-01 08:18:59 -07:00
Star Zeng
ca98f60382
UefiCpuPkg/CpuS3DataDxe: Consume PcdAcpiS3Enable to control the code
...
If PcdAcpiS3Enable is disabled, then return an EFI_UNSUPPORTED
error which forces the module to be unloaded.
Cc: Jeff Fan <jeff.fan@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com >
Reviewed-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Tested-by: Laszlo Ersek <lersek@redhat.com >
2016-09-01 08:18:59 -07:00
Jeff Fan
3ed4e502b5
UefiCpuPkg/MpInitLib: Don't allocate reset vector in Exit Boot Service
...
In Exit Boot Services callback function, we cannot use allocate memory services
because it may change the memory map that has been gotten by OS.
This fix is not to allocate reset vector buffer after SaveRestoreFlag is set to
TRUE in MpInitExitBootServicesCallback(). Instead AllocateResetVector() will use
the previous allocated buffer address and save the contents before copying reset
vector code. At the same time, FreeResetVector() will restore original contents
after if SaveRestoreFlag is TRUE.
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Feng Tian <feng.tian@intel.com >
2016-08-25 16:12:55 +08:00
Jeff Fan
42c37b3b33
UefiCpuPkg/MpInitLib: Move two functions location
...
Just move BackupAndPrepareWakeupBuffer() and RestoreWakeupBuffer() from
PeiMpLib.c to MpLib.c.
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Feng Tian <feng.tian@intel.com >
2016-08-25 16:12:50 +08:00
Jeff Fan
b31c1ad11e
UefiCpuPkg/MpInitLib: Fix function header comments typo
...
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Feng Tian <feng.tian@intel.com >
2016-08-25 16:12:46 +08:00
Jeff Fan
d11f10d1e0
UefiCpuPkg/MpInitLib: Rename EndOfPeiFlag to SaveRestoreFlag
...
It will be used by DxePeiLib also.
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Feng Tian <feng.tian@intel.com >
2016-08-25 16:12:41 +08:00
Jeff Fan
5183fb3736
UefiCpuPkg/MpInitLib: Move allocating reserved memory for AP loop code
...
In Exit Boot Services callback function, we cannot use allocate memory services
because it may change the memory map that has been gotten by OS.
This fix is to move allocating reserved memory for AP loop code to
InitMpGlobalData() and save the memory address in one global variable.
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Feng Tian <feng.tian@intel.com >
2016-08-25 16:12:37 +08:00
Jeff Fan
c119221060
UefiCpuPkg/MpInitLib: Move timeout delay to WakupAp()
...
After sending the 1st broadcast INIT-SIPI-SIPI, BSP will collect APs count after
one specified timeout delay. However, WakupAp() will restore reset vector
immediately after sending 1st broadcast INIT-SIPI-SIPI. Some processors may not
complete executing reset vector code.
This fix is to move MicroSecondDelay() from CollectProcessorCount() to the place
that is after sending 1st broadcast INIT-SIPI-SIPI and before FreeResetVector()
in WakupAp().
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Feng Tian <feng.tian@intel.com >
2016-08-25 16:12:32 +08:00
Jeff Fan
eadf70bdfb
UefiCpuPkg/PiSmmCpuDxeSmm: Revert 7503cd70fb
...
Revert "UefiCpuPkg/PiSmmCpuDxeSmm: Add gEfiVariableArchProtocolGuid dependency"
This reverts commit 7503cd70fb
.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
2016-08-19 15:14:28 +08:00
Jeff Fan
8cce3c9a70
UefiCpuPkg/MpInitLib: MicrocodeData used but maybe uninitialized
...
Cc: Feng Tian <feng.tian@intel.com >
Cc: Dandan Bi <dandan.bi@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Feng Tian <feng.tian@intel.com >
2016-08-19 15:11:01 +08:00
Jeff Fan
7503cd70fb
UefiCpuPkg/PiSmmCpuDxeSmm: Add gEfiVariableArchProtocolGuid dependency
...
PiSmmCpuDxeSmm driver's entry point will get some PCDs supported dynamic type.
In case those PCDs are set as DynamicHii type in platform DSC File, it implies
that EFI Variable Arch protocol is required.
This fix is to add gEfiVariableArchProtocolGuid dependency on PiSmmCpuDxeSmm
driver to make sure those DynamicHii PCDs could be read correctly.
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com >
Tested-by: Michael Kinney <michael.d.kinney@intel.com >
2016-08-17 20:08:18 +08:00
Jeff Fan
f3b91fa04a
UefiCpuPkg/CpuDxe: Fixed typo in function header to match PI spec
...
Cc: Liming Gao <liming.gao@intel.com >
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com >
Tested-by: Michael Kinney <michael.d.kinney@intel.com >
2016-08-17 20:08:01 +08:00
Jeff Fan
0a55f3bd65
UefiCpuPkg/CpuDxe: Remove PcdCpuMaxLogicalProcessorNumber consuming
...
v5:
If PcdCpuMaxLogicalProcessorNumber is set to 1 on UP system,
MpInitLibInitialize() will be invoked. This is one bug, we need to
call MpInitLibInitialize() always and get the BSP information.
Just to remove PcdCpuMaxLogicalProcessorNumber() consuming from this
driver.
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com >
Tested-by: Laszlo Ersek <lersek@redhat.com >
Tested-by: Michael Kinney <michael.d.kinney@intel.com >
2016-08-17 20:07:16 +08:00
Jeff Fan
39d49a73a5
UefiCpuPkg/CpuDxe: Remove unused codes and files
...
v5:
1. Remove unused PcdCpuApStackSize and PcdCpuApInitTimeOutInMicroSeconds.
v4:
1. Keep GDT table setup to fix IA32 S3 boot issue.
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com >
Tested-by: Laszlo Ersek <lersek@redhat.com >
Tested-by: Michael Kinney <michael.d.kinney@intel.com >
2016-08-17 20:07:07 +08:00
Jeff Fan
0b9f0dd635
UefiCpuPkg/CpuDxe: Move SetMtrrsFromBuffer() location.
...
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com >
Tested-by: Laszlo Ersek <lersek@redhat.com >
Tested-by: Michael Kinney <michael.d.kinney@intel.com >
2016-08-17 20:07:00 +08:00
Jeff Fan
7fadaacd50
UefiCpuPkg/CpuDxe: Consume MpInitLib to produce CPU MP Protocol services
...
Consume MP Initialize library to produce CPU MP Protocol services to simply the
code.
v4:
1. Update CpuDxe.c file header to mention it produces CPU Arch protocol.
2. Update BistData type from UINT32 to EFI_HEALTH_FLAG.
3. Move some header location from CpuMp.h to CpuDxe.h.
v3:
1. Move the code Consume MpInitLib APIs to produce CPU MP Protocol from patch
#40 to this patch.
2. Add DxeMpInitLib.inf in DSC file
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com >
Tested-by: Laszlo Ersek <lersek@redhat.com >
Tested-by: Michael Kinney <michael.d.kinney@intel.com >
2016-08-17 20:06:56 +08:00
Jeff Fan
89fa1bf218
UefiCpuPkg/CpuMpPei: Delete PeiMpServices.c and PeiMpServices.h
...
Move the code in PeiMpServices.c & PeiMpServices.h to CpuMpPei.c & CpuMpPei.h.
v3:
1. Rename MpInitLibSwitchBSP to MpInitLibSwitchBSP
2. Add PeiMpInitLib.inf in DSC file
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com >
Tested-by: Laszlo Ersek <lersek@redhat.com >
Tested-by: Michael Kinney <michael.d.kinney@intel.com >
2016-08-17 20:06:51 +08:00
Jeff Fan
4b0eeef313
UefiCpuPkg/CpuMpPei: Remove unused files and codes
...
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com >
Tested-by: Laszlo Ersek <lersek@redhat.com >
Tested-by: Michael Kinney <michael.d.kinney@intel.com >
2016-08-17 20:06:43 +08:00
Jeff Fan
a1a4c7a467
UefiCpuPkg/CpuMpPei: Consume MpInitLib to produce CPU MP PPI services
...
Consume MP initialize library to produce CPU MP PPI, it could simply the code.
Add STATIC for some internal functions to avoid build issue with the same
functions name in PeiMpInit instance. They will be removed by the next patch.
v4:
1. Update BistData type from UINT32 to EFI_HEALTH_FLAGS.
v3:
1. Rename MpInitLibSwitchBSP to MpInitLibSwitchBSP
2. Add PeiMpInitLib.inf in DSC file
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com >
Tested-by: Laszlo Ersek <lersek@redhat.com >
Tested-by: Michael Kinney <michael.d.kinney@intel.com >
2016-08-17 20:06:30 +08:00
Jeff Fan
4d3314f694
UefiCpuPkg/MpInitLib: Place APs in safe loop before hand-off to OS
...
Register Exit Boot Service callback function MpInitExitBootServicesCallback() to
place AP one safe loop before hand-off to OS.
Allocated one reserved memory and copy the AsmRellocateApLoop() code into it. It
could avoid the CPU Dxe driver (located in Boot Service data range) crashed
after Exit Boot Service event.
Place AP into the target Cx-State (specified by PcdCpuApTargetCstate) could save
power if Monitor-mwait feature supported.
In long mode, switch AP into protected mode could let AP not require page table
when executing this safe loop. Page Table (located in Boot Service data range)
may crashed after Exit Boot Service event.
v3:
1. Rename *RellocateAp* to *RelocateAp*
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com >
Tested-by: Laszlo Ersek <lersek@redhat.com >
Tested-by: Michael Kinney <michael.d.kinney@intel.com >
2016-08-17 20:02:39 +08:00
Jeff Fan
86efe97693
UefiCpuPkg/MpInitLib: Implementation of MpInitLibStartupAllAPs()
...
v4:
1. Simply the internal function StartupAllAPsWorker()'s function
header due to it is duplicated with MpInitLibStartupAllAPs().
v3:
1. Use CamelCase for mStopCheckAllApsStatus and
CheckAndUpdateApsStatus()
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com >
Tested-by: Laszlo Ersek <lersek@redhat.com >
Tested-by: Michael Kinney <michael.d.kinney@intel.com >
2016-08-17 20:02:31 +08:00
Jeff Fan
20ae57745b
UefiCpuPkg/MpInitLib: Implementation of MpInitLibStartupThisAP()
...
v4:
1. Simply the internal function StartupThisAPWorker()'s comment
header due to it is duplicated with MpInitLibStartupThisAP().
v3:
1. Use CamelCase for mStopCheckAllApsStatus and
CheckAndUpdateApsStatus().
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com >
Tested-by: Laszlo Ersek <lersek@redhat.com >
Tested-by: Michael Kinney <michael.d.kinney@intel.com >
2016-08-17 20:02:26 +08:00
Jeff Fan
08085f08ec
UefiCpuPkg/MpInitLib: Check APs Status and update APs status
...
v3:
1. Use CamelCase for CheckAndUpdateApsStatus().
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com >
Tested-by: Laszlo Ersek <lersek@redhat.com >
Tested-by: Michael Kinney <michael.d.kinney@intel.com >
2016-08-17 20:02:22 +08:00
Jeff Fan
e37109bcc7
UefiCpuPkg/MpInitLib: Implementation of MpInitLibEnableDisableAP()
...
v4:
1. Simply the internal function MpInitLibEnableDisableAP()'s function
header due to it is duplicated with MpInitLibEnableDisableAP().
v3:
1. Use CamelCase for mCheckAllAPsEvent, mStopCheckAllApsStatus.
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com >
Tested-by: Laszlo Ersek <lersek@redhat.com >
Tested-by: Michael Kinney <michael.d.kinney@intel.com >
2016-08-17 20:02:17 +08:00
Jeff Fan
41be0da59a
UefiCpuPkg/MpInitLib: Implementation of MpInitLibSwitchBSP()
...
v4:
1. Simply the internal function SwitchBSPWorker()'s comment header
due to it is duplicated with MpInitLibSwitchBSP().
v3:
1. Rename MpInitLibSwitchBsp to MpInitLibSwitchBSP.
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com >
Tested-by: Laszlo Ersek <lersek@redhat.com >
Tested-by: Michael Kinney <michael.d.kinney@intel.com >
2016-08-17 20:02:13 +08:00
Jeff Fan
5c9e099797
UefiCpuPkg/MpInitLib: Implementation of MpInitLibWhoAmI()
...
v5:
1. Move checking ProcessNumber before calling GetCpuMpData.
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com >
Tested-by: Laszlo Ersek <lersek@redhat.com >
Tested-by: Michael Kinney <michael.d.kinney@intel.com >
2016-08-17 20:02:09 +08:00
Jeff Fan
ad52f25edf
UefiCpuPkg/MpInitLib: Implementation of MpInitLibGetProcessorInfo()
...
v5:
1. Remove (-1) and use the clean code to calculate the Location->Thread
and Location->Core.
v4:
1. Update HealthData type from UINT32 to EFI_HEALTH_FLAGS
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com >
Tested-by: Laszlo Ersek <lersek@redhat.com >
Tested-by: Michael Kinney <michael.d.kinney@intel.com >
2016-08-17 20:02:05 +08:00
Jeff Fan
809213a679
UefiCpuPkg/MpInitLib: Implementation of MpInitLibGetNumberOfProcessors()
...
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com >
Tested-by: Laszlo Ersek <lersek@redhat.com >
Tested-by: Michael Kinney <michael.d.kinney@intel.com >
2016-08-17 20:01:59 +08:00
Jeff Fan
6a2ee2bb63
UefiCpuPkg/MpInitLib: Skip collect processor count if GUIDed HOB exist
...
If GUIDed HOB mCpuInitMpLibHobGuid exists, we could get the processor count and
processor APICID and Initial APICID from CPU_INFO_IN_HOB. We needn't to delay
for broadcast INIT-SIPI-SIPI results and could improve performance.
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com >
Tested-by: Laszlo Ersek <lersek@redhat.com >
Tested-by: Michael Kinney <michael.d.kinney@intel.com >
2016-08-17 20:01:55 +08:00