Reviewed-by: Ray Ni <ray...@intel.com> > -----Original Message----- > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Wu, Hao > A > Sent: Tuesday, December 31, 2019 8:49 AM > To: devel@edk2.groups.io > Cc: Wu, Hao A <hao.a...@intel.com>; Dong, Eric <eric.d...@intel.com>; Ni, > Ray <ray...@intel.com>; Laszlo Ersek <ler...@redhat.com>; Zeng, Star > <star.z...@intel.com>; Fu, Siyuan <siyuan...@intel.com>; Kinney, Michael > D <michael.d.kin...@intel.com> > Subject: [edk2-devel] [PATCH v5 0/6] Microcode related optimizations > > Series is also available at: > https://github.com/hwu25/edk2/tree/mpinitlib_opt_v5 > > V5 changes: > A. For patch 2, address a typo to resolve enlarging the microcode patch > information buffer too early when it is not full; > B. For patch 4, relocate the logic of storing detected microcode patch > before the application of microcode patch. > > V4 history: > A. For patch 2, keep the calling sequence of functions: > MicrocodeDetect() and MtrrGetAllMtrrs() unchanged for BSP. > B. For patch 2, in function LoadMicrocodePatch(), add the missing logic > that handles the Extended Signature Table of a microcode patch. > > > V3 history: > For patch 3, correct license information for newly added header file. > > V2 history: > A. For patch 2, rename function parameters and variables to better reflect > their usage; > B. For patch 2, remove unneeded check in LoadMicrocodePatchWorker(); > C. For patch 3, rename a couple of fields in the HOB structure; > D. For patch 3, update the 'ProcessorSpecificPatchOffset' field to point > to the microcode patch header instead of microcode patch data; > E. Add a new patch 5 to address an issue that certain fields in the > CPU_MP_DATA structure cannot be passed from PEI phase to DXE phase; > F. Add a new patch 6 to remove the redundant microcode related fields in > the CPU_MP_DATA structure. > > V1 history: > This series will introduce a couple of optimizations to the MpInitLib with > regard to microcode: > > A. Reduce the copy size when loading the microcode patches data from flash > into memory; > B. Produce a HOB to contain microcode patches information for subsequent > consumers of the microcode patches during the boot flow. > > Uni-test done for the series: > A. System boot to OS/Shell successfully on a real platform; > B. Add debug message to verify the same microcode patch is applied to each > processor before and after the series. > > > Cc: Eric Dong <eric.d...@intel.com> > Cc: Ray Ni <ray...@intel.com> > Cc: Laszlo Ersek <ler...@redhat.com> > Cc: Star Zeng <star.z...@intel.com> > Cc: Siyuan Fu <siyuan...@intel.com> > Cc: Michael D Kinney <michael.d.kin...@intel.com> > > Hao A Wu (6): > UefiCpuPkg/MpInitLib: Collect processors' CPUID & Platform ID info > UefiCpuPkg/MpInitLib: Reduce the size when loading microcode patches > UefiCpuPkg: Add definitions for EDKII microcode patch HOB > UefiCpuPkg/MpInitLib: Produce EDKII microcode patch HOB > UefiCpuPkg/MpInitLib: Relocate microcode patch fields in CPU_MP_DATA > UefiCpuPkg/MpInitLib: Remove redundant microcode fields in > CPU_MP_DATA > > UefiCpuPkg/UefiCpuPkg.dec | 3 + > UefiCpuPkg/Library/MpInitLib/PeiMpInitLib.inf | 1 + > UefiCpuPkg/Include/Guid/MicrocodePatchHob.h | 44 +++ > UefiCpuPkg/Library/MpInitLib/MpLib.h | 59 +++- > UefiCpuPkg/Library/MpInitLib/Microcode.c | 351 ++++++++++++++++++- > - > UefiCpuPkg/Library/MpInitLib/MpLib.c | 110 +++--- > UefiCpuPkg/Library/MpInitLib/PeiMpLib.c | 55 +++ > 7 files changed, 513 insertions(+), 110 deletions(-) > create mode 100644 UefiCpuPkg/Include/Guid/MicrocodePatchHob.h > > -- > 2.12.0.windows.1 > > >
-=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#52640): https://edk2.groups.io/g/devel/message/52640 Mute This Topic: https://groups.io/mt/69341881/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-