Crashpad
Public Attributes | List of all members
CPU_INFORMATION Union Reference

Information about the CPU (or CPUs) that ran the process that the minidump file contains a snapshot of. More...

#include "dbghelp.h"

Public Attributes

struct {
   uint32_t   VendorId [3]
 The CPU’s vendor identification string as encoded in cpuid 0 ebx, edx, and ecx, represented as it appears in these registers. More...
 
   uint32_t   VersionInformation
 Family, model, and stepping ID values as encoded in cpuid 1 eax.
 
   uint32_t   FeatureInformation
 A bitfield containing supported CPU capabilities as encoded in cpuid 1 edx.
 
   uint32_t   AMDExtendedCpuFeatures
 A bitfield containing supported CPU capabalities as encoded in cpuid 0x80000001 edx. More...
 
X86CpuInfo
 Information about 32-bit x86 CPUs, or x86_64 CPUs when running 32-bit x86 processes.
 
struct {
   uint64_t   ProcessorFeatures [2]
 Bitfields containing supported CPU capabilities as identified by bits corresponding to PF_* values passed to IsProcessorFeaturePresent().
 
OtherCpuInfo
 Information about non-x86 CPUs, and x86_64 CPUs when not running 32-bit x86 processes.
 

Detailed Description

Information about the CPU (or CPUs) that ran the process that the minidump file contains a snapshot of.

This union only appears as MINIDUMP_SYSTEM_INFO::Cpu. Its interpretation is controlled by MINIDUMP_SYSTEM_INFO::ProcessorArchitecture.

Member Data Documentation

◆ AMDExtendedCpuFeatures

uint32_t CPU_INFORMATION::AMDExtendedCpuFeatures

A bitfield containing supported CPU capabalities as encoded in cpuid 0x80000001 edx.

This field is only valid if VendorId identifies the CPU vendor as “AuthenticAMD” or "HygonGenuine".

◆ VendorId

uint32_t CPU_INFORMATION::VendorId[3]

The CPU’s vendor identification string as encoded in cpuid 0 ebx, edx, and ecx, represented as it appears in these registers.

For Intel CPUs, [0] will encode “Genu”, [1] will encode “ineI”, and [2] will encode “ntel”, for a vendor ID string “GenuineIntel”.

Note
The Windows documentation incorrectly states that these fields are to be interpreted as cpuid 0 eax, ebx, and ecx.

The documentation for this union was generated from the following file: