|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base phil-wifi-20200421
|
| 1.9 |
21-Apr-2020 |
msaitoh |
Get TSC frequency from CPUID 0x15 and/or x16 for newer Intel processors.
- If the max CPUID leaf is >= 0x15, take TSC value from CPUID. Some processors can take TSC/core crystal clock ratio but core crystal clock frequency can't be taken. Intel SDM give us the values for some processors. - It also required to change lapic_per_second to make LAPIC timer correctly. - Add new file x86/x86/identcpu_subr.c to share common subroutines between kernel and userland. Some code in x86/x86/identcpu.c and cpuctl/arch/i386.c will be moved to this file in future. - Add comment to clarify.
|
|
Revision tags: phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
| 1.8 |
23-Jan-2016 |
christos |
branches: 1.8.8; 1.8.16; 1.8.18; Define _KERNTYPES for things that need it.
|
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 tls-maxphys-base
|
| 1.7 |
01-Aug-2013 |
matt |
.include <bsd.own.mk> to get MACHINE_CPU
|
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base
|
| 1.6 |
31-Jan-2013 |
matt |
Add arm support for cpuctl identify
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231 matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
|
| 1.5 |
23-Apr-2009 |
lukem |
branches: 1.5.6; 1.5.12; Allow WARNS=4 after Christos' fix sys/cdefs.h
|
| 1.4 |
22-Apr-2009 |
lukem |
Enable WARNS=4 by default, except for: cpuctl dumplfs hprop ipf iprop-log kadmin kcm kdc kdigest kimpersonate kstash ktutil makefs ndbootd ntp pppd quot racoon racoonctl rtadvd sntp sup tcpdchk tcpdmatch tcpdump traceroute traceroute6 user veriexecgen wsmoused zic (Mostly third-party applications)
|
| 1.3 |
16-Dec-2008 |
christos |
branches: 1.3.2; Remove 3rd buggy copy of this function and use snprintb(3) instead. No need to allocate MAXPATHLEN buffers anymore.
|
|
Revision tags: netbsd-5-base matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
|
| 1.2 |
05-May-2008 |
ad |
branches: 1.2.6; PR port-amd64/37461 x86 cpu dmesg output is noisy
Port identifycpu() to userspace. The kernel lies and reports on cpuN while actually using the values from cpu0, but this attempts to bind itself to the requested CPU if running as root. That doesn't work properly yet due to kern/38588, but will do once that's fixed.
|
|
Revision tags: yamt-pf42-baseX yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase matt-armv6-prevmlocking cube-autoconf-base hpcarm-cleanup-base matt-armv6-base matt-mips64-base
|
| 1.1 |
04-Aug-2007 |
ad |
branches: 1.1.8; 1.1.10; Add cpuctl(8). For now this is not much more than a toy for debugging and benchmarking that allows taking CPUs online/offline.
|
|
Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base phil-wifi-20200421 phil-wifi-20200411 phil-wifi-20200406 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base perseant-stdc-iso10646-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base yamt-pagecache-base9 yamt-pagecache-tag8 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 agc-symver-base tls-maxphys-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4 yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base bouyer-quota2-nbase bouyer-quota2-base jym-xensuspend-nbase jym-xensuspend-base
|
| 1.2 |
16-Dec-2008 |
christos |
Remove 3rd buggy copy of this function and use snprintb(3) instead. No need to allocate MAXPATHLEN buffers anymore.
|
|
Revision tags: netbsd-5-base matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-pf42-base wrstuden-revivesa-base
|
| 1.1 |
05-May-2008 |
ad |
branches: 1.1.4; 1.1.8; PR port-amd64/37461 x86 cpu dmesg output is noisy
Port identifycpu() to userspace. The kernel lies and reports on cpuN while actually using the values from cpu0, but this attempts to bind itself to the requested CPU if running as root. That doesn't work properly yet due to kern/38588, but will do once that's fixed.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base
|
| 1.23 |
19-Mar-2024 |
gutteridge |
cpuctl.8: fix grammar in a sentence
|
| 1.22 |
12-Sep-2023 |
wiz |
cpuctl(8): note that AMD updates need to be applied on all CPUs at once
Note that checking dmesg(8) after problems might be helpful. Sort commands. Bump date.
|
| 1.21 |
06-Mar-2023 |
kre |
Unless -v is given, ignore EEXIST errors from the IOC_CPU_UCODE_APPLY ioctl() used to implement "cpuctl ucode N", which indicates that the microcode to be loaded already exists in the CPU, and as such, isn't really a very interesting "error".
|
|
Revision tags: netbsd-10-base netbsd-9-3-RELEASE cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
|
| 1.20 |
17-May-2019 |
gutteridge |
branches: 1.20.2; 1.20.10; cpuctl.8: minor fixes
|
| 1.19 |
15-Apr-2019 |
gutteridge |
cpuctl.8: update the URL for AMD microcode, the previous site listed is apparently defunct.
|
|
Revision tags: pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
| 1.18 |
14-Jan-2018 |
mrg |
branches: 1.18.4; note the default path for ucode updates can be found in sysctl.
|
|
Revision tags: matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
|
| 1.17 |
17-Sep-2016 |
wiz |
branches: 1.17.6; Sort SEE ALSO.
|
| 1.16 |
17-Sep-2016 |
jdolecek |
link back to intrctl(8), it xrefs cpuctl(8)
|
|
Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
| 1.15 |
16-Nov-2015 |
mrg |
branches: 1.15.2; allow most commands to specify more than one cpu. now you can online or offline (or identify, or intr/nointr) a list of cpus all together.
|
| 1.14 |
20-Nov-2014 |
wiz |
Bump date. Quote minus with a backslash, for PostScript/PDF output.
|
| 1.13 |
20-Nov-2014 |
msaitoh |
Fix manual and usage bug. The ucode command can take [cpuno] argument.
|
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 tls-maxphys-base
|
| 1.12 |
19-Feb-2014 |
szptvlfn |
Update URL
|
| 1.11 |
23-Dec-2013 |
wiz |
Use more common phrasing.
|
| 1.10 |
23-Dec-2013 |
msaitoh |
Add verbose flag. On x86 cpu, cpuctl -v identify dumps the return values of the cpuid functions. The max levels are taken from CPUID 0 and CPUID 8000_0000. It's useful for the future CPU.
|
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
|
| 1.9 |
15-Mar-2012 |
njoly |
branches: 1.9.2; Use Lk macro when dealing with URLs. While here update or remove some dead URL links. Another part of PR/29238.
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 netbsd-6-base
|
| 1.8 |
14-Jan-2012 |
wiz |
branches: 1.8.2; Sort sections. Uppercase CPU.
|
| 1.7 |
13-Jan-2012 |
cegger |
Support CPU microcode loading via cpuctl(8). Implemented and enabled via CPU_UCODE kernel config option for x86 and Xen Dom0. Tested on different AMD machines with different CPU families.
ok wiz@ for the manpages ok releng@ ok core@ via releng@
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 wrstuden-revivesa-base
|
| 1.6 |
22-Jun-2008 |
wiz |
branches: 1.6.2; Bump date for previous. Drop trailing whitespace. Improve formatting.
|
| 1.5 |
22-Jun-2008 |
ad |
Add a dumb, mostly Solaris-compatible psrset command. It's missing some options. Without it there's no easy way to test or use processor sets.
|
|
Revision tags: yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2
|
| 1.4 |
05-May-2008 |
ad |
branches: 1.4.2; PR port-amd64/37461 x86 cpu dmesg output is noisy
Port identifycpu() to userspace. The kernel lies and reports on cpuN while actually using the values from cpu0, but this attempts to bind itself to the requested CPU if running as root. That doesn't work properly yet due to kern/38588, but will do once that's fixed.
|
| 1.3 |
30-Apr-2008 |
martin |
Convert TNF licenses to new 2 clause variant
|
|
Revision tags: yamt-pf42-baseX yamt-pf42-base
|
| 1.2 |
25-Mar-2008 |
martin |
branches: 1.2.2; Use cpu index instead of ID for cpuctl; extend listing to provide both numbers (but now the ID is only informational).
|
|
Revision tags: keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase matt-armv6-prevmlocking cube-autoconf-base hpcarm-cleanup-base matt-armv6-base matt-mips64-base
|
| 1.1 |
04-Aug-2007 |
ad |
branches: 1.1.8; Add cpuctl(8). For now this is not much more than a toy for debugging and benchmarking that allows taking CPUs online/offline.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base
|
| 1.35 |
13-Sep-2023 |
wiz |
tabify
|
| 1.34 |
12-Sep-2023 |
wiz |
cpuctl: be more verbose about problems and diagnosing them
|
| 1.33 |
06-Mar-2023 |
kre |
Unless -v is given, ignore EEXIST errors from the IOC_CPU_UCODE_APPLY ioctl() used to implement "cpuctl ucode N", which indicates that the microcode to be loaded already exists in the CPU, and as such, isn't really a very interesting "error".
|
|
Revision tags: netbsd-10-base
|
| 1.32 |
01-Feb-2022 |
mrg |
branches: 1.32.2; allow "cpuN" as well as "N" to specific a CPU.
update usage to include a change i made from 2015 to allow multiple CPUs to be operated on at the same time for most commands.
|
|
Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base phil-wifi-20200421
|
| 1.31 |
21-Apr-2020 |
msaitoh |
Get TSC frequency from CPUID 0x15 and/or x16 for newer Intel processors.
- If the max CPUID leaf is >= 0x15, take TSC value from CPUID. Some processors can take TSC/core crystal clock ratio but core crystal clock frequency can't be taken. Intel SDM give us the values for some processors. - It also required to change lapic_per_second to make LAPIC timer correctly. - Add new file x86/x86/identcpu_subr.c to share common subroutines between kernel and userland. Some code in x86/x86/identcpu.c and cpuctl/arch/i386.c will be moved to this file in future. - Add comment to clarify.
|
|
Revision tags: phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
|
| 1.30 |
11-May-2019 |
maxv |
branches: 1.30.2; Check the return value of cpuset_set(), to prevent future surprises.
|
|
Revision tags: pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
| 1.29 |
16-Jan-2018 |
mrg |
branches: 1.29.4; implement cpuctl identify for sparc and sparc64.
sparc: - move enum vactype and struct cacheinfo into cpu.h - move the cache flags from cpuinfo.flags into CACHEINFO.c_flags (this allows the new cache_printf_backend() to see them.) remove unused CPUFLG_CACHEIOMMUTABLES and CPUFLG_CACHEDVMA. - align xmpsg to 64 bytes - move cache_print() into cache_print.h so it can be shared with cpuctl. it only depends upon a working printf(). - if found, store the CPU node's "name" into cpu_longname. this changes the default output to show the local CPU not the generic CPU family. eg: cpu0 at mainbus0: mid 8: Ross,RT625 @ 90 MHz, on-chip FPU vs the generic "RT620/625" previously shown. - for each CPU export these things: - name - fpuname - mid - cloc - freq - psr impl and version - mmu impl, version, and number of contexts - cacheinfo structure (which changed for the first time ever with this commit.)
sparc64: - add a minimal "cacheinfo" structure to export the i/d/e-cache size and linesize. - store %ver, cpu node "name" and cacheinfo in cpu_info. - set cpu_info ver, name and cacheinfo in cpu_attach(), and export them via sysctl, as well as CPU ID and clock freq
cpuctl: - add identifycpu_bind() that returns false on !x86 as their identify routines do not need to run on a particular CPU to obtain its information, and use it to avoid trying to set affinity when not needed. - add sparc and sparc64 cpu identify support using the newly exported values.
|
|
Revision tags: netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
| 1.28 |
16-Nov-2015 |
mrg |
branches: 1.28.8; allow most commands to specify more than one cpu. now you can online or offline (or identify, or intr/nointr) a list of cpus all together.
|
| 1.27 |
16-Nov-2015 |
mrg |
convert getcpuid() to take char* not char**
|
| 1.26 |
16-Nov-2015 |
mrg |
use stdbool.h
|
| 1.25 |
16-Dec-2014 |
msaitoh |
Fix a bug that an unknown command is printed as "(null)". Reported by Fredrik Pettai.
|
| 1.24 |
20-Nov-2014 |
msaitoh |
Fix manual and usage bug. The ucode command can take [cpuno] argument.
|
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 tls-maxphys-base
|
| 1.23 |
23-Dec-2013 |
msaitoh |
branches: 1.23.4; Add verbose flag. On x86 cpu, cpuctl -v identify dumps the return values of the cpuid functions. The max levels are taken from CPUID 0 and CPUID 8000_0000. It's useful for the future CPU.
|
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base
|
| 1.22 |
31-Jan-2013 |
matt |
Only complain about binding if we have more than 1 cpu. :) (we always have more than 0).
|
|
Revision tags: yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
| 1.21 |
29-Aug-2012 |
drochner |
branches: 1.21.2; Extend the CPU microcode update framework to support Intel x86 CPUs. Contrary to the AMD implementation, it doesn't use xcalls to distribute the update to all CPUs but relies on cpuctl(8) to bind itself to the right CPU -- to keep it simple and avoid possible problems with hyperthreading. Also, it doesn't parse the vendor supplied file to pick the right part for the present CPU model but relies on userland to prepare files with specific filenames. I'll commit a pkg for this in a minute (pkgsrc/sysutils/intel-microcode). The ioctl interface changed; compatibility is provided (should be limited to COMPAT_NETBSD6 as soon as this is available).
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base
|
| 1.20 |
13-Jan-2012 |
cegger |
branches: 1.20.2; Support CPU microcode loading via cpuctl(8). Implemented and enabled via CPU_UCODE kernel config option for x86 and Xen Dom0. Tested on different AMD machines with different CPU families.
ok wiz@ for the manpages ok releng@ ok core@ via releng@
|
|
Revision tags: yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
| 1.19 |
27-Sep-2011 |
jruoho |
branches: 1.19.2; Define _PATH_CPUCTL.
|
| 1.18 |
26-Sep-2011 |
jruoho |
Fix wrong err(3) message (no such thing as IOC_CPU_GETINFO).
|
| 1.17 |
11-Sep-2011 |
jdc |
Add a cs_hwid field to cpustate and use this to store the ci_cpuid (hardware ID). Report this as the HwID in cpuctl. OK jruoho@.
|
| 1.16 |
27-Aug-2011 |
joerg |
static + __dead
|
|
Revision tags: cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231 matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
|
| 1.15 |
23-Apr-2009 |
lukem |
Fix -Wsign-compare issue
|
| 1.14 |
19-Apr-2009 |
ad |
cpuctl:
- Add interrupt shielding (direct hardware interrupts away from the specified CPUs). Not documented just yet but will be soon.
- Redo /dev/cpu time_t compat so no kernel changes are needed.
x86:
- Make intr_establish, intr_disestablish safe to use when !cold.
- Distribute hardware interrupts among the CPUs, instead of directing everything to the boot CPU.
- Add MD code for interrupt sheilding. This works in most cases but there is a bug where delivery is not accepted by an LAPIC after redistribution. It also needs re-balancing to make things fair after interrupts are turned back on for a CPU.
|
| 1.13 |
28-Jan-2009 |
ad |
branches: 1.13.2; cpuctl list: map hardware id after getting state. avoids screwed up display when ci_cpuid != cpu_index()
|
| 1.12 |
19-Nov-2008 |
cegger |
redo previous: check ID in getcpuid(). This way, the other commands (online/offline) tell the user the real error.
|
| 1.11 |
19-Nov-2008 |
rmind |
cpu_identify: check ID against number of processors. Fix for PR/39955.
|
|
Revision tags: netbsd-5-base matt-mips64-base2
|
| 1.10 |
15-Oct-2008 |
ad |
branches: 1.10.2; Cosmetic change to previous.
|
| 1.9 |
15-Oct-2008 |
ad |
Don't map cpu index to hardware id.
|
|
Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 wrstuden-revivesa-base
|
| 1.8 |
16-Jun-2008 |
rmind |
- Add general cpuset macros. - Use kcpuset name for kernel-only functions. - Use cpuid_t to specify CPU ID. - Unify all cpuset users.
API is expected to be stable now.
|
| 1.7 |
16-Jun-2008 |
rmind |
Sync with the latest cpuset changes.
|
|
Revision tags: yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2
|
| 1.6 |
12-May-2008 |
ad |
Clarify output of 'id' column.
|
| 1.5 |
05-May-2008 |
ad |
branches: 1.5.2; PR port-amd64/37461 x86 cpu dmesg output is noisy
Port identifycpu() to userspace. The kernel lies and reports on cpuN while actually using the values from cpu0, but this attempts to bind itself to the requested CPU if running as root. That doesn't work properly yet due to kern/38588, but will do once that's fixed.
|
| 1.4 |
28-Apr-2008 |
martin |
Remove clause 3 and 4 from TNF licenses
|
|
Revision tags: yamt-pf42-baseX yamt-pf42-base
|
| 1.3 |
25-Mar-2008 |
martin |
branches: 1.3.2; Use cpu index instead of ID for cpuctl; extend listing to provide both numbers (but now the ID is only informational).
|
|
Revision tags: keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
|
| 1.2 |
09-Jan-2008 |
tnn |
improve usage()
|
|
Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-armv6-base matt-mips64-base
|
| 1.1 |
04-Aug-2007 |
ad |
branches: 1.1.2; 1.1.6; Add cpuctl(8). For now this is not much more than a toy for debugging and benchmarking that allows taking CPUs online/offline.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base phil-wifi-20200421
|
| 1.7 |
21-Apr-2020 |
msaitoh |
Get TSC frequency from CPUID 0x15 and/or x16 for newer Intel processors.
- If the max CPUID leaf is >= 0x15, take TSC value from CPUID. Some processors can take TSC/core crystal clock ratio but core crystal clock frequency can't be taken. Intel SDM give us the values for some processors. - It also required to change lapic_per_second to make LAPIC timer correctly. - Add new file x86/x86/identcpu_subr.c to share common subroutines between kernel and userland. Some code in x86/x86/identcpu.c and cpuctl/arch/i386.c will be moved to this file in future. - Add comment to clarify.
|
|
Revision tags: phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
| 1.6 |
16-Jan-2018 |
mrg |
branches: 1.6.4; 1.6.6; implement cpuctl identify for sparc and sparc64.
sparc: - move enum vactype and struct cacheinfo into cpu.h - move the cache flags from cpuinfo.flags into CACHEINFO.c_flags (this allows the new cache_printf_backend() to see them.) remove unused CPUFLG_CACHEIOMMUTABLES and CPUFLG_CACHEDVMA. - align xmpsg to 64 bytes - move cache_print() into cache_print.h so it can be shared with cpuctl. it only depends upon a working printf(). - if found, store the CPU node's "name" into cpu_longname. this changes the default output to show the local CPU not the generic CPU family. eg: cpu0 at mainbus0: mid 8: Ross,RT625 @ 90 MHz, on-chip FPU vs the generic "RT620/625" previously shown. - for each CPU export these things: - name - fpuname - mid - cloc - freq - psr impl and version - mmu impl, version, and number of contexts - cacheinfo structure (which changed for the first time ever with this commit.)
sparc64: - add a minimal "cacheinfo" structure to export the i/d/e-cache size and linesize. - store %ver, cpu node "name" and cacheinfo in cpu_info. - set cpu_info ver, name and cacheinfo in cpu_attach(), and export them via sysctl, as well as CPU ID and clock freq
cpuctl: - add identifycpu_bind() that returns false on !x86 as their identify routines do not need to run on a particular CPU to obtain its information, and use it to avoid trying to set affinity when not needed. - add sparc and sparc64 cpu identify support using the newly exported values.
|
|
Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-7-2-RELEASE netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 tls-maxphys-base
|
| 1.5 |
23-Dec-2013 |
msaitoh |
branches: 1.5.18; Add verbose flag. On x86 cpu, cpuctl -v identify dumps the return values of the cpuid functions. The max levels are taken from CPUID 0 and CPUID 8000_0000. It's useful for the future CPU.
|
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
| 1.4 |
29-Aug-2012 |
drochner |
branches: 1.4.2; Extend the CPU microcode update framework to support Intel x86 CPUs. Contrary to the AMD implementation, it doesn't use xcalls to distribute the update to all CPUs but relies on cpuctl(8) to bind itself to the right CPU -- to keep it simple and avoid possible problems with hyperthreading. Also, it doesn't parse the vendor supplied file to pick the right part for the present CPU model but relies on userland to prepare files with specific filenames. I'll commit a pkg for this in a minute (pkgsrc/sysutils/intel-microcode). The ioctl interface changed; compatibility is provided (should be limited to COMPAT_NETBSD6 as soon as this is available).
|
|
Revision tags: yamt-pagecache-base5 yamt-pagecache-base4
|
| 1.3 |
15-Mar-2012 |
joerg |
Add __printflike attribution to use vprintf and friends with an argument as format string.
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231 matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
|
| 1.2 |
16-Dec-2008 |
christos |
branches: 1.2.8; 1.2.10; Remove 3rd buggy copy of this function and use snprintb(3) instead. No need to allocate MAXPATHLEN buffers anymore.
|
|
Revision tags: netbsd-5-base matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-pf42-base wrstuden-revivesa-base
|
| 1.1 |
05-May-2008 |
ad |
branches: 1.1.4; 1.1.8; PR port-amd64/37461 x86 cpu dmesg output is noisy
Port identifycpu() to userspace. The kernel lies and reports on cpuN while actually using the values from cpu0, but this attempts to bind itself to the requested CPU if running as root. That doesn't work properly yet due to kern/38588, but will do once that's fixed.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
|
| 1.25 |
07-Oct-2024 |
jakllsch |
CPU ID strings for Arm Cortex-A710, Neoverse V1, Neoverse N2, and Fujitsu A64FX
|
| 1.24 |
27-Sep-2024 |
jakllsch |
add Ampere 1 and 1A
|
|
Revision tags: perseant-exfatfs-base-20240630 perseant-exfatfs-base
|
| 1.23 |
07-Feb-2024 |
msaitoh |
branches: 1.23.2; Remove ryo@'s mail addresses.
|
| 1.22 |
03-Feb-2023 |
skrll |
MPIDR is 64bits. Without this AFF3 would always be zero.
Spotted by Cyprien.
|
|
Revision tags: netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base
|
| 1.21 |
30-Apr-2022 |
ryo |
branches: 1.21.2; add CPU_ID_APPLE_M1_ICESTORM and CPU_ID_APPLE_M1_FIRESTORM.
sync cpuids[] to sys/arch/aarch64/aarch64/cpu.c r1.69
|
| 1.20 |
06-Jan-2022 |
ryo |
display the raw value of each field when -v specified
|
| 1.19 |
06-Jan-2022 |
ryo |
fix typo
|
| 1.18 |
06-Jan-2022 |
ryo |
Added more field definitions for ARMv8.x system registers
|
| 1.17 |
06-Jan-2022 |
ryo |
macroify. NFC.
|
| 1.16 |
05-Jan-2022 |
ryo |
fix ID_AA64ISAR0_EL1.ATOMIC field definition
|
|
Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1
|
| 1.15 |
17-May-2021 |
riastradh |
Teach cpuctl(8) about some additional aarch64 feature bits.
(Descriptions for CSV3 and CSV2 are not very good, but the blurbs in the arm arm are an entire paragraph long each. Please fix if you have a conciser summary!)
|
|
Revision tags: cjep_staticlib_x-base
|
| 1.14 |
16-Jan-2021 |
jmcneill |
branches: 1.14.2; ID_AA64PFR0_EL1.GIC=0 means that the CPU interface system registers are not implemented. This does not necessarily mean that there is no GIC in the system, as GICv2 uses MMIO instead of system registers for the CPU interface.
While here, add description for GIC=3, which means that the v4.1 system register interface is supported.
|
| 1.13 |
04-Jan-2021 |
ryo |
sync cpuids[] of sys/arch/aarch64/aarch64/cpu.c r1.43
|
| 1.12 |
10-Oct-2020 |
jmcneill |
Report half-precision FP and SIMD support
|
| 1.11 |
05-Jul-2020 |
riastradh |
(cpuctl/aarch64) Add some more aa64isar0_eli1 flags.
|
| 1.10 |
01-Jul-2020 |
ryo |
show clidr_el1 and ctr_el0.
|
| 1.9 |
10-May-2020 |
riastradh |
Teach cpuctl(8) about ARMv8.5-RNG RNDR/RNDRRS support.
|
|
Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406
|
| 1.8 |
28-Jan-2020 |
maxv |
More identification.
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
|
| 1.7 |
09-May-2019 |
mrg |
add cortex A-76 detection.
|
|
Revision tags: pgoyette-compat-20190127
|
| 1.6 |
23-Jan-2019 |
skrll |
Fix mvfr0.fptrap = 0 description
|
|
Revision tags: pgoyette-compat-20190118 pgoyette-compat-1226
|
| 1.5 |
20-Dec-2018 |
ryo |
- show detail of debug feature register (ID_AA64DFR0_EL1) - print raw value of registers when verbose flag is set. - keep forward compatibility. read kernel's aarch64_sysctl_cpu_id, but avoid unknown system registers.
|
| 1.4 |
26-Nov-2018 |
ryo |
Add ThunderX IDs
|
|
Revision tags: pgoyette-compat-1126
|
| 1.3 |
20-Nov-2018 |
mrg |
rewrite the CPU identification on arm64:
- publish per-cpu data - publish a whole bunch of info in struct aarch64_sysctl_cpu_id instead of various individual nodes (there are 16 total.) - add MIDR extractor bits - define ARMv8.2-A id_aa64mmfr2_el1 and id_aa64zfr0_el1 regs, but avoid using them until we make sure they exist. (these members are added to aarch64_sysctl_cpu_id to avoid future compat issues.)
the arm32 and aarch32 version of these need to be adjusted as well (and aarch32 data published at all.) still trying to work out how to make the same userland binary running on a real arm32 or an aarch32 system can work sanely here.
ok ryo@.
|
|
Revision tags: pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521
|
| 1.2 |
08-May-2018 |
ryo |
branches: 1.2.2; 1.2.4; TGran64 indication was actually the opposite
|
| 1.1 |
03-May-2018 |
ryo |
add aarch64 support for cpuctl identify.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
|
| 1.8 |
04-Jun-2025 |
martin |
Simplify previous, pointed out by kre@
|
| 1.7 |
03-Jun-2025 |
martin |
Make cpuctl identify print something for old arm where the kernel does not provide the required data.
|
|
Revision tags: netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base
|
| 1.6 |
06-Aug-2022 |
andvar |
branches: 1.6.4; s/blity/bility/ in various words, mainly in comments.
|
| 1.5 |
05-Dec-2021 |
msaitoh |
auxilary -> auxiliary
|
|
Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
|
| 1.4 |
16-Jan-2021 |
jmcneill |
trailing whitespace
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
|
| 1.3 |
03-Feb-2019 |
mrg |
- enlarge buffer to avoid snprintf() truncation
|
|
Revision tags: pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
| 1.2 |
16-Jan-2018 |
mrg |
branches: 1.2.4; implement cpuctl identify for sparc and sparc64.
sparc: - move enum vactype and struct cacheinfo into cpu.h - move the cache flags from cpuinfo.flags into CACHEINFO.c_flags (this allows the new cache_printf_backend() to see them.) remove unused CPUFLG_CACHEIOMMUTABLES and CPUFLG_CACHEDVMA. - align xmpsg to 64 bytes - move cache_print() into cache_print.h so it can be shared with cpuctl. it only depends upon a working printf(). - if found, store the CPU node's "name" into cpu_longname. this changes the default output to show the local CPU not the generic CPU family. eg: cpu0 at mainbus0: mid 8: Ross,RT625 @ 90 MHz, on-chip FPU vs the generic "RT620/625" previously shown. - for each CPU export these things: - name - fpuname - mid - cloc - freq - psr impl and version - mmu impl, version, and number of contexts - cacheinfo structure (which changed for the first time ever with this commit.)
sparc64: - add a minimal "cacheinfo" structure to export the i/d/e-cache size and linesize. - store %ver, cpu node "name" and cacheinfo in cpu_info. - set cpu_info ver, name and cacheinfo in cpu_attach(), and export them via sysctl, as well as CPU ID and clock freq
cpuctl: - add identifycpu_bind() that returns false on !x86 as their identify routines do not need to run on a particular CPU to obtain its information, and use it to avoid trying to set affinity when not needed. - add sparc and sparc64 cpu identify support using the newly exported values.
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-7-2-RELEASE netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base tls-maxphys-base
|
| 1.1 |
31-Jan-2013 |
matt |
branches: 1.1.4; 1.1.10; Add arm support for cpuctl identify
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base
|
| 1.6 |
07-Oct-2021 |
msaitoh |
Move some common functions into x86/identcpu_subr.c. No functional change.
|
|
Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base phil-wifi-20200421
|
| 1.5 |
21-Apr-2020 |
msaitoh |
Get TSC frequency from CPUID 0x15 and/or x16 for newer Intel processors.
- If the max CPUID leaf is >= 0x15, take TSC value from CPUID. Some processors can take TSC/core crystal clock ratio but core crystal clock frequency can't be taken. Intel SDM give us the values for some processors. - It also required to change lapic_per_second to make LAPIC timer correctly. - Add new file x86/x86/identcpu_subr.c to share common subroutines between kernel and userland. Some code in x86/x86/identcpu.c and cpuctl/arch/i386.c will be moved to this file in future. - Add comment to clarify.
|
|
Revision tags: phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
|
| 1.4 |
21-May-2019 |
mlelstv |
branches: 1.4.2; All MSRs can only be read at privilege level 0. The exact APIC ID cannot be determined on some AMD CPUs.
|
| 1.3 |
10-May-2019 |
mlelstv |
Get CPU topology data for AMD processors.
|
|
Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 netbsd-7-2-RELEASE pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base tls-maxphys-base yamt-pagecache-base8
|
| 1.2 |
07-Jan-2013 |
dsl |
branches: 1.2.2; 1.2.6; 1.2.14; 1.2.28; 1.2.36; Add support for the xsave related data from cpuid 8.n. Reorder the output so that the 'brand' string - which actually identifies the cpu is output first.
|
| 1.1 |
05-Jan-2013 |
dsl |
Change the i386 asm x86_identify() so it returns a value instead of writing into global data. Fix a stack alignment fubar that would cause a crash on a cirix 486. Refactor identify code to common setup for normal identify and ucode identify - which was missing a memset().
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base netbsd-9-3-RELEASE cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
|
| 1.7 |
21-May-2019 |
mlelstv |
All MSRs can only be read at privilege level 0. The exact APIC ID cannot be determined on some AMD CPUs.
|
| 1.6 |
11-May-2019 |
mlelstv |
Fix copy&paste error, the function is named rdmsr().
Found by kre@
|
| 1.5 |
10-May-2019 |
mlelstv |
Get CPU topology data for AMD processors.
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
| 1.4 |
01-Mar-2015 |
tnn |
branches: 1.4.16; xgetbv expects XCR0 to be speficied in %ecx, don't leave %ecx undefined
|
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 tls-maxphys-base
|
| 1.3 |
07-Jan-2013 |
dsl |
branches: 1.3.8; Add support for the xsave related data from cpuid 8.n. Reorder the output so that the 'brand' string - which actually identifies the cpu is output first.
|
| 1.2 |
05-Jan-2013 |
dsl |
Change the i386 asm x86_identify() so it returns a value instead of writing into global data. Fix a stack alignment fubar that would cause a crash on a cirix 486. Refactor identify code to common setup for normal identify and ucode identify - which was missing a memset().
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-pf42-base wrstuden-revivesa-base
|
| 1.1 |
05-May-2008 |
ad |
branches: 1.1.4; 1.1.6; 1.1.24; 1.1.28; PR port-amd64/37461 x86 cpu dmesg output is noisy
Port identifycpu() to userspace. The kernel lies and reports on cpuN while actually using the values from cpu0, but this attempts to bind itself to the requested CPU if running as root. That doesn't work properly yet due to kern/38588, but will do once that's fixed.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
|
| 1.148 |
28-May-2025 |
andvar |
s/padloack/padlock/ in padlock features line.
|
| 1.147 |
19-Oct-2024 |
msaitoh |
cpuctl(x86): CPUID_AMDEXT2_L2TLBSIZEX32 also affects 1GB TLB size.
|
| 1.146 |
19-Oct-2024 |
msaitoh |
cpuctl(x86): Calculate L2 TLB size using with CPUID_AMDEXT2_L2TLBSIZEX32.
It's required to calculate L2 TLB size correctly on Zen5.
|
| 1.145 |
19-Oct-2024 |
msaitoh |
cpuctl(8): Print AMD's hetero workload classification.
|
|
Revision tags: perseant-exfatfs-base-20240630 perseant-exfatfs-base
|
| 1.144 |
08-Mar-2024 |
rillig |
branches: 1.144.2; cpuctl: fix i386 bit descriptions for CPUID_SEF_FLAGS1
warning: non-printing character '\31' in description 'BUS_LOCK_DETECT""b\31' [363]
|
| 1.143 |
10-Feb-2024 |
andvar |
Fix various typos in comments, log messages and documentation.
|
| 1.142 |
18-Jan-2024 |
msaitoh |
Add Meteor Lake and Emerald Rapids.
|
| 1.141 |
13-Sep-2023 |
wiz |
tabify
|
| 1.140 |
12-Sep-2023 |
wiz |
cpuctl: be more verbose about problems and diagnosing them
|
| 1.139 |
21-Jul-2023 |
msaitoh |
Sort by number. No functional change.
|
| 1.138 |
06-Jul-2023 |
msaitoh |
Add Alder Lake-N.
|
| 1.137 |
05-Jul-2023 |
msaitoh |
CPU model 0x5a is not Atom E3500 but Atom Z3500.
|
| 1.136 |
14-Feb-2023 |
msaitoh |
Add some CPUID bits from PPR for AMD Family 19h Model 61h Revision B1.
|
| 1.135 |
30-Dec-2022 |
msaitoh |
Add Raptor Lake and Sapphire Rapids.
|
| 1.134 |
30-Dec-2022 |
msaitoh |
Print cpuid 7 sub-leaf 1 %ebx, %edx and sub-leaf 2 %edx.
|
|
Revision tags: netbsd-10-base
|
| 1.133 |
17-Nov-2022 |
msaitoh |
branches: 1.133.2; s/features 2/features2/
|
| 1.132 |
16-Nov-2022 |
msaitoh |
s/Instruction-Based Sampling/IBS/
|
| 1.131 |
16-Nov-2022 |
msaitoh |
Add CPUID Fn8000_0022 AMD Extended Performance Monitoring and Debug.
|
| 1.130 |
16-Nov-2022 |
msaitoh |
Add CPUID Fn8000_0021 AMD Extended Features Identification 2.
|
| 1.129 |
16-Nov-2022 |
msaitoh |
Print AMD RAS features and Instruction-Based Sampling features.
|
| 1.128 |
15-Jun-2022 |
msaitoh |
Modify output of CPUID Fn0000000a.
old: cpu0: Perfmon-eax 0x8300805<VERSION=0x5,GPCounter=0x8,GPBitwidth=0x30> cpu0: Perfmon-eax 0x8300805<Vectorlen=0x8> cpu0: Perfmon-edx 0x8604<FixedFunc=0x4,FFBitwidth=0x30,ANYTHREADDEPR>
new: cpu0: Perfmon: Ver. 5 cpu0: Perfmon: General: bitwidth 48, 8 counters cpu0: Perfmon: General: avail 0xff<CORECYCL,INST,REFCYCL,LLCREF,LLCMISS,BRINST> cpu0: Perfmon: General: avail 0xff<BRMISPR,TOPDOWNSLOT> cpu0: Perfmon: Fixed: bitwidth 48, 4 counters cpu0: Perfmon: Fixed: avail 0xf<INST,CLK_CORETHREAD,CLK_REF_TSC,TOPDOWNSLOT>
|
| 1.127 |
29-Jan-2022 |
msaitoh |
Decode Intel Hybrid Information Enumeration (CPUID Fn0000_001a).
|
| 1.126 |
27-Jan-2022 |
msaitoh |
Remove debug code and simplify. No functional change.
|
| 1.125 |
13-Jan-2022 |
msaitoh |
Add Alder Lake, Rocket Lake and Sapphire Rapids. From the latest Intel SDM.
|
| 1.124 |
09-Dec-2021 |
msaitoh |
Print 1GB TLB entry at the same leve's line.
Example: before: cpu0: ITLB: 128 4KB entries 8-way, 2M/4M: 8 entries cpu0: DTLB: 64 4KB entries 4-way cpu0: L2 STLB: 4K/2M: 1024 entries cpu0: L1 1GB page DTLB: 4 1GB entries 4-way
after: cpu0: ITLB: 128 4KB entries 8-way, 2M/4M: 8 entries cpu0: DTLB: 64 4KB entries 4-way, 4 1GB entries 4-way cpu0: L2 STLB: 4K/2M: 1024 entries
|
| 1.123 |
27-Oct-2021 |
mrg |
decode SMT parts for AMD family >= 0x17, not just 0x17.
now zen3 systems are properly identified by cpu topology for the scheduler and cpuctl identify.
|
| 1.122 |
07-Oct-2021 |
msaitoh |
Move some common functions into x86/identcpu_subr.c. No functional change.
|
| 1.121 |
27-Sep-2021 |
msaitoh |
Improve variable sized TLB's output.
- Fix a bug that STLB is printed as DTLB. - If a TLB is variable sized, print the max size instead of error message. XXX This is temporary solution.
|
| 1.120 |
27-Sep-2021 |
msaitoh |
Add Load Only TLB and Store Only TLB.
|
| 1.119 |
27-Sep-2021 |
msaitoh |
Fix a bug that some TLB related lines were not printed.
|
| 1.118 |
27-Sep-2021 |
msaitoh |
Add ':' for readability.
|
| 1.117 |
12-Jul-2021 |
msaitoh |
Add 0x96(Elkhart Lake) and 0x9c(Jasper Lake). Not listed in SDM but listed in those spec update documents.
|
| 1.116 |
10-Jul-2021 |
msaitoh |
0x6a and 0x6c are 3rd gen Xeon Scalable (Ice Lake).
|
|
Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
|
| 1.115 |
24-Nov-2020 |
msaitoh |
- Print CPUID 0x8000008 %ebx on Intel, too. Intel now supports WBNOINVD. - Print CPUID leaf 7 subleaf 1.
|
| 1.114 |
05-Sep-2020 |
maxv |
x86: fix several CPUID flags
- Rename: CPUID_PN -> CPUID_PSN CPUID_CFLUSH -> CPUID_CLFSH CPUID_SBF -> CPUID_PBE CPUID_LZCNT -> CPUID_ABM CPUID_P1GB -> CPUID_PAGE1GB CPUID2_PCLMUL -> CPUID2_PCLMULQDQ CPUID2_CID -> CPUID2_CNXTID CPUID2_xTPR -> CPUID2_XTPR CPUID2_AES -> CPUID2_AESNI To match the x86 specification and the other OSes.
- Remove: CPUID_B10, CPUID_B20, CPUID_IA64. They do not exist.
|
| 1.113 |
01-Jun-2020 |
msaitoh |
Add 0xa5 and 0xa6 for Comet Lake.
|
|
Revision tags: phil-wifi-20200421
|
| 1.112 |
21-Apr-2020 |
msaitoh |
Get TSC frequency from CPUID 0x15 and/or x16 for newer Intel processors.
- If the max CPUID leaf is >= 0x15, take TSC value from CPUID. Some processors can take TSC/core crystal clock ratio but core crystal clock frequency can't be taken. Intel SDM give us the values for some processors. - It also required to change lapic_per_second to make LAPIC timer correctly. - Add new file x86/x86/identcpu_subr.c to share common subroutines between kernel and userland. Some code in x86/x86/identcpu.c and cpuctl/arch/i386.c will be moved to this file in future. - Add comment to clarify.
|
| 1.111 |
16-Apr-2020 |
msaitoh |
No functional change: - Rename ci_cpuid_level to ci_max_cpuid and ci_cpuid_extlevel to ci_max_ext_cpuid to match x86/include/cpu.h though cpuctl/arch/i386.c added them first. - Sort some entries. - Add comment.
|
|
Revision tags: phil-wifi-20200411 phil-wifi-20200406
|
| 1.110 |
06-Apr-2020 |
msaitoh |
Print CPUID 0x80000007 %edx on both Intel and AMD.
|
| 1.109 |
06-Apr-2020 |
msaitoh |
Remove ci_max_ext_cpuid because it's the same as ci_cpuid_extlevel.
|
|
Revision tags: is-mlppp-base phil-wifi-20191119
|
| 1.108 |
17-Nov-2019 |
msaitoh |
0x7d and 0x7e are for 10th generation Core (Ice Lake).
|
| 1.107 |
03-Oct-2019 |
msaitoh |
- Add definitions of AMD's CPUID Fn8000_001f Encrypted Memory features. - Add definition of AMD's CPUID Fn8000_000a %edx bit 11 "GMET". - Define CPUID_AMD_SVM_PFThreshold correctly. - Modify comment a bit for consistency.
|
| 1.106 |
09-Sep-2019 |
msaitoh |
Call cpu_dcp_cacheinfo() only when the cpuid Topology Extension flag is set on AMD prcessor.
|
| 1.105 |
30-Aug-2019 |
msaitoh |
Decode AMD's CPUID Fn8000_0008 %ebx.
|
|
Revision tags: netbsd-9-base
|
| 1.104 |
26-Jul-2019 |
msaitoh |
branches: 1.104.2; - AMD CPUID Fn8000_0001d Cache Topology Information leaf is almost the same as Intel Deterministic Cache Parameter Leaf(0x04), so make new cpu_dcp_cacheinfo() and share it. - AMD's L2 and L3's cache descriptor's definition is the same, so use one common definition. - KNF.
XXX Split some common functions to new identcpu_subr.c or use #ifdef _KERNEK ... #endif in identcpu.c to share from both kernel and cpuctl?
|
|
Revision tags: phil-wifi-20190609
|
| 1.103 |
29-May-2019 |
msaitoh |
White space fix. No functional change.
|
| 1.102 |
28-May-2019 |
msaitoh |
Update from the latest Intel SDM: - Add Cascade Lake, Copper Lake - Add Future Xeon (Cannon Lake) - Add 06_7DH for another Ice Lake - Add Coffee Lake based Xeon E
|
| 1.101 |
28-May-2019 |
msaitoh |
Revert previous (accidentally committed).
|
| 1.100 |
28-May-2019 |
msaitoh |
Use ETHER_LOCK()/ETHER_UNLOCK() for all ethernet drivers to protect ec_multi*.
|
| 1.99 |
21-May-2019 |
mlelstv |
All MSRs can only be read at privilege level 0. The exact APIC ID cannot be determined on some AMD CPUs.
|
| 1.98 |
11-May-2019 |
kre |
Undo previous. Not needed (and file included isn't installed anyway.
|
| 1.97 |
11-May-2019 |
christos |
need cpufunc.h for rdmsr
|
| 1.96 |
10-May-2019 |
mlelstv |
Get CPU topology data for AMD processors.
|
| 1.95 |
24-Mar-2019 |
msaitoh |
Add HAXM.
|
| 1.94 |
22-Mar-2019 |
msaitoh |
s/TGC/TCG/. Not Tokyo Game Show but Tiny Code Generator.
|
| 1.93 |
22-Mar-2019 |
msaitoh |
- Dump CPUID leaf 0x40000000 if available (for -v option). - Regard "TCGTCGTCGTCG" as QEMU(TGC).
|
| 1.92 |
05-Feb-2019 |
msaitoh |
Add Ice Lake and Tremont from the latest Intel SDM.
|
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118
|
| 1.91 |
06-Jan-2019 |
maxv |
Handle the NVMM signature.
|
|
Revision tags: pgoyette-compat-1226
|
| 1.90 |
26-Nov-2018 |
msaitoh |
Print Intel CPUID Architectural Performance Monitoring leaf Fn0000000a.
|
|
Revision tags: pgoyette-compat-1126
|
| 1.89 |
22-Nov-2018 |
msaitoh |
Decode Intel/AMD MONITOR/MWAIT leaf.
|
| 1.88 |
21-Nov-2018 |
msaitoh |
Decode package, core and SMT id if CPUID 0x0b is available on Intel processor. If the value is different from the kernel value, we should fix the kernel code.
TODO: Use 0x1f if it's available.
|
| 1.87 |
21-Nov-2018 |
msaitoh |
- AMD also reports CPUID 7's highest subleaf. Print it. - Use macro.
|
| 1.86 |
21-Nov-2018 |
msaitoh |
- Use ci_feat_val[7] as CPUID 7 %edx to match x86/cpu.h - AMD also has CPUID 6. - Remove unused code for coretemp. - Consistently use descs[] instead of data[].
|
|
Revision tags: pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
|
| 1.85 |
20-Jun-2018 |
msaitoh |
branches: 1.85.2; Whitespace fix. No functional change.
|
|
Revision tags: pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
|
| 1.84 |
30-Mar-2018 |
msaitoh |
From the latest Intel SDM: - Add Xeon Phi 7215, 7285 and 7295 - Add Coffee Lake
|
|
Revision tags: pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315
|
| 1.83 |
09-Mar-2018 |
msaitoh |
Add yet another Shared L2 TLB (2M/4M pages).
XXX need redesign.
|
|
Revision tags: pgoyette-compat-base
|
| 1.82 |
05-Mar-2018 |
msaitoh |
branches: 1.82.2; Calculate way and number of entries correctly from CPUID leaf 18H.
|
| 1.81 |
05-Mar-2018 |
msaitoh |
- Parse the TLB info from `cpuid leaf 18H' on Intel processor. Currently, this change doesn't decode perfectly. Tested with Gemini Lake. It has two L2 Shared TLB. One is 4MB and another is 2MB/4MB but former isn't printed yet:
cpu0: ITLB 1 4KB entries 48-way cpu0: DTLB 1 4KB entries 32-way cpu0: L2 STLB 8 4MB entries 4-way
Need some rework for struct x86_cache_info. - Use aprint_error_dev() for error output.
|
| 1.80 |
16-Jan-2018 |
mrg |
implement cpuctl identify for sparc and sparc64.
sparc: - move enum vactype and struct cacheinfo into cpu.h - move the cache flags from cpuinfo.flags into CACHEINFO.c_flags (this allows the new cache_printf_backend() to see them.) remove unused CPUFLG_CACHEIOMMUTABLES and CPUFLG_CACHEDVMA. - align xmpsg to 64 bytes - move cache_print() into cache_print.h so it can be shared with cpuctl. it only depends upon a working printf(). - if found, store the CPU node's "name" into cpu_longname. this changes the default output to show the local CPU not the generic CPU family. eg: cpu0 at mainbus0: mid 8: Ross,RT625 @ 90 MHz, on-chip FPU vs the generic "RT620/625" previously shown. - for each CPU export these things: - name - fpuname - mid - cloc - freq - psr impl and version - mmu impl, version, and number of contexts - cacheinfo structure (which changed for the first time ever with this commit.)
sparc64: - add a minimal "cacheinfo" structure to export the i/d/e-cache size and linesize. - store %ver, cpu node "name" and cacheinfo in cpu_info. - set cpu_info ver, name and cacheinfo in cpu_attach(), and export them via sysctl, as well as CPU ID and clock freq
cpuctl: - add identifycpu_bind() that returns false on !x86 as their identify routines do not need to run on a particular CPU to obtain its information, and use it to avoid trying to set affinity when not needed. - add sparc and sparc64 cpu identify support using the newly exported values.
|
| 1.79 |
10-Jan-2018 |
msaitoh |
Print Intel cpuid 7 %edx.
Example output of cpuctl -v identify 0:
+cpu0: 00000007: 00000000 000027ab 00000000 0c000000 (snip) +cpu0: SEF edx 0xc000000<IBRS,STIBP>
|
| 1.78 |
19-Oct-2017 |
msaitoh |
Update from Intel SDM: 0x55: Xeon Scalable (Skylake) 0x57: Xeon Phi [357]200 (Knights Landing) 0x66: Future Core (Cannon Lake) 0x85: Future Xeon Phi (Knights Mill)
|
| 1.77 |
17-Oct-2017 |
msaitoh |
Update from the latest Intel SDM: 0x5c: Atom (Goldmont) 0x5f: Atom (Goldmont, Denverton) 0x7a: Atom (Goldmont Plus)
|
| 1.76 |
16-Oct-2017 |
msaitoh |
- Print ci_feat_val[5] (Structured Extended Feature leaf Fn0000_0007 %ebx) on AMD, too. - Print ci_feat_val[6] (Fn0000_0007 %ecx) on Intel.
|
| 1.75 |
07-Sep-2017 |
msaitoh |
Define CPUID Fn00000001 %ebx bits and use them. No functional change.
|
|
Revision tags: matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
|
| 1.74 |
11-Oct-2016 |
msaitoh |
branches: 1.74.6; Update from the latest Intel SDM: - Denverton - Future Xeon Phi - 7th gen Core (Kaby Lake)
|
|
Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726
|
| 1.73 |
21-Jul-2016 |
msaitoh |
Update processor families from the latest Intel SDM: - 06_4FH: Add Xeon E7 v4 and Core i7-69xx Extreme Edition - 06_57H: Xeon Phi [357]200
|
|
Revision tags: pgoyette-localcount-base
|
| 1.72 |
27-Apr-2016 |
msaitoh |
branches: 1.72.2; Add some name from the latest Intel SDM. - Quark X1000, Xeon E5 v4 and the future processors.
|
| 1.71 |
27-Apr-2016 |
msaitoh |
- Add structure extended feature registers into ci_feat_val[]. The locations are the same as x86/include/cpu.h. Curreltly those values are not used yet. - KNF.
|
| 1.70 |
08-Jan-2016 |
msaitoh |
From the latest Intel SDM: - Add Xeon E3-1200 v5 - Change 0x1c from "Atom Family" to "45nm Atom Family"
|
| 1.69 |
04-Dec-2015 |
msaitoh |
Model 0x5e is also 6th gen Core or Xeon E3-1500 v5 like model 0x4e.
|
| 1.68 |
19-Oct-2015 |
msaitoh |
Add 6th gen Core, Xeon E3-1500 v5 and Xeon D-1500 from the latest Intel SDM.
|
| 1.67 |
01-Jul-2015 |
msaitoh |
Add Xeon E5-4600 v3, Xeon E3-1200 v4 etc. from the latest Intel SDM.
|
| 1.66 |
08-May-2015 |
msaitoh |
Update some Intel CPU models (Sky Lake, Broadwell and Atom X[357]).
|
| 1.65 |
27-Mar-2015 |
msaitoh |
Update from Intel SDM: - Add Atom Z8000, Future gen Xeon (Broadwell), Next gen Xeon Phi and so on. - Add comments.
|
| 1.64 |
11-Dec-2014 |
msaitoh |
Don't print the microcode version if the ioctl failed to not to print garbage.
|
| 1.63 |
11-Dec-2014 |
msaitoh |
Add newline if ci_tsc_freq is 0 to not to break the output.
|
| 1.62 |
20-Nov-2014 |
msaitoh |
Move some printf()s from cpu_probe_base_features() to identifycpu(). Those printf()s are used for "identify" command but cpu_probe_base_features() is shared by ucodeupdate_check(), too. This change fixes a problem that the "ucode" command print extra output.
|
| 1.61 |
11-Nov-2014 |
skrll |
kern/49379: Hypervisor's name typo
|
| 1.60 |
07-Nov-2014 |
msaitoh |
Add code to detect hypervisor. The code was based from FreeBSD and ported by Kengo Nakahara.
|
| 1.59 |
09-Sep-2014 |
msaitoh |
Update CPUID signature values from the latest Intel SDM. - Core M-5xxx - Core i7 extreme - Future Core (0x4e) - Future Xeon (0x56)
|
|
Revision tags: netbsd-7-base tls-earlyentropy-base tls-maxphys-base
|
| 1.58 |
25-Jul-2014 |
msaitoh |
branches: 1.58.2; More update: - Future Atom E3000, Z3000 (0x4a, 0x5a, 0x5d) - Atom C2000 (0x4d)
|
| 1.57 |
25-Jul-2014 |
msaitoh |
Update table for processor families and processor number series from the latest Intel SDM. - Atom Z3000 (0x37) - Core M based on Broadwell (0x3d) - Next gen Xeon based on Haswell (0x3f)
|
| 1.56 |
03-Jul-2014 |
msaitoh |
Exclude descriptor 0xff of CPUID leaf 2. 0xff means the cacheinfo is in leaf 4.
|
| 1.55 |
27-May-2014 |
msaitoh |
If -v is set and unknown cacheinfo desc is found, print it.
|
|
Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
|
| 1.54 |
04-Jan-2014 |
msaitoh |
branches: 1.54.2; - Rename x86_print_cacheinfo() to x86_print_cache_and_tlb_info() because this function prints TLB info, too. - Remove an extra printf when verbose flag is set. - Print the highest extended info level as the basic info level. - Sort function.
|
| 1.53 |
23-Dec-2013 |
msaitoh |
Add verbose flag. On x86 cpu, cpuctl -v identify dumps the return values of the cpuid functions. The max levels are taken from CPUID 0 and CPUID 8000_0000. It's useful for the future CPU.
|
| 1.52 |
23-Dec-2013 |
msaitoh |
CPUID leaf 2 and 4 are only for Intel processors.
|
| 1.51 |
23-Dec-2013 |
msaitoh |
Add comments. Remove comments. No functional change.
|
| 1.50 |
15-Nov-2013 |
msaitoh |
Modify some macros and add some new macros for CPU family and model to reduce code duplication and to avoid bug.
CPUID_TO_STEPPING(cpuid) (not changed)
CPUID_TO_FAMILY(cpuid) (new) CPUID_TO_MODEL(cpuid) (new)
Return the display family and the display model. The macro names are the same as FreeBSD.
CPUID_TO_BASEFAMILY(cpuid) (The old name was CPUID2FAMILY) CPUID_TO_BASEMODEL(cpuid) (The old name was CPUID2MODEL)
Only for the base field.
CPUID_TO_EXTFAMILY(cpuid) (The old name was CPUID2EXTFAMILY) CPUID_TO_EXTMODEL(cpuid) (The old name was CPUID2EXTMODEL)
Only for the extended field.
See http://mail-index.netbsd.org/port-amd64/2013/11/12/msg001978.html
|
| 1.49 |
07-Nov-2013 |
msaitoh |
Fix typo. From jnemeth.
|
| 1.48 |
07-Nov-2013 |
msaitoh |
Update some processor names.
|
| 1.47 |
30-Oct-2013 |
mrg |
avoid uninitialised variable use.
|
| 1.46 |
28-Oct-2013 |
msaitoh |
Support prefetch size.
|
| 1.45 |
21-Oct-2013 |
msaitoh |
Check cpuid leaf 4 for newer Intel CPU to know the cache information.
|
| 1.44 |
21-Oct-2013 |
msaitoh |
No functional change: - Add prototypes. - Make some function static. - Sort functions.
|
| 1.43 |
04-Oct-2013 |
msaitoh |
Fix typo in comment (s/XRC0/XCR0/).
|
| 1.42 |
14-Sep-2013 |
msaitoh |
Add shared TLB. KNF.
|
| 1.41 |
13-Sep-2013 |
msaitoh |
Update Intel processors' brand names and model names (e.g. Atom C2000 and E3000) from the latest document.
|
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
| 1.40 |
16-Jul-2013 |
msaitoh |
Update Intel's Processor Family Names of family == 6 from the latest document. Add 0x35(Atom), 0x36(Atom S), 0x3f(future Xeon), 0x46(Haswell) and update some models.
|
|
Revision tags: agc-symver-base
|
| 1.39 |
06-Mar-2013 |
yamt |
print some more bits
|
|
Revision tags: yamt-pagecache-base8
|
| 1.38 |
07-Jan-2013 |
dsl |
Add support for the xsave related data from cpuid 8.n. Reorder the output so that the 'brand' string - which actually identifies the cpu is output first.
|
| 1.37 |
06-Jan-2013 |
dsl |
Use full model number to index name strings - a lot of 256 element arrays don't matter in usespace. Update list of intel family 6 model names (all current cpus) to include everything upto and including sandy bridge and ivy bridge. My i7 is no longer reported as a random P II.
|
| 1.36 |
05-Jan-2013 |
dsl |
The Intel and AMD docs (more or less) agree on how the cpuid 'extended family' and 'extended model' bits are used to create larger values than the original 16bit value allowed for. Calculate and save these values 'up-front' and use them throughout. Untangle the (backwards) nested switch statement for amd 'model 15' cpus. Works as badly as ever on my i7.
|
| 1.35 |
05-Jan-2013 |
dsl |
If the IOC_CPU_UCODE_GET_VERSION fails with ENOTTY, try issuing the request that the amd64 kernel understands.
|
| 1.34 |
05-Jan-2013 |
dsl |
Change the i386 asm x86_identify() so it returns a value instead of writing into global data. Fix a stack alignment fubar that would cause a crash on a cirix 486. Refactor identify code to common setup for normal identify and ucode identify - which was missing a memset().
|
| 1.33 |
02-Jan-2013 |
dsl |
#include sys/ioctl.h
|
|
Revision tags: yamt-pagecache-base7 yamt-pagecache-base6
|
| 1.32 |
29-Aug-2012 |
drochner |
branches: 1.32.2; Extend the CPU microcode update framework to support Intel x86 CPUs. Contrary to the AMD implementation, it doesn't use xcalls to distribute the update to all CPUs but relies on cpuctl(8) to bind itself to the right CPU -- to keep it simple and avoid possible problems with hyperthreading. Also, it doesn't parse the vendor supplied file to pick the right part for the present CPU model but relies on userland to prepare files with specific filenames. I'll commit a pkg for this in a minute (pkgsrc/sysutils/intel-microcode). The ioctl interface changed; compatibility is provided (should be limited to COMPAT_NETBSD6 as soon as this is available).
|
|
Revision tags: yamt-pagecache-base5
|
| 1.31 |
17-Apr-2012 |
cegger |
print cpu family for AMD CPU families 0x12 - 0x15
|
|
Revision tags: yamt-pagecache-base4
|
| 1.30 |
05-Apr-2012 |
cegger |
report l3 cache information on AMD Family 10h and newer processors
|
| 1.29 |
02-Mar-2012 |
sborrill |
Print CPU stepping level
|
| 1.28 |
29-Feb-2012 |
joerg |
Use uintmax_t for freqency computations to avoid differences between platforms.
|
|
Revision tags: netbsd-6-base
|
| 1.27 |
03-Feb-2012 |
yamt |
branches: 1.27.2; use a correct macro. releng@ ok
|
| 1.26 |
04-Dec-2011 |
chs |
add info on L2 TLBs and 1GB pages.
|
|
Revision tags: yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base
|
| 1.25 |
03-May-2011 |
jruoho |
branches: 1.25.4; Identify AMD Family 11h. From PR bin/41188 by FUKAUMI Naoki.
|
|
Revision tags: bouyer-quota2-nbase
|
| 1.24 |
19-Feb-2011 |
jmcneill |
fix printing of padlock features
|
|
Revision tags: bouyer-quota2-base matt-mips64-premerge-20101231
|
| 1.23 |
15-Dec-2010 |
cegger |
branches: 1.23.2; beautify printing of SVM features across multiple lines
|
| 1.22 |
23-Feb-2010 |
cegger |
check for svm feature flags if cpuid function 0x8000000a is available.
|
| 1.21 |
16-Feb-2010 |
mrg |
don't call most/all Core2's "(Merom)".
|
|
Revision tags: matt-premerge-20091211
|
| 1.20 |
02-Oct-2009 |
jmcneill |
- add newer VIA C7 core and VIA Nano. - when printing an unknown VIA CPU, default to 'Unknown IDT/VIA' instead of 'C3'
|
| 1.19 |
14-May-2009 |
pgoyette |
Add a few more processor extended models for Intel Family 6
|
| 1.18 |
13-May-2009 |
pgoyette |
1. Extend CPU probe of Intel processors to handle extended-models. This allows us to properly identify new Intel 45nm processors, Core i7, Atom, and the 45nm Xeon MP.
2. Properly decode several new Intel cache descriptors, as listed in the most recent (March 2009) edition of Intel's Application Note 485.
3. Convert decode of the various features masks to use the newly added snprintb_m(3) routine.
Addresses my PR bin/41289 Addresses my PR bin/41290
|
|
Revision tags: jym-xensuspend-nbase jym-xensuspend-base
|
| 1.17 |
22-Apr-2009 |
christos |
WARNS=4
|
| 1.16 |
16-Mar-2009 |
tsutsui |
Increase size of buffer for humanize_number(3) to print cache sizes so that it can return 128KB, 256KB and 512KB properly instead of truncated 0MB or rounded 1MB.
Problem reported by nisimura@ on port-amd64 and port-i386.
|
| 1.15 |
12-Mar-2009 |
yamt |
print some SVM info if available.
|
| 1.14 |
16-Dec-2008 |
christos |
branches: 1.14.2; Remove 3rd buggy copy of this function and use snprintb(3) instead. No need to allocate MAXPATHLEN buffers anymore.
|
|
Revision tags: netbsd-5-base matt-mips64-base2
|
| 1.13 |
14-Oct-2008 |
cegger |
branches: 1.13.2; do correct octal counting and use CPUID_APM_FLAGS in cpuctl
|
| 1.12 |
13-Oct-2008 |
cegger |
print features4: cpuid fn80000001 %ecx on AMD CPUs.
|
| 1.11 |
13-Oct-2008 |
cegger |
Add cpuid 0x80000001 %ecx features flags. Rename CPUID_MASK4 to CPUID_INTEL_MASK4 for consistency with new CPUID_AMD_MASK4
|
|
Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
| 1.10 |
24-Aug-2008 |
pgoyette |
1. For non-Intel vendors, don't overload cpuflags with the extended flags from CPUID 80000001_EDX. Instead, keep the extended flags separate, in ci_feature3_flags (Intel processors already kept a separate ci_feature3_flag value).
2. Decode/display ci_feature3_flag in a vendor-specific manner, since the definitions are vendor-specific.
OK cegger@
|
|
Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 wrstuden-revivesa-base
|
| 1.9 |
31-May-2008 |
christos |
change HUMAN_NUMBER back to 5
|
| 1.8 |
30-May-2008 |
christos |
remove stray `
|
| 1.7 |
30-May-2008 |
christos |
- fix an amd cache entry. - merge tables - support phenom from Paul Goyette
|
| 1.6 |
30-May-2008 |
christos |
de-duplicated cacheinfo.h
|
| 1.5 |
21-May-2008 |
ad |
Print AMD power management features.
|
|
Revision tags: hpcarm-cleanup-nbase yamt-pf42-base2 yamt-pf42-base
|
| 1.4 |
17-May-2008 |
tsutsui |
branches: 1.4.2; Sync intel_cpuid_cache_info with src/sys/arch/x86/x86/identcpu.c.
|
| 1.3 |
15-May-2008 |
chris |
Fix two sizeof(__arraycount()) to not use sizeof when looking up the size of the array.
This fixes a crash when run on amd phenom under amd64.
Issue reported and inital patch by Paul Goyette.
|
| 1.2 |
10-May-2008 |
ad |
Report: family, model, extfamily, extmodel
|
| 1.1 |
05-May-2008 |
ad |
branches: 1.1.2; PR port-amd64/37461 x86 cpu dmesg output is noisy
Port identifycpu() to userspace. The kernel lies and reports on cpuN while actually using the values from cpu0, but this attempts to bind itself to the requested CPU if running as root. That doesn't work properly yet due to kern/38588, but will do once that's fixed.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base netbsd-9-3-RELEASE cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
| 1.6 |
16-Jan-2018 |
mrg |
implement cpuctl identify for sparc and sparc64.
sparc: - move enum vactype and struct cacheinfo into cpu.h - move the cache flags from cpuinfo.flags into CACHEINFO.c_flags (this allows the new cache_printf_backend() to see them.) remove unused CPUFLG_CACHEIOMMUTABLES and CPUFLG_CACHEDVMA. - align xmpsg to 64 bytes - move cache_print() into cache_print.h so it can be shared with cpuctl. it only depends upon a working printf(). - if found, store the CPU node's "name" into cpu_longname. this changes the default output to show the local CPU not the generic CPU family. eg: cpu0 at mainbus0: mid 8: Ross,RT625 @ 90 MHz, on-chip FPU vs the generic "RT620/625" previously shown. - for each CPU export these things: - name - fpuname - mid - cloc - freq - psr impl and version - mmu impl, version, and number of contexts - cacheinfo structure (which changed for the first time ever with this commit.)
sparc64: - add a minimal "cacheinfo" structure to export the i/d/e-cache size and linesize. - store %ver, cpu node "name" and cacheinfo in cpu_info. - set cpu_info ver, name and cacheinfo in cpu_attach(), and export them via sysctl, as well as CPU ID and clock freq
cpuctl: - add identifycpu_bind() that returns false on !x86 as their identify routines do not need to run on a particular CPU to obtain its information, and use it to avoid trying to set affinity when not needed. - add sparc and sparc64 cpu identify support using the newly exported values.
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-7-2-RELEASE netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base
|
| 1.5 |
17-Oct-2012 |
drochner |
avoid dummy structure definition, include a system header instead, looks just cleaner
|
| 1.4 |
31-Aug-2012 |
drochner |
branches: 1.4.2; fix for archs w/o cpu ucode driver: add dummy definition
|
| 1.3 |
29-Aug-2012 |
drochner |
Extend the CPU microcode update framework to support Intel x86 CPUs. Contrary to the AMD implementation, it doesn't use xcalls to distribute the update to all CPUs but relies on cpuctl(8) to bind itself to the right CPU -- to keep it simple and avoid possible problems with hyperthreading. Also, it doesn't parse the vendor supplied file to pick the right part for the present CPU model but relies on userland to prepare files with specific filenames. I'll commit a pkg for this in a minute (pkgsrc/sysutils/intel-microcode). The ioctl interface changed; compatibility is provided (should be limited to COMPAT_NETBSD6 as soon as this is available).
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-pf42-base wrstuden-revivesa-base
|
| 1.2 |
06-May-2008 |
skrll |
branches: 1.2.4; 1.2.6; Make this compile.
|
| 1.1 |
05-May-2008 |
ad |
PR port-amd64/37461 x86 cpu dmesg output is noisy
Port identifycpu() to userspace. The kernel lies and reports on cpuN while actually using the values from cpu0, but this attempts to bind itself to the requested CPU if running as root. That doesn't work properly yet due to kern/38588, but will do once that's fixed.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base
|
| 1.2 |
11-Dec-2021 |
mrg |
remove clause 3 from all my licenses that aren't conflicting with another copyright claim line. again. (i did this in 2008 and then did not update all of my personal templates.)
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
| 1.1 |
16-Jan-2018 |
mrg |
implement cpuctl identify for sparc and sparc64.
sparc: - move enum vactype and struct cacheinfo into cpu.h - move the cache flags from cpuinfo.flags into CACHEINFO.c_flags (this allows the new cache_printf_backend() to see them.) remove unused CPUFLG_CACHEIOMMUTABLES and CPUFLG_CACHEDVMA. - align xmpsg to 64 bytes - move cache_print() into cache_print.h so it can be shared with cpuctl. it only depends upon a working printf(). - if found, store the CPU node's "name" into cpu_longname. this changes the default output to show the local CPU not the generic CPU family. eg: cpu0 at mainbus0: mid 8: Ross,RT625 @ 90 MHz, on-chip FPU vs the generic "RT620/625" previously shown. - for each CPU export these things: - name - fpuname - mid - cloc - freq - psr impl and version - mmu impl, version, and number of contexts - cacheinfo structure (which changed for the first time ever with this commit.)
sparc64: - add a minimal "cacheinfo" structure to export the i/d/e-cache size and linesize. - store %ver, cpu node "name" and cacheinfo in cpu_info. - set cpu_info ver, name and cacheinfo in cpu_attach(), and export them via sysctl, as well as CPU ID and clock freq
cpuctl: - add identifycpu_bind() that returns false on !x86 as their identify routines do not need to run on a particular CPU to obtain its information, and use it to avoid trying to set affinity when not needed. - add sparc and sparc64 cpu identify support using the newly exported values.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base
|
| 1.2 |
11-Dec-2021 |
mrg |
remove clause 3 from all my licenses that aren't conflicting with another copyright claim line. again. (i did this in 2008 and then did not update all of my personal templates.)
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
| 1.1 |
16-Jan-2018 |
mrg |
implement cpuctl identify for sparc and sparc64.
sparc: - move enum vactype and struct cacheinfo into cpu.h - move the cache flags from cpuinfo.flags into CACHEINFO.c_flags (this allows the new cache_printf_backend() to see them.) remove unused CPUFLG_CACHEIOMMUTABLES and CPUFLG_CACHEDVMA. - align xmpsg to 64 bytes - move cache_print() into cache_print.h so it can be shared with cpuctl. it only depends upon a working printf(). - if found, store the CPU node's "name" into cpu_longname. this changes the default output to show the local CPU not the generic CPU family. eg: cpu0 at mainbus0: mid 8: Ross,RT625 @ 90 MHz, on-chip FPU vs the generic "RT620/625" previously shown. - for each CPU export these things: - name - fpuname - mid - cloc - freq - psr impl and version - mmu impl, version, and number of contexts - cacheinfo structure (which changed for the first time ever with this commit.)
sparc64: - add a minimal "cacheinfo" structure to export the i/d/e-cache size and linesize. - store %ver, cpu node "name" and cacheinfo in cpu_info. - set cpu_info ver, name and cacheinfo in cpu_attach(), and export them via sysctl, as well as CPU ID and clock freq
cpuctl: - add identifycpu_bind() that returns false on !x86 as their identify routines do not need to run on a particular CPU to obtain its information, and use it to avoid trying to set affinity when not needed. - add sparc and sparc64 cpu identify support using the newly exported values.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base netbsd-9-3-RELEASE cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
|
| 1.7 |
21-May-2019 |
mlelstv |
All MSRs can only be read at privilege level 0. The exact APIC ID cannot be determined on some AMD CPUs.
|
| 1.6 |
10-May-2019 |
mlelstv |
Get CPU topology data for AMD processors.
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
| 1.5 |
01-Mar-2015 |
tnn |
branches: 1.5.16; xgetbv expects XCR0 to be speficied in %ecx, don't leave %ecx undefined
|
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 tls-maxphys-base
|
| 1.4 |
07-Jan-2013 |
dsl |
branches: 1.4.8; Add support for the xsave related data from cpuid 8.n. Reorder the output so that the 'brand' string - which actually identifies the cpu is output first.
|
| 1.3 |
05-Jan-2013 |
dsl |
Fix x86_identify() for amd64
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2
|
| 1.2 |
19-Oct-2008 |
christos |
branches: 1.2.18; 1.2.20; 1.2.24; fix so that we can compile with PIC
|
|
Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-pf42-base wrstuden-revivesa-base
|
| 1.1 |
05-May-2008 |
ad |
branches: 1.1.4; PR port-amd64/37461 x86 cpu dmesg output is noisy
Port identifycpu() to userspace. The kernel lies and reports on cpuN while actually using the values from cpu0, but this attempts to bind itself to the requested CPU if running as root. That doesn't work properly yet due to kern/38588, but will do once that's fixed.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base netbsd-9-3-RELEASE cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 netbsd-7-2-RELEASE pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 tls-maxphys-base matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-pf42-base wrstuden-revivesa-base
|
| 1.1 |
05-May-2008 |
ad |
branches: 1.1.4; PR port-amd64/37461 x86 cpu dmesg output is noisy
Port identifycpu() to userspace. The kernel lies and reports on cpuN while actually using the values from cpu0, but this attempts to bind itself to the requested CPU if running as root. That doesn't work properly yet due to kern/38588, but will do once that's fixed.
|