]> git.proxmox.com Git - mirror_edk2.git/commit
UefiCpuPkg/Feature: Support different thread count per core
authorRay Ni <ray.ni@intel.com>
Wed, 2 Dec 2020 01:51:31 +0000 (09:51 +0800)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Fri, 4 Dec 2020 01:18:56 +0000 (01:18 +0000)
commit6af76adbbfccd31f4f8753fb0ddbbd9f4372f572
tree11bb7d4e12bfbeddb5af61cf744d727563b4057c
parent126115a9fb3f89f8609336c87aa82fe7da19a9aa
UefiCpuPkg/Feature: Support different thread count per core

Today's code assumes every core contains the same number of threads.
It's not always TRUE for certain model.
Such assumption causes system hang when thread count per core
is different and there is core or package dependency between CPU
features (using CPU_FEATURE_CORE_BEFORE/AFTER,
CPU_FEATURE_PACKAGE_BEFORE/AFTER).

The change removes such assumption by calculating the actual thread
count per package and per core.

Signed-off-by: Ray Ni <ray.ni@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
Cc: Yun Lou <yun.lou@intel.com>
Acked-by: Laszlo Ersek <lersek@redhat.com>
UefiCpuPkg/Include/AcpiCpuData.h
UefiCpuPkg/Library/RegisterCpuFeaturesLib/CpuFeaturesInitialize.c
UefiCpuPkg/PiSmmCpuDxeSmm/CpuS3.c