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.