Mystery of Intel Cpuid 21H Leaf

17 points by ruik ↗ HN
The latest June 2021 SDM manual volume 2A, chapter 3 added a mysterious note about CPUID leaf 21H:

"Invalid. No existing or future CPU will return processor identification or feature information if the initial EAX value is 21H."

Any idea why this is specified? They claim the leaf will just always return zero, or if max leaf is lower, returning the highest valid values as usual. This makes it forever just unused/unusable. But why?

3 comments

[ 3.2 ms ] story [ 12.7 ms ] thread
For compatibility with something? From a quick googling probably this thing - https://software.intel.com/content/dam/develop/external/us/e...
Thank you very much, I missed that. Probably due to 0x21 instead of 21h. Makes sense, they just need to tell AMD not to put ever anything on leaf 0x21, as the 0x21 leaf is handled by the VMM, and will return something else.
You can test if a processor is GenuineIntel or AuthenticAMD or something with cpuid eax=0 and act accordingly. So no problem whatsoever if AMD uses it for something else.