Details
-
Bug
-
Resolution: Fixed
-
Minor
Description
It seems ReactOS does detect them the way NT 5.0 does, however with the NT 5.1 and 5.2 the algorithm has changed a bit.
Comparison of processor environment variables with Intel Core i5-8500 processor:
Windows:
PROCESSOR_ARCHITECTURE=AMD64
|
PROCESSOR_IDENTIFIER=EM64T Family 6 Model 158 Stepping 10, GenuineIntel
|
PROCESSOR_LEVEL=6
|
PROCESSOR_REVISION=9e0a
|
ReactOS:
PROCESSOR_ARCHITECTURE=AMD64
|
PROCESSOR_IDENTIFIER=EM64T Family 6 Model 14 Stepping 10, GenuineIntel
|
PROCESSOR_LEVEL=6
|
PROCESSOR_REVISION=0e0a
|
You can notice the Model Number and Processor Revision are not correct in ReactOS.
Responsible code is located here:
- x86: https://git.reactos.org/?p=reactos.git;a=blob;f=ntoskrnl/ke/i386/cpu.c;hb=77fd33c99c79d6bd7b6a5a299f11e3aebffd0de4#l122
- AMD64: https://git.reactos.org/?p=reactos.git;a=blob;f=ntoskrnl/ke/amd64/cpu.c;hb=77fd33c99c79d6bd7b6a5a299f11e3aebffd0de4#l50
This is documented here: https://www.geoffchappell.com/studies/windows/km/cpu/cpuid/00000001h/eax.htm
All Windows versions since 5.1 recognise that the family and model can each be expanded from 4 bits to 8 by combining with the extended model and extended family. Expansion is indicated for both the family and model when the 4-bit family is full, i.e., contains 15:
- the 8-bit family is computed by adding the 4-bit family, i.e., 15, to the 8-bit extended family;
- the 8-bit model is formed by taking the 4-bit model for the low bits and the 4-bit extended model for the high bits.
Starting with version 5.1 from Windows XP SP2 and version 5.2 from Windows Server 2003 SP1, expansion is also indicated for the model only, i.e., not the family, if the 4-bit family is 6—but only for processors from Intel and, in version 6.2 and higher, from Centaur.
Attachments
Issue Links
- relates to
-
CORE-17975 Live CD is missing some environment variables
- Open
-
CORE-17970 ReactOS x64: Processor Identifier is not correct
- Resolved