HomeFreeBSD

ensure that initial local apic id is sane on AMD 10h systems

Description

ensure that initial local apic id is sane on AMD 10h systems

Summary:
The Initial Local APIC ID is returned by CPUID function 1 (in EBX).
On AMD Family 10h systems the way that ID is built is controlled by
an MSR bit (InitApicIdCpuIdLo). BKDG instructs BIOS to set it in a
certain way, but a BIOS can be buggy. In that case the ID can confuse
tools that use it, e.g. hwloc.
For example, on a system that I own real Local APIC IDs are configured
as 0, 1, 2, 3, but IDs reported via CPUID.1 are 0, 0x40, 0x80, 0xc0.
See: https://github.com/open-mpi/hwloc/issues/183

Reviewed by: kib
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D6060

Details

Provenance
avgAuthored on
Reviewer
kib
Differential Revision
D6060: ensure that initial local apic id is sane on AMD 10h systems
Parents
rS298735: sfxge(4): do not use RxQ index as label
Branches
Unknown
Tags
Unknown