audk/UefiCpuPkg/Include/Guid
Wu, Jiaxin 7b8c5a8eb4 UefiCpuPkg/SmmBaseHob.h: Add SMM Base HOB Data
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4337

The default SMBASE for the x86 processor is 0x30000. When
SMI happens, processor runs the SMI handler at SMBASE+0x8000.
Also, the SMM save state area is within SMBASE+0x10000.

One of the SMM initialization from processor perspective is to
relocate and program the new SMBASE (in TSEG range) for each
processor. When the SMBASE relocation happens in a PEI module,
the PEI module shall produce the SMM_BASE_HOB in HOB database
which tells the PiSmmCpuDxeSmm driver (runs at a later phase)
about the new SMBASE for each processor. PiSmmCpuDxeSmm driver
installs the SMI handler at the SMM_BASE_HOB.SmBase[Index]+0x8000
for processor Index. When the HOB doesn't exist, PiSmmCpuDxeSmm
driver shall relocate and program the new SMBASE itself.

This patch adds the SMM Base HOB for any PEI module to do
the SmBase relocation ahead of PiSmmCpuDxeSmm driver and
store the relocated SmBase address in array for each
processor.

Cc: Eric Dong <eric.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Zeng Star <star.zeng@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Ray Ni <ray.ni@Intel.com>
2023-03-06 06:07:48 +00:00
..
CpuFeaturesInitDone.h UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
CpuFeaturesSetDone.h UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
MicrocodePatchHob.h UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
MsegSmram.h UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
SmmBaseHob.h UefiCpuPkg/SmmBaseHob.h: Add SMM Base HOB Data 2023-03-06 06:07:48 +00:00