]> git.proxmox.com Git - mirror_edk2.git/commit
UefiCpuPkg/MpInitLib: Restore IDT context for APs.
authorEric Dong <eric.dong@intel.com>
Wed, 29 Apr 2020 11:51:20 +0000 (19:51 +0800)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Thu, 30 Apr 2020 04:11:13 +0000 (04:11 +0000)
commit052aa07da46d96d7069d12f28fc31deb68a6d75e
tree403400765898f3559d256f4e3c90bac7ce5c6d44
parentb2034179e8feed9c7d3bc8f9d40a18fd236c5b57
UefiCpuPkg/MpInitLib: Restore IDT context for APs.

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2683

This patch fixes an assertion because AP can't find the CpuMpData.
When AP is waken up through Init-Sipi-Sipi, AP's IDT should
be restored to pre-allocated buffer so AP can get the CpuMpData
through the IDT base address.
Current code already has logic to handle this when CpuMpData->
InitFlag is ApInitConfig but misses the logic
when CpuMpData->InitFlag is ApInitReconfig.
This patch fixes this gap.

Reviewed-by: Ray Ni <ray.ni@intel.com>
Regression-tested-by: Laszlo Ersek <lersek@redhat.com>
Cc: Chandana Kumar <chandana.c.kumar@intel.com>
Signed-off-by: Eric Dong <eric.dong@intel.com>
UefiCpuPkg/Library/MpInitLib/MpLib.c