]> git.proxmox.com Git - mirror_edk2.git/commit
UefiCpuPkg/MpInitLib: Sync BSP's local APIC timer settings to APs
authorJeff Fan <jeff.fan@intel.com>
Mon, 26 Dec 2016 08:44:24 +0000 (16:44 +0800)
committerJeff Fan <jeff.fan@intel.com>
Wed, 28 Dec 2016 07:38:02 +0000 (15:38 +0800)
commitffab244280fd934c9a02142765e40f70fbc061a1
tree918c460e0fc2b2a4a7832fc55a86b38836d02944
parent43c9fdcccd3254e929eb7b800b46418d78a4c2e8
UefiCpuPkg/MpInitLib: Sync BSP's local APIC timer settings to APs

If APs are waken up by INIT-SIPI-SIPI command, they will lose original local
APIC timer setting. As a result, the timer library instance based on local APIC
timer cannot work on APs function.

This fix is to save BSP's local APIC timer settings before waking up APs and
to sync to APs when APs wakeup by INIT-SIPI-SIPI command.

Setting BSP's current counter to AP's initial counter could make sure BSP and
APs have same counter value across BSP switching.

Cc: Feng Tian <feng.tian@intel.com>
Cc: Kinney Michael D <michael.d.kinney@intel.com>
Cc: Ruiyu Ni <ruiyu.ni@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>
UefiCpuPkg/Library/MpInitLib/MpLib.c
UefiCpuPkg/Library/MpInitLib/MpLib.h