Module Name:    src
Committed By:   martin
Date:           Mon Jul 31 13:44:17 UTC 2023

Modified Files:
        src/sys/arch/aarch64/aarch64 [netbsd-9]: cpuswitch.S locore.S
        src/sys/arch/arm/arm [netbsd-9]: armv6_start.S
        src/sys/arch/arm/arm32 [netbsd-9]: cpuswitch.S
        src/sys/arch/evbmips/ingenic [netbsd-9]: cpu_startup.S
        src/sys/arch/hppa/include [netbsd-9]: cpu.h
        src/sys/arch/ia64/ia64 [netbsd-9]: machdep.c vm_machdep.c
        src/sys/arch/mips/include [netbsd-9]: asm.h
        src/sys/arch/mips/mips [netbsd-9]: locore.S locore_mips3.S
        src/sys/arch/powerpc/powerpc [netbsd-9]: locore_subr.S
        src/sys/arch/sparc/sparc [netbsd-9]: locore.s
        src/sys/arch/sparc64/sparc64 [netbsd-9]: locore.s
        src/sys/arch/vax/vax [netbsd-9]: subr.S

Log Message:
Pull up following revision(s) (requested by riastradh in ticket #1676):

        sys/arch/ia64/ia64/vm_machdep.c: revision 1.18
        sys/arch/powerpc/powerpc/locore_subr.S: revision 1.67
        sys/arch/aarch64/aarch64/locore.S: revision 1.91
        sys/arch/mips/include/asm.h: revision 1.74
        sys/arch/hppa/include/cpu.h: revision 1.13
        sys/arch/arm/arm/armv6_start.S: revision 1.38
        sys/arch/evbmips/ingenic/cpu_startup.S: revision 1.2
        sys/arch/mips/mips/locore.S: revision 1.229
        sys/arch/aarch64/aarch64/cpuswitch.S: revision 1.40
        sys/arch/alpha/include/asm.h: revision 1.45
        sys/arch/sparc64/sparc64/locore.s: revision 1.432
        sys/arch/vax/vax/subr.S: revision 1.42
        sys/arch/mips/mips/locore_mips3.S: revision 1.116
        sys/arch/ia64/ia64/machdep.c: revision 1.44
        sys/arch/arm/arm32/cpuswitch.S: revision 1.106
        sys/arch/sparc/sparc/locore.s: revision 1.284
        (all via patch)

aarch64: Add missing barriers in cpu_switchto.
Details in comments.

Note: This is a conservative change that inserts a barrier where
there was a comment saying none is needed, which is probably correct.
The goal of this change is to systematically add barriers to be
confident in correctness; subsequent changes may remove some bariers,
as an optimization, with an explanation of why each barrier is not
needed.

PR kern/57240

alpha: Add missing barriers in cpu_switchto.
Details in comments.

arm32: Add missing barriers in cpu_switchto.
Details in comments.

hppa: Add missing barriers in cpu_switchto.
Not sure hppa has ever had working MULTIPROCESSOR, so maybe no
pullups needed?

ia64: Add missing barriers in cpu_switchto.
(ia64 has never really worked, so no pullups needed, right?)

mips: Add missing barriers in cpu_switchto.
Details in comments.

powerpc: Add missing barriers in cpu_switchto.
Details in comments.

sparc: Add missing barriers in cpu_switchto.

sparc64: Add missing barriers in cpu_switchto.
Details in comments.

vax: Note where cpu_switchto needs barriers.

Not sure vax has ever had working MULTIPROCESSOR, though, and I'm not
even sure how to spell store-before-load barriers on VAX, so no
functional change for now.


To generate a diff of this commit:
cvs rdiff -u -r1.11.4.1 -r1.11.4.2 src/sys/arch/aarch64/aarch64/cpuswitch.S
cvs rdiff -u -r1.39.2.5 -r1.39.2.6 src/sys/arch/aarch64/aarch64/locore.S
cvs rdiff -u -r1.14 -r1.14.2.1 src/sys/arch/arm/arm/armv6_start.S
cvs rdiff -u -r1.93 -r1.93.4.1 src/sys/arch/arm/arm32/cpuswitch.S
cvs rdiff -u -r1.1 -r1.1.26.1 src/sys/arch/evbmips/ingenic/cpu_startup.S
cvs rdiff -u -r1.5 -r1.5.4.1 src/sys/arch/hppa/include/cpu.h
cvs rdiff -u -r1.43 -r1.43.4.1 src/sys/arch/ia64/ia64/machdep.c
cvs rdiff -u -r1.16 -r1.16.4.1 src/sys/arch/ia64/ia64/vm_machdep.c
cvs rdiff -u -r1.55 -r1.55.4.1 src/sys/arch/mips/include/asm.h
cvs rdiff -u -r1.219.4.1 -r1.219.4.2 src/sys/arch/mips/mips/locore.S
cvs rdiff -u -r1.114 -r1.114.8.1 src/sys/arch/mips/mips/locore_mips3.S
cvs rdiff -u -r1.57.4.2 -r1.57.4.3 src/sys/arch/powerpc/powerpc/locore_subr.S
cvs rdiff -u -r1.274 -r1.274.2.1 src/sys/arch/sparc/sparc/locore.s
cvs rdiff -u -r1.421 -r1.421.2.1 src/sys/arch/sparc64/sparc64/locore.s
cvs rdiff -u -r1.36 -r1.36.4.1 src/sys/arch/vax/vax/subr.S

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

Reply via email to