UefiCpuPkg/MpInitLib: Relocate microcode patch fields in CPU_MP_DATA

The below 2 microcode patch related fields in structure CPU_MP_DATA:

  UINT64                         MicrocodePatchAddress;
  UINT64                         MicrocodePatchRegionSize;

They will be passed from PEI phase and be reused DXE phase.

Previously, these 2 fields were placed after some fields with type
'UINTN', this will lead to different field offset in different
architecture for them.

This commit will move them before the fields with different size in
different architecture to ensure they can be properly used in DXE phase.

Cc: Eric Dong <eric.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Star Zeng <star.zeng@intel.com>
Cc: Siyuan Fu <siyuan.fu@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Signed-off-by: Hao A Wu <hao.a.wu@intel.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
This commit is contained in:
Hao A Wu 2019-12-25 10:50:19 +08:00 committed by mergify[bot]
parent e1ed55738e
commit 88bd066166
1 changed files with 2 additions and 2 deletions

View File

@ -217,6 +217,8 @@ struct _CPU_MP_DATA {
UINT64 CpuInfoInHob; UINT64 CpuInfoInHob;
UINT32 CpuCount; UINT32 CpuCount;
UINT32 BspNumber; UINT32 BspNumber;
UINT64 MicrocodePatchAddress;
UINT64 MicrocodePatchRegionSize;
// //
// The above fields data will be passed from PEI to DXE // The above fields data will be passed from PEI to DXE
// Please make sure the fields offset same in the different // Please make sure the fields offset same in the different
@ -260,8 +262,6 @@ struct _CPU_MP_DATA {
UINT8 Vector; UINT8 Vector;
BOOLEAN PeriodicMode; BOOLEAN PeriodicMode;
BOOLEAN TimerInterruptState; BOOLEAN TimerInterruptState;
UINT64 MicrocodePatchAddress;
UINT64 MicrocodePatchRegionSize;
UINT32 ProcessorSignature; UINT32 ProcessorSignature;
UINT32 ProcessorFlags; UINT32 ProcessorFlags;