audk/UefiCpuPkg
Gerd Hoffmann 170d4ce8e9 UefiCpuPkg/BaseXApicX2ApicLib: fix CPUID_V2_EXTENDED_TOPOLOGY detection
Checking the max cpuid leaf is not enough to figure whenever
CPUID_V2_EXTENDED_TOPOLOGY is supported.  Intel SDM says:

   Software must detect the presence of CPUID leaf 1FH by verifying
   (a) the highest leaf index supported by CPUID is >= 1FH, and
   (b) CPUID.1FH:EBX[15:0] reports a non-zero value.

The same is true for CPUID leaf 0BH.

This patch adds the EBX check to GetProcessorLocation2ByApicId().  The
patch also fixes the existing check in GetProcessorLocationByApicId() to
be in line with the spec by looking at bits 15:0.  The comments are
updated with a quote from the Intel SDM.

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2241388
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-Id: <20231017112807.1244254-1-kraxel@redhat.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
2023-10-25 09:52:06 +00:00
..
Application/Cpuid UefiCpuPkg: Calculate DisplayFamily correctly 2023-03-07 10:42:38 +00:00
CpuDxe UefiCpuPkg/CpuDxe: Eliminate the unused variable. 2023-10-12 07:30:46 +00:00
CpuDxeRiscV64 UefiCpuPkg: RISC-V: Support MMU with SV39/48/57 mode 2023-07-15 14:10:18 +00:00
CpuFeatures
CpuIo2Dxe
CpuIo2Smm
CpuIoPei
CpuMpPei UefiCpuPkg/CpuMpPei: Conditionally enable PAE paging in 32bit mode 2023-05-31 04:48:36 +00:00
CpuS3DataDxe UefiCpuPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
CpuTimerDxeRiscV64 UefiCpuPkg: CpuTimerDxeRiscV64: Fix timer event not working correctly 2023-07-02 10:33:11 +00:00
Include UefiCpuPkg/MtrrLib: Add API MtrrGetMemoryAttributesInMtrrSettings. 2023-10-09 08:22:02 +00:00
Library UefiCpuPkg/BaseXApicX2ApicLib: fix CPUID_V2_EXTENDED_TOPOLOGY detection 2023-10-25 09:52:06 +00:00
MicrocodeMeasurementDxe UefiCpuPkg/MicrocodeMeasurementDxe: Fix exception 2023-03-10 07:13:14 +00:00
PiSmmCommunication
PiSmmCpuDxeSmm UefiCpuPkg/PiSmmCpuDxe: use MpService2Ppi to wakeup AP in s3 2023-09-08 06:19:34 +00:00
ResetVector UefiCpuPkg/ResetVector: Remove AP waking vector from ResetVector 2023-09-18 02:39:25 +00:00
SecCore UefiCpuPkg/SecCore: Remove AP waking Vector logic in SecCore 2023-09-18 02:39:25 +00:00
SecMigrationPei
Test UefiCpuPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
Universal/Acpi/S3Resume2Pei UefiCpuPkg/S3Resume2Pei: assert for invalid excution mode combo 2023-09-08 06:19:34 +00:00
UefiCpuPkg.ci.yaml UefiCpuPkg/UefiCpuPkg.ci.yaml: Ignore RISC-V file 2023-02-16 05:53:28 +00:00
UefiCpuPkg.dec UefiCpuPkg: RISC-V: MMU: Introduce a PCD for SATP mode 2023-10-17 07:44:25 +00:00
UefiCpuPkg.dsc UefiCpuPkg: RISC-V: Support MMU with SV39/48/57 mode 2023-07-15 14:10:18 +00:00
UefiCpuPkg.uni
UefiCpuPkgExtra.uni