CPU microcode reported wrong in /proc/cpuinfo

Brian Inglis Brian.Inglis@SystematicSw.ab.ca
Tue Jun 2 20:11:21 GMT 2020


On 2020-05-31 09:07, Lavrentiev, Anton (NIH/NLM/NCBI) [C] via Cygwin wrote:
> In the updated Cygwin (3.1.4), /proc/cpuinfo still reports the microcode
version wrong.
> Compare:
> 
> Cygwin:
> $ uname -a
> CYGWIN_NT-6.1 xxx 3.1.4(0.340/5/3) 2020-02-19 08:49 x86_64 Cygwin
> 
> $ cat /proc/cpuinfo
> processor       : 0
> vendor_id       : GenuineIntel
> cpu family      : 6
> model           : 23
> model name      : Intel(R) Xeon(R) CPU           X5470  @ 3.33GHz
> stepping        : 10
> microcode       : 0xFFFFFFF0
> cpu MHz         : 3340.000
> 
> Linux:
> $ cat /proc/cpuinfo
> processor	: 0
> vendor_id	: GenuineIntel
> cpu family	: 6
> model		: 23
> model name	: Intel(R) Xeon(R) CPU           X5470  @ 3.33GHz
> stepping	: 10
> microcode	: 0xa0b
> 
> I checked the Windows registry, and the data stored there seem to identify the CPU correctly.
> 
> HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0
>     Component Information    REG_BINARY    00000000000000000000000000000000
>     Identifier    REG_SZ    Intel64 Family 6 Model 23 Stepping 10
>     Configuration Data    REG_FULL_RESOURCE_DESCRIPTOR    FFFFFFFFFFFFFFFF000000
> 0000000000
>     ProcessorNameString    REG_SZ    Intel(R) Xeon(R) CPU           X5470  @ 3.3
> 3GHz
>     VendorIdentifier    REG_SZ    GenuineIntel
>     FeatureSet    REG_DWORD    0x215b3ffe
>     ~MHz    REG_DWORD    0xd05
>     Update Signature    REG_BINARY    000000000B0A0000
>     Update Status    REG_DWORD    0x0
>     Previous Update Signature    REG_BINARY    00000000070A0000
>     Platform ID    REG_DWORD    0x40
> 
> (Intel's CPU ID utility does so as well, "CPU Revision: A0B".)
> 
> Any ideas, why Cygwin is off?

Thanks for the feedback.
The following indicates the value should be in Update Revision on Intel Core:

	https://www.xf.is/view-cpu-microcode-revision-from-powershell

/proc/cpuinfo currently extracts that from Update Revision but it appears we may
also have to look for Update Signature, perhaps available only on some Windows
releases or Intel CPUs.

Could you please run:

$ head /proc/version

and post the output e.g.:

CYGWIN_NT-10.0-18363 version 3.1.4-340.x86_64 (corinna@calimero) (gcc version
7.4.0 20181206 (Fedora Cygwin 7.4.0-1) (GCC) ) 2020-02-19 08:49 UTC

also:

$ regtool list -v "/proc/registry/HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows
NT/CurrentVersion/" | fgrep =

and post the output e.g.:

SystemRoot (REG_SZ) = "C:\Windows"
BaseBuildRevisionNumber (REG_DWORD) = 0x00000001 (1)
BuildBranch (REG_SZ) = "19h1_release"
BuildGUID (REG_SZ) = "ffffffff-ffff-ffff-ffff-ffffffffffff"
BuildLab (REG_SZ) = "18362.19h1_release.190318-1202"
BuildLabEx (REG_SZ) = "18362.1.amd64fre.19h1_release.190318-1202"
CompositionEditionID (REG_SZ) = "Core"
CurrentBuild (REG_SZ) = "18363"
CurrentBuildNumber (REG_SZ) = "18363"
CurrentMajorVersionNumber (REG_DWORD) = 0x0000000a (10)
CurrentMinorVersionNumber (REG_DWORD) = 0x00000000 (0)
CurrentType (REG_SZ) = "Multiprocessor Free"
CurrentVersion (REG_SZ) = "6.3"
EditionID (REG_SZ) = "Core"
EditionSubManufacturer (REG_SZ) = ""
EditionSubstring (REG_SZ) = ""
EditionSubVersion (REG_SZ) = ""
InstallationType (REG_SZ) = "Client"
InstallDate (REG_DWORD) = 0x5e860beb (1585843179)
ProductName (REG_SZ) = "Windows 10 Home"
ReleaseId (REG_SZ) = "1909"
SoftwareType (REG_SZ) = "System"
UBR (REG_DWORD) = 0x00000344 (836)
PathName (REG_SZ) = "C:\Windows"
ProductId (REG_SZ) = "00325-80150-65794-AAOEM"
DigitalProductId (REG_BINARY) = a4 00 00 00 03 00 00 00
DigitalProductId4 (REG_BINARY) = f8 04 00 00 04 00 00 00
RegisteredOwner (REG_SZ) = "BWI"
RegisteredOrganization (REG_SZ) = ""
InstallTime (REG_QWORD) = 0x01d60907b723cdfd (132303167796006397)

and also:

$ regtool list -v
/proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/0/

and please post the output verbatim with line breaks included, e.g.

Component Information (REG_BINARY) = 00 00 00 00 00 00 00 00
Identifier (REG_SZ) = "AMD64 Family 21 Model 101 Stepping 1"
Configuration Data (REG_FULL_RESOURCE_DESCRIPTOR) = ?
ProcessorNameString (REG_SZ) = "AMD A10-9700 RADEON R7, 10 COMPUTE CORES 4C+6G "
VendorIdentifier (REG_SZ) = "AuthenticAMD"
FeatureSet (REG_DWORD) = 0x3c3b3dff (1010515455)
~MHz (REG_DWORD) = 0x00000da5 (3493)
Update Revision (REG_BINARY) = 18 61 00 06 00 00 00 00
Update Status (REG_DWORD) = 0x00000001 (1)
Previous Update Revision (REG_BINARY) = 18 61 00 06 00 00 00 00
Platform Specific Field1 (REG_DWORD) = 0x06006118 (100688152)

I'll have to recheck how Linux handles these, and if there are any new AMD/Intel
differences; I'll also have a look in WSL2 for how that gets it, if there are
any differences; see if there is anything from MS, and elsewhere.
I'll have to see if anyone in the family has an Intel box, I can get and put
Cygwin on for checking.

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.
[Data in IEC units and prefixes, physical quantities in SI.]


More information about the Cygwin mailing list