]> git.proxmox.com Git - mirror_edk2.git/commit
UefiCpuPkg/Microcode: Fix incorrect checksum issue for extended table
authorChen A Chen <chen.a.chen@intel.com>
Fri, 15 Feb 2019 06:29:41 +0000 (14:29 +0800)
committerEric Dong <eric.dong@intel.com>
Thu, 21 Feb 2019 08:16:56 +0000 (16:16 +0800)
commitb6f67b4d58b81f12f63f5f8c94cf8af3600297ab
tree79ad7f1e1459177a97c198a0b1ced5f42ee0c00c
parentb49758c11280a0dfba981632ed6ed06ed80a30d8
UefiCpuPkg/Microcode: Fix incorrect checksum issue for extended table

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1020

The following Microcode payload format is define in SDM spec.
Payload: |MicrocodeHeader|MicrocodeBinary|ExtendedHeader|ExtendedTable|.
When we verify the CheckSum32 with ExtendedTable, we should use the fields
of ExtendedTable to replace corresponding fields in MicrocodeHeader,
and then calculate the CheckSum32 with MicrocodeHeader+MicrocodeBinary.
This patch already verified on ICL platform.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Chen A Chen <chen.a.chen@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Zhang Chao B <chao.b.zhang@intel.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
UefiCpuPkg/Library/MpInitLib/Microcode.c