[edk2-devel] [PATCH v2 5/6] UefiCpuPkg/MpInitLib: Relocate microcode patch fields in CPU_MP_DATA

Wu, Hao A posted 6 patches 6 years, 1 month ago
There is a newer version of this series
[edk2-devel] [PATCH v2 5/6] UefiCpuPkg/MpInitLib: Relocate microcode patch fields in CPU_MP_DATA
Posted by Wu, Hao A 6 years, 1 month ago
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>
---
 UefiCpuPkg/Library/MpInitLib/MpLib.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/UefiCpuPkg/Library/MpInitLib/MpLib.h b/UefiCpuPkg/Library/MpInitLib/MpLib.h
index 885656900c..5f50e79744 100644
--- a/UefiCpuPkg/Library/MpInitLib/MpLib.h
+++ b/UefiCpuPkg/Library/MpInitLib/MpLib.h
@@ -217,6 +217,8 @@ struct _CPU_MP_DATA {
   UINT64                         CpuInfoInHob;
   UINT32                         CpuCount;
   UINT32                         BspNumber;
+  UINT64                         MicrocodePatchAddress;
+  UINT64                         MicrocodePatchRegionSize;
   //
   // The above fields data will be passed from PEI to DXE
   // Please make sure the fields offset same in the different
@@ -260,8 +262,6 @@ struct _CPU_MP_DATA {
   UINT8                          Vector;
   BOOLEAN                        PeriodicMode;
   BOOLEAN                        TimerInterruptState;
-  UINT64                         MicrocodePatchAddress;
-  UINT64                         MicrocodePatchRegionSize;
 
   UINT32                         ProcessorSignature;
   UINT32                         ProcessorFlags;
-- 
2.12.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#52559): https://edk2.groups.io/g/devel/message/52559
Mute This Topic: https://groups.io/mt/69259687/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH v2 5/6] UefiCpuPkg/MpInitLib: Relocate microcode patch fields in CPU_MP_DATA
Posted by Ni, Ray 6 years, 1 month ago
Reviewed-by: Ray Ni <ray.ni@intel.com>

> -----Original Message-----
> From: Wu, Hao A <hao.a.wu@intel.com>
> Sent: Wednesday, December 25, 2019 3:58 PM
> To: devel@edk2.groups.io
> Cc: Wu, Hao A <hao.a.wu@intel.com>; Dong, Eric <eric.dong@intel.com>; Ni,
> Ray <ray.ni@intel.com>; Laszlo Ersek <lersek@redhat.com>; Zeng, Star
> <star.zeng@intel.com>; Fu, Siyuan <siyuan.fu@intel.com>; Kinney, Michael
> D <michael.d.kinney@intel.com>
> Subject: [PATCH v2 5/6] 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>
> ---
>  UefiCpuPkg/Library/MpInitLib/MpLib.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/UefiCpuPkg/Library/MpInitLib/MpLib.h
> b/UefiCpuPkg/Library/MpInitLib/MpLib.h
> index 885656900c..5f50e79744 100644
> --- a/UefiCpuPkg/Library/MpInitLib/MpLib.h
> +++ b/UefiCpuPkg/Library/MpInitLib/MpLib.h
> @@ -217,6 +217,8 @@ struct _CPU_MP_DATA {
>    UINT64                         CpuInfoInHob;
>    UINT32                         CpuCount;
>    UINT32                         BspNumber;
> +  UINT64                         MicrocodePatchAddress;
> +  UINT64                         MicrocodePatchRegionSize;
>    //
>    // The above fields data will be passed from PEI to DXE
>    // Please make sure the fields offset same in the different
> @@ -260,8 +262,6 @@ struct _CPU_MP_DATA {
>    UINT8                          Vector;
>    BOOLEAN                        PeriodicMode;
>    BOOLEAN                        TimerInterruptState;
> -  UINT64                         MicrocodePatchAddress;
> -  UINT64                         MicrocodePatchRegionSize;
> 
>    UINT32                         ProcessorSignature;
>    UINT32                         ProcessorFlags;
> --
> 2.12.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#52562): https://edk2.groups.io/g/devel/message/52562
Mute This Topic: https://groups.io/mt/69259687/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-