summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/i386/cpuModel.S
diff options
context:
space:
mode:
authorTill Straumann <strauman@slac.stanford.edu>2009-10-28 21:40:14 +0000
committerTill Straumann <strauman@slac.stanford.edu>2009-10-28 21:40:14 +0000
commitcaf761f0d332735decc2b27c269238684221168e (patch)
tree198e5ab455c7546e87ffa44d4ea90e413554bf4d /c/src/lib/libcpu/i386/cpuModel.S
parentNew. (diff)
downloadrtems-caf761f0d332735decc2b27c269238684221168e.tar.bz2
2009-10-28 Till Straumann <strauman@slac.stanford.edu>
* cpuModel.S, cpuModel.h, displayCpu.c: Save/cache CPUID:ECX (extended capabilities) in a new variable (x86_capability_x). Added more known flag description strings (printCpuInfo()) and let 'printCpuInfo()' dump the extended feature flags, too.
Diffstat (limited to 'c/src/lib/libcpu/i386/cpuModel.S')
-rw-r--r--c/src/lib/libcpu/i386/cpuModel.S4
1 files changed, 4 insertions, 0 deletions
diff --git a/c/src/lib/libcpu/i386/cpuModel.S b/c/src/lib/libcpu/i386/cpuModel.S
index 72520aa5b8..74fffd31d2 100644
--- a/c/src/lib/libcpu/i386/cpuModel.S
+++ b/c/src/lib/libcpu/i386/cpuModel.S
@@ -95,6 +95,7 @@ isnew:
*/
movl $1, eax
cpuid
+ movl ecx,SYM(x86_capability_x) /* store ecx feature flags */
movb al, cl /* save reg for future use */
@@ -234,6 +235,7 @@ BEGIN_DATA
PUBLIC(x86_model)
PUBLIC(x86_mask)
PUBLIC(x86_capability)
+ PUBLIC(x86_capability_x)
PUBLIC(x86_vendor_id)
PUBLIC(hard_math)
@@ -247,6 +249,8 @@ SYM(x86_mask):
.byte 0
SYM(x86_capability):
.long 0
+SYM(x86_capability_x):
+ .long 0
SYM(x86_vendor_id):
.zero 13
SYM(hard_math):