<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.18"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Crashpad: CPU_INFORMATION Union Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="crashpad_doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Crashpad
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.18 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="unionCPU__INFORMATION-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">CPU_INFORMATION Union Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Information about the CPU (or CPUs) that ran the process that the minidump file contains a snapshot of.  
 <a href="unionCPU__INFORMATION.html#details">More...</a></p>

<p><code>#include &quot;dbghelp.h&quot;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a136f7bdb14beab6d88ed2ea3f0c3634a"><td class="memItemLeft" ><a id="a136f7bdb14beab6d88ed2ea3f0c3634a"></a>
struct {</td></tr>
<tr class="memitem:a0bf7c1bf775c0bdd798549c3753b06a5"><td class="memItemLeft" >&#160;&#160;&#160;uint32_t&#160;&#160;&#160;<a class="el" href="unionCPU__INFORMATION.html#af239b99d9ef6b86fb04ffeabd85831c6">VendorId</a> [3]</td></tr>
<tr class="memdesc:a0bf7c1bf775c0bdd798549c3753b06a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">The CPU’s vendor identification string as encoded in <code>cpuid 0</code> <code>ebx</code>, <code>edx</code>, and <code>ecx</code>, represented as it appears in these registers.  <a href="structCPU__INFORMATION_1_1_0d4.html#a0bf7c1bf775c0bdd798549c3753b06a5">More...</a><br /></td></tr>
<tr class="separator:a0bf7c1bf775c0bdd798549c3753b06a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8fdabd3c0f212c3ea9e2c811a070571"><td class="memItemLeft" >
&#160;&#160;&#160;uint32_t&#160;&#160;&#160;<a class="el" href="unionCPU__INFORMATION.html#a6b072a6cae2e065111ef20acf21e355a">VersionInformation</a></td></tr>
<tr class="memdesc:ae8fdabd3c0f212c3ea9e2c811a070571"><td class="mdescLeft">&#160;</td><td class="mdescRight">Family, model, and stepping ID values as encoded in <code>cpuid 1</code> <code>eax</code>. <br /></td></tr>
<tr class="separator:ae8fdabd3c0f212c3ea9e2c811a070571"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a074de02e8e318223c3b8e0acfde9ea45"><td class="memItemLeft" >
&#160;&#160;&#160;uint32_t&#160;&#160;&#160;<a class="el" href="unionCPU__INFORMATION.html#a044a13c077ea0b3834dd33e4a48027cc">FeatureInformation</a></td></tr>
<tr class="memdesc:a074de02e8e318223c3b8e0acfde9ea45"><td class="mdescLeft">&#160;</td><td class="mdescRight">A bitfield containing supported CPU capabilities as encoded in <code>cpuid 1</code> <code>edx</code>. <br /></td></tr>
<tr class="separator:a074de02e8e318223c3b8e0acfde9ea45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2866afeed87c4f6968cc88e5fe2e6673"><td class="memItemLeft" >&#160;&#160;&#160;uint32_t&#160;&#160;&#160;<a class="el" href="unionCPU__INFORMATION.html#a7e6d74246b12843a3c7ca78e5dc67a3a">AMDExtendedCpuFeatures</a></td></tr>
<tr class="memdesc:a2866afeed87c4f6968cc88e5fe2e6673"><td class="mdescLeft">&#160;</td><td class="mdescRight">A bitfield containing supported CPU capabalities as encoded in <code>cpuid 0x80000001</code> <code>edx</code>.  <a href="structCPU__INFORMATION_1_1_0d4.html#a2866afeed87c4f6968cc88e5fe2e6673">More...</a><br /></td></tr>
<tr class="separator:a2866afeed87c4f6968cc88e5fe2e6673"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a136f7bdb14beab6d88ed2ea3f0c3634a"><td class="memItemLeft" valign="top">}&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionCPU__INFORMATION.html#a136f7bdb14beab6d88ed2ea3f0c3634a">X86CpuInfo</a></td></tr>
<tr class="memdesc:a136f7bdb14beab6d88ed2ea3f0c3634a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Information about 32-bit x86 CPUs, or x86_64 CPUs when running 32-bit x86 processes. <br /></td></tr>
<tr class="separator:a136f7bdb14beab6d88ed2ea3f0c3634a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3b690427b1950da94858ffc889c1f12"><td class="memItemLeft" ><a id="ad3b690427b1950da94858ffc889c1f12"></a>
struct {</td></tr>
<tr class="memitem:adc5bf1af94296f5ca49bcc10b7b14cb2"><td class="memItemLeft" >
&#160;&#160;&#160;uint64_t&#160;&#160;&#160;<a class="el" href="unionCPU__INFORMATION.html#a05b7ec99316251c79f305c44134e30dd">ProcessorFeatures</a> [2]</td></tr>
<tr class="memdesc:adc5bf1af94296f5ca49bcc10b7b14cb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitfields containing supported CPU capabilities as identified by bits corresponding to <a class="el" href="winnt_8h.html#PF_x">PF_*</a> values passed to <code>IsProcessorFeaturePresent()</code>. <br /></td></tr>
<tr class="separator:adc5bf1af94296f5ca49bcc10b7b14cb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3b690427b1950da94858ffc889c1f12"><td class="memItemLeft" valign="top">}&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionCPU__INFORMATION.html#ad3b690427b1950da94858ffc889c1f12">OtherCpuInfo</a></td></tr>
<tr class="memdesc:ad3b690427b1950da94858ffc889c1f12"><td class="mdescLeft">&#160;</td><td class="mdescRight">Information about non-x86 CPUs, and x86_64 CPUs when not running 32-bit x86 processes. <br /></td></tr>
<tr class="separator:ad3b690427b1950da94858ffc889c1f12"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Information about the CPU (or CPUs) that ran the process that the minidump file contains a snapshot of. </p>
<p>This union only appears as <a class="el" href="structMINIDUMP__SYSTEM__INFO.html#ad5e99c9f3240a6ffae813b3e7b3ddd29" title="Information about the system’s CPUs.">MINIDUMP_SYSTEM_INFO::Cpu</a>. Its interpretation is controlled by <a class="el" href="structMINIDUMP__SYSTEM__INFO.html#adc85b29d7df8943baf1a96af23051ca8" title="The system’s CPU architecture. This may be a PROCESSOR_ARCHITECTURE_* value, or a member of crashpad:...">MINIDUMP_SYSTEM_INFO::ProcessorArchitecture</a>. </p>
</div><h2 class="groupheader">Member Data Documentation</h2>
<a id="a7e6d74246b12843a3c7ca78e5dc67a3a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7e6d74246b12843a3c7ca78e5dc67a3a">&#9670;&nbsp;</a></span>AMDExtendedCpuFeatures</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t CPU_INFORMATION::AMDExtendedCpuFeatures</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>A bitfield containing supported CPU capabalities as encoded in <code>cpuid 0x80000001</code> <code>edx</code>. </p>
<p>This field is only valid if <a class="el" href="unionCPU__INFORMATION.html#af239b99d9ef6b86fb04ffeabd85831c6" title="The CPU’s vendor identification string as encoded in cpuid 0 ebx, edx, and ecx, represented as it app...">VendorId</a> identifies the CPU vendor as “AuthenticAMD” or "HygonGenuine". </p>

</div>
</div>
<a id="af239b99d9ef6b86fb04ffeabd85831c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af239b99d9ef6b86fb04ffeabd85831c6">&#9670;&nbsp;</a></span>VendorId</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t CPU_INFORMATION::VendorId[3]</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The CPU’s vendor identification string as encoded in <code>cpuid 0</code> <code>ebx</code>, <code>edx</code>, and <code>ecx</code>, represented as it appears in these registers. </p>
<p>For Intel CPUs, <code>[0]</code> will encode “Genu”, <code>[1]</code> will encode “ineI”, and <code>[2]</code> will encode “ntel”, for a vendor ID string “GenuineIntel”.</p>
<dl class="section note"><dt>Note</dt><dd>The Windows documentation incorrectly states that these fields are to be interpreted as <code>cpuid 0</code> <code>eax</code>, <code>ebx</code>, and <code>ecx</code>. </dd></dl>

</div>
</div>
<hr/>The documentation for this union was generated from the following file:<ul>
<li>compat/non_win/<a class="el" href="dbghelp_8h.html">dbghelp.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.18
</small></address>
</body>
</html>
