Source-Changes archive

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

CVS commit: [netbsd-11] src



Module Name:    src
Committed By:   martin
Date:           Sun Oct 19 10:29:22 UTC 2025

Modified Files:
        src/common/lib/libc/arch/i386/atomic [netbsd-11]: atomic.S
        src/common/lib/libc/arch/sparc/atomic [netbsd-11]: membar_ops.S
        src/common/lib/libc/arch/sparc64/atomic [netbsd-11]: membar_ops.S
        src/common/lib/libc/arch/x86_64/atomic [netbsd-11]: atomic.S
        src/distrib/sets/lists/comp [netbsd-11]: mi
        src/share/man/man9 [netbsd-11]: Makefile
        src/sys/arch/alpha/alpha [netbsd-11]: locore.s
        src/sys/arch/amd64/amd64 [netbsd-11]: cpufunc.S
        src/sys/arch/arm/arm [netbsd-11]: cpu_subr.c
        src/sys/arch/hppa/hppa [netbsd-11]: support.S
        src/sys/arch/i386/i386 [netbsd-11]: cpufunc.S
        src/sys/arch/mips/mips [netbsd-11]: cpu_subr.c
        src/sys/arch/riscv/riscv [netbsd-11]: cpu_subr.c
        src/sys/arch/sparc/sparc [netbsd-11]: locore.s
        src/sys/arch/sparc64/sparc64 [netbsd-11]: locore.s
        src/sys/arch/virt68k/virt68k [netbsd-11]: locore.s
Added Files:
        src/share/man/man9 [netbsd-11]: paravirt_membar_sync.9
        src/sys/sys [netbsd-11]: paravirt_membar.h

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

        sys/arch/sparc/sparc/locore.s: revision 1.287
        share/man/man9/Makefile: revision 1.475
        sys/arch/mips/mips/cpu_subr.c: revision 1.65
        sys/arch/riscv/riscv/cpu_subr.c: revision 1.6
        sys/arch/mips/mips/cpu_subr.c: revision 1.66
        sys/arch/amd64/amd64/cpufunc.S: revision 1.70
        common/lib/libc/arch/i386/atomic/atomic.S: revision 1.38
        common/lib/libc/arch/sparc/atomic/membar_ops.S: revision 1.9
        sys/arch/hppa/hppa/support.S: revision 1.9
        sys/arch/alpha/alpha/locore.s: revision 1.145
        share/man/man9/paravirt_membar_sync.9: revision 1.1
        sys/arch/sparc64/sparc64/locore.s: revision 1.436
        distrib/sets/lists/comp/mi: revision 1.2499
        sys/arch/i386/i386/cpufunc.S: revision 1.54
        common/lib/libc/arch/sparc64/atomic/membar_ops.S: revision 1.10
        sys/sys/paravirt_membar.h: revision 1.1
        sys/arch/arm/arm/cpu_subr.c: revision 1.6
        sys/arch/virt68k/virt68k/locore.s: revision 1.17
        common/lib/libc/arch/x86_64/atomic/atomic.S: revision 1.32

paravirt_membar_sync(9): New memory barrier.

For use in paravirtualized drivers which require store-before-load
ordering -- irrespective of whether the kernel is built for a single
processor, or whether the (virtual) machine is booted with a single
processor.

This is even required on architectures that don't even have a
store-before-load ordering barrier, like m68k; adding, e.g., a virtio
bus is _as if_ the architecture has been extended with relaxed memory
ordering when talking with that new bus.  Such architectures need
some way to request the hypervisor enforce that ordering -- on m68k,
that's done by issuing a CASL instruction, which qemu maps to an
atomic r/m/w with sequential consistency ordering in the host.

PR kern/59618: occasional virtio block device lock ups/hangs

mips: Fix asm arch options in new paravirt_membar_sync.
Need to explicitly enable mips2 (MIPS-II) instructions in order to
use sync.  Fixes:
/tmp/ccxgOmXc.s: Assembler messages:
/tmp/ccxgOmXc.s:3576: Error: opcode not supported on this processor: mips1 (mips1) `sync'
--- cpu_subr.o ---
*** Failed target: cpu_subr.o

PR kern/59618: occasional virtio block device lock ups/hangs


To generate a diff of this commit:
cvs rdiff -u -r1.37 -r1.37.2.1 src/common/lib/libc/arch/i386/atomic/atomic.S
cvs rdiff -u -r1.8 -r1.8.10.1 \
    src/common/lib/libc/arch/sparc/atomic/membar_ops.S
cvs rdiff -u -r1.9 -r1.9.10.1 \
    src/common/lib/libc/arch/sparc64/atomic/membar_ops.S
cvs rdiff -u -r1.31 -r1.31.2.1 \
    src/common/lib/libc/arch/x86_64/atomic/atomic.S
cvs rdiff -u -r1.2497.2.2 -r1.2497.2.3 src/distrib/sets/lists/comp/mi
cvs rdiff -u -r1.474 -r1.474.2.1 src/share/man/man9/Makefile
cvs rdiff -u -r0 -r1.1.2.2 src/share/man/man9/paravirt_membar_sync.9
cvs rdiff -u -r1.144 -r1.144.2.1 src/sys/arch/alpha/alpha/locore.s
cvs rdiff -u -r1.69 -r1.69.2.1 src/sys/arch/amd64/amd64/cpufunc.S
cvs rdiff -u -r1.5 -r1.5.12.1 src/sys/arch/arm/arm/cpu_subr.c
cvs rdiff -u -r1.8 -r1.8.2.1 src/sys/arch/hppa/hppa/support.S
cvs rdiff -u -r1.53 -r1.53.2.1 src/sys/arch/i386/i386/cpufunc.S
cvs rdiff -u -r1.64 -r1.64.8.1 src/sys/arch/mips/mips/cpu_subr.c
cvs rdiff -u -r1.5 -r1.5.4.1 src/sys/arch/riscv/riscv/cpu_subr.c
cvs rdiff -u -r1.286 -r1.286.2.1 src/sys/arch/sparc/sparc/locore.s
cvs rdiff -u -r1.435 -r1.435.2.1 src/sys/arch/sparc64/sparc64/locore.s
cvs rdiff -u -r1.16 -r1.16.2.1 src/sys/arch/virt68k/virt68k/locore.s
cvs rdiff -u -r0 -r1.1.2.2 src/sys/sys/paravirt_membar.h

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