Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src

Module Name:    src
Committed By:   mrg
Date:           Tue Jan 16 08:23:18 UTC 2018

Modified Files:
        src/sys/arch/sparc/include: cpu.h
        src/sys/arch/sparc/sparc: cache.c cache.h cpu.c cpuvar.h pmap.c
        src/sys/arch/sparc64/include: cpu.h
        src/sys/arch/sparc64/sparc64: cpu.c
        src/usr.sbin/cpuctl: cpuctl.c cpuctl.h
        src/usr.sbin/cpuctl/arch: arm.c i386.c noarch.c
Added Files:
        src/sys/arch/sparc/sparc: cache_print.h
        src/usr.sbin/cpuctl/arch: sparc.c sparc64.c

Log Message:
implement cpuctl identify for sparc and sparc64.

- 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.)
- 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.)

- 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

- 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.

To generate a diff of this commit:
cvs rdiff -u -r1.99 -r1.100 src/sys/arch/sparc/include/cpu.h
cvs rdiff -u -r1.99 -r1.100 src/sys/arch/sparc/sparc/cache.c
cvs rdiff -u -r1.35 -r1.36 src/sys/arch/sparc/sparc/cache.h
cvs rdiff -u -r0 -r1.1 src/sys/arch/sparc/sparc/cache_print.h
cvs rdiff -u -r1.250 -r1.251 src/sys/arch/sparc/sparc/cpu.c
cvs rdiff -u -r1.94 -r1.95 src/sys/arch/sparc/sparc/cpuvar.h
cvs rdiff -u -r1.361 -r1.362 src/sys/arch/sparc/sparc/pmap.c
cvs rdiff -u -r1.123 -r1.124 src/sys/arch/sparc64/include/cpu.h
cvs rdiff -u -r1.132 -r1.133 src/sys/arch/sparc64/sparc64/cpu.c
cvs rdiff -u -r1.28 -r1.29 src/usr.sbin/cpuctl/cpuctl.c
cvs rdiff -u -r1.5 -r1.6 src/usr.sbin/cpuctl/cpuctl.h
cvs rdiff -u -r1.1 -r1.2 src/usr.sbin/cpuctl/arch/arm.c
cvs rdiff -u -r1.79 -r1.80 src/usr.sbin/cpuctl/arch/i386.c
cvs rdiff -u -r1.5 -r1.6 src/usr.sbin/cpuctl/arch/noarch.c
cvs rdiff -u -r0 -r1.1 src/usr.sbin/cpuctl/arch/sparc.c \

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Home | Main Index | Thread Index | Old Index