====== CPUID settings ====== ===== Name ===== CPUID_SETTINGS ===== Header file ===== Configured via ''[[http://git.ipxe.org/ipxe.git/blob/HEAD:/src/config/settings.h|config/settings.h]]''. ===== Examples ===== === Enable CPUID settings === #define CPUID_SETTINGS /* CPUID settings */ ===== Description ===== This build option enables support for the CPUID settings, which expose information retrieved using the [[https://en.wikipedia.org/wiki/CPUID|CPUID]] instruction. The CPU vendor and model can be retrieved using the ''[[:cfg:cpuvendor]]'' and ''[[:cfg:cpumodel]]'' settings. Other information can be retrieved by constructing a numbered setting using the syntax ''${cpuid/.}}'', where '''' is the CPUID function number and '''' indicates the CPU register in which the information is returned (encoded as ''%eax=0'', ''%ebx=1'', ''%ecx=2'', ''%edx=3''). For example ''${cpuid/2.0x80000001}'' will give the value of ''%ecx'' after calling CPUID with ''%eax=0x80000001''. For some CPUID leaves (such as ''%eax=0x00000004''), there is also a subfunction number. This may be specified using the syntax ''${cpuid/.0x40..}''. ===== See also ===== * ''[[:cfg:cpumodel]]'' setting * ''[[:cfg:cpuvendor]]'' setting * ''[[:cmd:cpuid]]'' command * [[:buildcfg|List of all iPXE build options]]