]> git.proxmox.com Git - mirror_edk2.git/commit - UefiCpuPkg/Library/MpInitLib/MpLib.c
UefiCpuPkg/MpInitLib: fix issue in wakeup buffer initialization
authorJian J Wang <jian.j.wang@intel.com>
Wed, 24 Jan 2018 01:36:01 +0000 (09:36 +0800)
committerRuiyu Ni <ruiyu.ni@intel.com>
Thu, 25 Jan 2018 02:24:21 +0000 (10:24 +0800)
commit66833b2a87d98be8d81d1337c193bcbf0de47d47
treebad4c693e0fcdb56a6f58e2d98ed5d415c8ca8b2
parentc3492bd9bb464ea1dcb3601c43a7dd941bdcb254
UefiCpuPkg/MpInitLib: fix issue in wakeup buffer initialization

To fix an issue in which enabling NX feature will mark the AP wakeup
buffer as non-executable and fail the AP init, the buffer was split
into two part: the lower part in memory within 1MB and the higher part
within allocated executable memory (EfiBootServicesCode). But the
address of higher part memory was stored in lower part memory, which
is actually shared with legacy components and will be overwritten by
LegacyBiosDxe driver if CSM is enabled.

This patch fixes this issue by storing the address of higher part
memory in CpuMpData instead of ExchangeInfo.

Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jian J Wang <jian.j.wang@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
UefiCpuPkg/Library/MpInitLib/MpLib.c
UefiCpuPkg/Library/MpInitLib/MpLib.h