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]]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to