mirror of https://github.com/acidanthera/audk.git
e9415e4846
In current implementation of CPU MP service, AP is initialized with data copied from BSP. Stack switch required by Stack Guard feature needs different GDT, IDT table and task gates for each logic processor. This patch adds GDTR, IDTR and TR into structure CPU_VOLATILE_REGISTERS and related code in save and restore methods. This can make sure that any changes to GDT, IDT and task gate for an AP will be kept from overwritten by BSP settings. Cc: Eric Dong <eric.dong@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Suggested-by: Ayellet Wolman <ayellet.wolman@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jian J Wang <jian.j.wang@intel.com> Reviewed-by: Jeff Fan <vanjeff_919@hotmail.com> Reviewed-by: Jiewen.yao@intel.com |
||
---|---|---|
.. | ||
Ia32 | ||
X64 | ||
DxeMpInitLib.inf | ||
DxeMpInitLib.uni | ||
DxeMpLib.c | ||
Microcode.c | ||
MpLib.c | ||
MpLib.h | ||
PeiMpInitLib.inf | ||
PeiMpInitLib.uni | ||
PeiMpLib.c |