Module Name:    src
Committed By:   thorpej
Date:           Sat Aug 29 20:07:00 UTC 2020

Modified Files:
        src/sys/arch/alpha/alpha: cpu.c ipifuncs.c pmap.c vm_machdep.c
        src/sys/arch/alpha/include: cpu.h intr.h pmap.h

Log Message:
- Centralize per-CPU pmap initialization into a new pmap_init_cpu()
  function.  Call in from pmap_bootstrap() for the boot CPU, and
  from cpu_hatch() for secondaary CPUs.
- Eliminiate the dedicated I-stream memory barrier IPI; handle it all from
  the TLB shootdown IPI.  Const poison, and add some additional memory
  barriers and a TBIA to the PAUSE IPI.
- Completly rewrite TLB management in the alpha pmap module, borrowing
  somoe ideas from the x86 pmap and adapting them to the alpha environment.
  See the comments for theory of operation.  Add a bunch of stats that
  can be reported (disabled by default).
- Add some additional symbol decorations to improve cache behavior on
  MP systems.  Ensure coherency unit alignment for several structures
  in the pmap module.  Use hashed locks for pmap structures.
- Start out all new processes on the kernel page tables until their
  first trip though pmap_activate() to avoid the potential of polluting
  the current ASN in TLB with cross-process mappings.


To generate a diff of this commit:
cvs rdiff -u -r1.98 -r1.99 src/sys/arch/alpha/alpha/cpu.c
cvs rdiff -u -r1.51 -r1.52 src/sys/arch/alpha/alpha/ipifuncs.c
cvs rdiff -u -r1.268 -r1.269 src/sys/arch/alpha/alpha/pmap.c
cvs rdiff -u -r1.115 -r1.116 src/sys/arch/alpha/alpha/vm_machdep.c
cvs rdiff -u -r1.88 -r1.89 src/sys/arch/alpha/include/cpu.h
cvs rdiff -u -r1.72 -r1.73 src/sys/arch/alpha/include/intr.h
cvs rdiff -u -r1.82 -r1.83 src/sys/arch/alpha/include/pmap.h

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

Reply via email to