diff options
author | kib <kib@FreeBSD.org> | 2015-06-06 22:03:24 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2015-06-06 22:03:24 +0000 |
commit | a1956e48c3811bb495369ba6221ef4d0930a78ef (patch) | |
tree | 398da1ac17e54eb86b155ad057cd1b47445c56cb /sys/i386/include/md_var.h | |
parent | d7364a04aecc67f4cb8e17e16bd5edfaabbcb6e6 (diff) | |
download | FreeBSD-src-a1956e48c3811bb495369ba6221ef4d0930a78ef.zip FreeBSD-src-a1956e48c3811bb495369ba6221ef4d0930a78ef.tar.gz |
Update print_INTEL_TLB() by the tag values from the Intel SDM
rev. 55. The modern CPUs cache and TLB descriptions looked quite
questionable without the update, e.g. Haswell i7 4770S reported:
Data TLB: 4 KB pages, 4-way set associative, 64 entries
L2 cache: 256 kbytes, 8-way associative, 64 bytes/line
After the update, the report is:
Data TLB: 1 GByte pages, 4-way set associative, 4 entries
Data TLB: 4 KB pages, 4-way set associative, 64 entries
Instruction TLB: 2M/4M pages, fully associative, 8 entries
Instruction TLB: 4KByte pages, 8-way set associative, 64 entries
64-Byte prefetching
Shared 2nd-Level TLB: 4 KByte/2MByte pages, 8-way associative, 1024 entries
L2 cache: 256 kbytes, 8-way associative, 64 bytes/line
Some tags were apparently removed from the table 3-21, Vol. 2A. Keep
them around, but add a comment stating the removal.
Update the format line for cpu_stdext_feature according to the bits
from the SDM rev.55. It appears that Haswells do not store %cs and
%ds values in the FPU save area.
Store content of the %ecx register from the CPUID leaf 0x7
subleaf 0 as cpu_stdext_feature2 and print defined bits from it,
again acording to SDM rev. 55.
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Diffstat (limited to 'sys/i386/include/md_var.h')
-rw-r--r-- | sys/i386/include/md_var.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/i386/include/md_var.h b/sys/i386/include/md_var.h index b5bd35e..633e9c5 100644 --- a/sys/i386/include/md_var.h +++ b/sys/i386/include/md_var.h @@ -49,6 +49,7 @@ extern u_int via_feature_rng; extern u_int via_feature_xcrypt; extern u_int cpu_clflush_line_size; extern u_int cpu_stdext_feature; +extern u_int cpu_stdext_feature2; extern u_int cpu_fxsr; extern u_int cpu_high; extern u_int cpu_id; |