On 9/24/20 1:22 AM, Laszlo Ersek wrote:
- I don't remember if it's required that the APIC ID space be densely
populated. For example, if we have a topology with 7 possible (=
maximum) logical CPUs, I'm unsure if a spec forbids any of those CPUs
from having APIC ID 7. That could cause a problem in
MpInitLibSevEsAPReset(), I assume.

FWIW, there are many bare metal processors with non-contiguous APIC IDs. Intel puts the socket ID in the upper bits of the APIC ID. So if the socket doesn't have a power-of-two number of cores, there is always a gap. Plus, the BSP doesn't always have APIC ID 0 -- it depends on which physical cores passed the manufacturing tests for that particular part. That has broken various kernels, BIOSes, and other software at times. So it's best not to make assumptions.

I don't know if that applies to VMs, though. The standards may be different (if there are any standards at all in that area.)

--
Brian J. Johnson
Enterprise X86 Lab

Hewlett Packard Enterprise



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#65632): https://edk2.groups.io/g/devel/message/65632
Mute This Topic: https://groups.io/mt/77041010/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to