Valid HTML 4.01 Transitional Valid CSS Valid SVG 1.0

Me, myself & IT

CPUID Enumerator and Decoder

Purpose

The command line alias console program CPUPRINT.EXE for Microsoft® Windows® NT decodes and prints the information gathered from the processor’s CPUID and XGETBV instructions.
CPUPRINT.LOG and CPUPRINT.TXT show typical outputs of Intel® Core processors; CPUPRINT.AMD shows typical output of an AMD® Athlon processor.

Note: CPUPRINT.EXE enumerates the processor capabilities alias features IBRS, STIBP and IBPB as well as the presence of the IA32_ARCH_CAPABILITIES model specific register, introduced by Intel with firmware alias microcode updates to fix the vulnerabilities CVE-2017-5715, CVE-2017-5753 and CVE-2017-5754, better known by their nicknames Meltdown and Spectre, documented in Speculative Execution Side Channel Mitigations.
It also enumerates the processor capabilities alias features PCID, introduced in first generation Intel Core processors with Westmere microarchitecture, and INVPCID, introduced in fourth generation Intel Core processors with Haswell microarchitecture, both available only in long mode, i.e. to 64-bit operating systems, which are necessary to reduce the performance impact of the fix for CVE-2017-5754 alias Meltdown.

CPUPRINT.EXE supports multiple specifications of (real and virtualised) x86 and x64 processors:

AMD64 Architecture Programmer’s Manual Volume 3: General Purpose and System Instructions
Revision 3.25, December 2017
AMD Geode LX Processors Data Book
February 2009
Intel® 64 and IA-32 Architectures Software Developer’s Manuals
Revision 065, December 2017
Intel® Architecture Instruction Set Extensions Programming Reference
Revision 031, January 2018
Intel® Software ISA Extensions
October 2017
Intel® Itanium® Architecture Software Developer’s Manual
Revision 2.3, May 2010
Microsoft’s Hypervisor Top Level Functional Specification
Version 5.0b, April 2017 (which is but incomplete)
VIA C7-M Processor Datasheet
Revision 2.50, May 2008
VIA Eden Processor Datasheet
Revision 1.70, January 2006
VIA PadLock Programming Guide
August 2005
VIA Eden ESP Processor Datasheet
Revision 1.79, October 2004
VIA C3 Nehemiah Processor Datasheet
Revision 1.13, September 2004
VIA Antaur Processor Datasheet
July 2003

Implementation and Build Details

CPUPRINT.EXE is a pure Win32 binary executable, written from scratch in ANSI C, built with the platform SDK for Windows Server 2003 R2 without the MSVCRT libraries, for use on Windows XP and newer versions of Windows NT as well as Windows PE.

CPUPRINT.EXE is available for the I386 alias x86 and AMD64 alias x64 processor architectures of Windows NT.
Note: on the IA64 processor architecture the CPUID instruction is supported in the emulated I386 alias x86 execution environment only!

Authenticity and Integrity

CPUPRINT.EXE is digitally signed using an X.509 certificate issued by WEB.DE TrustCenter E-Mail Certification Authority.
Serial number of the certificate
73780985
0x0465CEF9
Fingerprint of the certificate
MD5: 33 33 6e 1d 26 18 a7 c2 be 87 11 68 05 2c 70 09
SHA-1: 8c 5b 75 21 40 41 77 ac 54 13 13 02 06 6b b0 69 10 2e 83 0e
-----BEGIN RSA PUBLIC KEY-----
MIIBCgKCAQEA6ipnm9vAs63w+TM+9UcG1yQ8CRIxMz/tTXry9MCbeHpkiM/qdPaRWlwVTW2j
PhC81xwIPZXgE1FE4DgE1eImb33DG2YfEBY/ARpMaGUnme+85WmExWWc/YMUAaHOMYQ3TQDX
0V/7yuhfa9Uc29ljtQ2AB0MjhXTJvGguvZZTI5A3rcN4+AKwmETdYH+8OQKMU2s+2H9CVfaD
waX0aj9CeibGNooLTgDchzCBIC5J47qHned/3ZqnMDjYCv3Yc1HNgcbM+ZKzPoD8jShb/ptI
wWPo9s00KEs9ti68RsmejqKovAmdLSzFLGARbue2uiqs4piJkxI0LS5+NTTPyZjsSwIDAQAB
-----END RSA PUBLIC KEY-----
Download and install the CA and root X.509 certificates of WEB.DE to validate and verify the digital signature.

Note: due to its counter signature alias timestamp the digital signature remains valid past the X.509 certificates expiration date!

Contact

If you miss anything here, have additions, comments, corrections, criticism or questions, want to give feedback, hints or tipps, report broken links, bugs, errors, inaccuracies, omissions, vulnerabilities or weaknesses, …:
don’t hesitate to contact me and feel free to ask, comment, criticise, flame, notify or report!

Use the X.509 certificate to send S/MIME encrypted mail.

Notes: I dislike HTML (and even weirder formats too) in email, I prefer to receive plain text.
I also expect to see a full (real) name as sender, not a nickname!
Emails in weird formats and without a proper sender name are likely to be discarded.
I abhor top posts and expect inline quotes in replies.

Terms and Conditions

By using this site, you signify your agreement to these terms and conditions. If you do not agree to these terms and conditions, do not use this site!
Copyright © 1995–2018 • Stefan Kanthak • <‍skanthak‍@‍nexgo‍.‍de‍>