summaryrefslogtreecommitdiffstats
path: root/src/arch/x86/include/bits/errfile.h
diff options
context:
space:
mode:
authorMichael Brown2013-08-06 20:16:30 +0200
committerMichael Brown2013-08-07 13:06:28 +0200
commit55201e2d0e60003edfd7e2c7c4c592136b000f44 (patch)
tree3be4677eaac90b8c686edf1318a8726895868649 /src/arch/x86/include/bits/errfile.h
parent[nfs] Fix an issue with the selection of a local port (diff)
downloadipxe-55201e2d0e60003edfd7e2c7c4c592136b000f44.tar.gz
ipxe-55201e2d0e60003edfd7e2c7c4c592136b000f44.tar.xz
ipxe-55201e2d0e60003edfd7e2c7c4c592136b000f44.zip
[settings] Expose CPUID instruction via settings mechanism
Allow CPUID values to be read using the syntax ${cpuid/<register>.<function>} For example, ${cpuid/2.0x80000001} will give the value of %ecx after calling CPUID with %eax=0x80000001. Values for <register> are encoded as %eax=0, %ebx=1, %ecx=2, %edx=3. The numeric encoding is more sophisticated than described above, allowing for settings such as the CPU model (obtained by calling CPUID with %eax=0x80000002-0x80000004 inclusive and concatenating the values returned in %eax:%ebx:%ecx:%edx). See the source code for details. The "cpuvendor" and "cpumodel" settings provide easy access to these more complex CPUID settings. This functionality is intended to complement the "cpuid" command, which allows for testing individual CPUID feature bits. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/arch/x86/include/bits/errfile.h')
-rw-r--r--src/arch/x86/include/bits/errfile.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/arch/x86/include/bits/errfile.h b/src/arch/x86/include/bits/errfile.h
index bfd22385..d9cf5c45 100644
--- a/src/arch/x86/include/bits/errfile.h
+++ b/src/arch/x86/include/bits/errfile.h
@@ -46,6 +46,7 @@ FILE_LICENCE ( GPL2_OR_LATER );
#define ERRFILE_timer_bios ( ERRFILE_ARCH | ERRFILE_DRIVER | 0x00010000 )
#define ERRFILE_cpuid_cmd ( ERRFILE_ARCH | ERRFILE_OTHER | 0x00000000 )
+#define ERRFILE_cpuid_settings ( ERRFILE_ARCH | ERRFILE_OTHER | 0x00010000 )
/** @} */