Hi, > This is a terrible *organization* bug in the Intel SDM.
[ ... ] > So, keep scrolling... a whopping 14 pages later, on page 850, we find: > > INPUT EAX = 1FH: Returns V2 Extended Topology Information > > When CPUID executes with EAX set to 1FH, the processor returns > information about extended topology enumeration data. 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. See Table 3-8. Wow. Thanks for finding that well hidden reference. An almost identical worded paragraph exists for "INPUT EAX = 0BH: Returns Extended Topology Information". > The patch is mostly good, but the commit message can be improved. We > shouldn't base the reasoning on the existent EBX check in > GetProcessorLocationByApicId(). Instead, we should quote this specific > passage from the SDM. Sure. I didn't notice all the notes at the bottom of the table, so that comment plus the fact that the 0x0b and 0x1f leafs are modeled in a very similar way was the best reference I had at hand. > Furthermore, it's not the "ExtendedTopologyEbx.Uint32" union field that > we should compare against zero; we should compare > "ExtendedTopologyEbx.Bits.LogicalProcessors" -- that's what the spec says. OK. take care, Gerd -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#109668): https://edk2.groups.io/g/devel/message/109668 Mute This Topic: https://groups.io/mt/101893551/21656 Group Owner: [email protected] Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
