NetBSD/src nExyUbEsys/arch/sun2/sun2 locore.s locore2.c, sys/arch/sun3/sun3 locore.s locore2.c

   Move initialization of %dfc and %sfc into _bootstrap() (which will
   eventually itself be re-factored to reduce duplication).  Also, catch
   up with the others: no need to initialize %usp before calling main().
VersionDeltaFile
1.121+1-17sys/arch/sun3/sun3/locore.s
1.48+1-17sys/arch/sun2/sun2/locore.s
1.85+1-17sys/arch/sun3/sun3x/locore.s
1.106+10-2sys/arch/sun3/sun3/locore2.c
1.45+10-2sys/arch/sun3/sun3x/locore2.c
1.31+10-2sys/arch/sun2/sun2/locore2.c
+33-576 files

NetBSD/src wpRdCnrsys/arch/virt68k/virt68k locore.s

   paravirt_membar_sync(): "moveq #0,%d0" is faster on real hardware than
   "clrl %d0", and may be faster in some emulators, too, so use that.
VersionDeltaFile
1.43+2-2sys/arch/virt68k/virt68k/locore.s
+2-21 files

NetBSD/src L9yT8Bjsys/arch/cesfic/cesfic locore.s, sys/arch/hp300/hp300 locore.s

   For many many years now, it has been unnecessary to initialize the user
   stack pointer before calling main().  TL;DR - %usp comes from the exception
   frame and is restored in the syscall stub (always) or rei (if an AST is
   pending).  For newly-forked processes, those take the non-AST path through
   rei, but lwp_trampoline() takes care of it in that case.
VersionDeltaFile
1.160+1-5sys/arch/mvme68k/mvme68k/locore.s
1.108+1-5sys/arch/news68k/news68k/locore.s
1.42+1-5sys/arch/virt68k/virt68k/locore.s
1.155+1-5sys/arch/x68k/x68k/locore.s
1.64+1-5sys/arch/cesfic/cesfic/locore.s
1.211+1-5sys/arch/hp300/hp300/locore.s
+6-302 files not shown
+8-408 files

NetBSD/src CiC3M4Asys/arch/sun2/sun2 locore2.c locore.s, sys/arch/sun3/sun3 locore2.c locore.s

   Set up the fake exception frame and initialize lwp0.l_md.md_regs in
   _vm_init() and return the new lwp0 stack pointer via _bootstrap().
VersionDeltaFile
1.30+21-19sys/arch/sun2/sun2/locore2.c
1.105+19-17sys/arch/sun3/sun3/locore2.c
1.44+19-16sys/arch/sun3/sun3x/locore2.c
1.120+6-18sys/arch/sun3/sun3/locore.s
1.47+6-18sys/arch/sun2/sun2/locore.s
1.84+6-18sys/arch/sun3/sun3x/locore.s
+77-1066 files

NetBSD/src xJZNAd6bin/sh expand.c expand.h

   PR bin/60099 - Fix unquoted $* ($@) expansion

   Make unquoted $* (or $@) when used in a context where field
   splitting happens (which requires unquoted of course) generate
   the same result, always, as would have been obtained had the
   number of params been known, and
        $1 $2 $3 ... ${n}               (n is the value of $#)
   been used instead of $* - so for x$*y, for any strings x & y
   (including empty), the equivalent would be
        x$1 $2 $3 ... ${n}y

   This must hold, whatever the setting of IFS (which affects
   how the fields generated are field split after they appear,
   but should not affect the generation of those fields).

   The bug this fixes is (in practice) never encountered, which is
   how it has persisted for so long, and in so many different shells.
   The method that was previously used to expand $* in this situation
   would work perfectly, if the first character of ${IFS} was an IFS

    [28 lines not shown]
VersionDeltaFile
1.148+224-80bin/sh/expand.c
1.27+12-10bin/sh/expand.h
+236-902 files

NetBSD/src VNF3lTUbin/sh parser.h

   Minor cleanups

   Cleanup CTLccc char definitions (layout only):
        #define [space|tab] consistency, align value column,
        add hex equivalents (in comments) for octal char values

   Minor changes to comments.

   NFC.
VersionDeltaFile
1.32+22-18bin/sh/parser.h
+22-181 files

NetBSD/src lgaPXm1bin/sh shell.h

   Add DEBUG_ONLY() to include anything in DEBUG code

   DEBUG_ONLY(x) expands to its arg, which should not contain commas
   (outside parens) only in DEBUG mode compiles, most useful for var
   declarations, and similar.  Nb: code only, not outside functions.

   Some cleanups/additions to comments.

   By itself, this is a NFC change (until something uses DEBUG_ONLY()
   for DEBUG mode code alteration).
VersionDeltaFile
1.35+9-2bin/sh/shell.h
+9-21 files

NetBSD/src nwiCvmTlib/libc/gen unvis.c

   PR lib/60111 - Add some bounds checking

   As requested by the PR, bounds checking on the two obvious
   places I could see where overflow looks possible has been added.
   Detected overflow should generate a decode error.
VersionDeltaFile
1.47+15-4lib/libc/gen/unvis.c
+15-41 files

NetBSD/src MsGKmLDdistrib/utils/embedded mkimage

   PR 60119 - don't set -o pipefail (revert previous)

   I was going to make the setting of the pipefail option check if
   the executing shell supports the option or not (all should really,
   and up to date dash does - it is a standard option) - but then I
   looked at the script, and couldn't find a pipe used anywhere.

   The option is useless here.   So, bye-bye pipefail.
VersionDeltaFile
1.95+1-1distrib/utils/embedded/mkimage
+1-11 files

NetBSD/src I3yeyNdbin/sh option.list

   Reorder slightly for correctness

   The "pipefail" option is now a POSIX standard option, move it
   from the extensions section to the standard options section.

   The (very fake) "r" option is not a standard option, though it
   is a command line only "option" - move it away from -s, -c
   the other (but standard) command line only options, and to a
   section of its own (our first non-standard command line only option).

   NFC - the order of options in this definition file is for human
   (those who view this file) purposes only, all is reordered by
   mkoptions.sh before being included with the shell sources.
VersionDeltaFile
1.13+4-3bin/sh/option.list
+4-31 files

NetBSD/src p707EZ3bin/sh arith_token.c parser.c

   Use sh internal char typing, not <ctype.h>

   That is, use the internal shell is_digit() rather than isdigit().

   No practical functional change (a digit is a digit).
VersionDeltaFile
1.8+3-3bin/sh/arith_token.c
1.186+3-3bin/sh/parser.c
+6-62 files

NetBSD/src D2orA6fbin/sh parser.c parser.h

   Sprinkle some const

   NFC - the functions treated the arg as const anyway,
   it just was not previously declared.
VersionDeltaFile
1.185+7-7bin/sh/parser.c
1.31+4-4bin/sh/parser.h
+11-112 files

NetBSD/src Yo7g84tsys/arch/hp300/hp300 locore.s, sys/arch/luna68k/luna68k locore.s

   Rather than pmap_boostrap2() returning the address of the lwp0 uarea,
   let pmap_bootstrap2() construct the fake exception frame, initialize
   lwp0.l_md.md_regs, and return the new lwp0 stack pointer, thus removing
   a bunch of duplicated asm code in each platform's locore.s.

   XXX amiga and atari TBD, but the changes will be less mechanical.

   XXX sun2/sun3/sun3x TBD, require a slightly different set of mechanical
   changes.
VersionDeltaFile
1.202+12-22sys/arch/mac68k/mac68k/locore.s
1.106+7-22sys/arch/luna68k/luna68k/locore.s
1.210+8-20sys/arch/hp300/hp300/locore.s
1.106+8-20sys/arch/next68k/next68k/locore.s
1.154+7-19sys/arch/x68k/x68k/locore.s
1.41+7-19sys/arch/virt68k/virt68k/locore.s
+49-1225 files not shown
+90-18411 files

NetBSD/src LEiJ9pTsys/arch/m68k/include pmap_motorola.h

   Bring over the PMAP_BOOTSTRAP_*() relocation macros from pmap_68k.h
   so that virt68k can continue to be built using the Hibler pmap for
   testing.
VersionDeltaFile
1.51+48-1sys/arch/m68k/include/pmap_motorola.h
+48-11 files

NetBSD/src nSpofkJsys/arch/sun2/sun2 locore.s, sys/arch/sun3/sun3 locore.s

   Reduce diffs with other m68k platforms in the runnup-to-main() code.
VersionDeltaFile
1.119+9-9sys/arch/sun3/sun3/locore.s
1.46+9-9sys/arch/sun2/sun2/locore.s
+18-182 files

NetBSD/src FNqLJbusys/arch/mvme68k/mvme68k locore.s

   Tidy up a comment.
VersionDeltaFile
1.158+5-6sys/arch/mvme68k/mvme68k/locore.s
+5-61 files

NetBSD/src 1fch1n4sys/arch/luna68k/luna68k locore.s

   Correct a comment.
VersionDeltaFile
1.105+4-7sys/arch/luna68k/luna68k/locore.s
+4-71 files

NetBSD/src 9d7xHf1sys/arch/cesfic/cesfic locore.s, sys/arch/hp300/hp300 locore.s

   main() does not (and, indeed, **cannot** when you get there via "jra"
   rather than "jbsr") return, so there doesn't need to be any code
   to handle such.
VersionDeltaFile
1.62+1-9sys/arch/cesfic/cesfic/locore.s
1.105+2-5sys/arch/next68k/next68k/locore.s
1.153+1-5sys/arch/x68k/x68k/locore.s
1.201+1-4sys/arch/mac68k/mac68k/locore.s
1.209+1-4sys/arch/hp300/hp300/locore.s
1.106+1-3sys/arch/news68k/news68k/locore.s
+7-306 files

NetBSD/src 5N9H2rssys/arch/amiga/amiga locore.s, sys/arch/atari/atari locore.s

   It has been decades since proc 1 entered user-space via main()
   returning.  Update the comments and code to reflect this reality.
VersionDeltaFile
1.138+16-35sys/arch/atari/atari/locore.s
1.182+9-29sys/arch/amiga/amiga/locore.s
+25-642 files

NetBSD/src 5KfVCxqexternal/cddl/osnet/dist/uts/common/fs/zfs zfs_vnops.c zfs_znode.c, external/cddl/osnet/dist/uts/common/fs/zfs/sys zfs_znode.h

   zfs: fix "slow rm" issue

   * stop commiting zil in zfs_netbsd_reclaim and other operations
     in vnode reclaim path.

   * retire zfs_zget_cleaner/VN_RELE_CLEANER.
     instead, just use normal zfs_zget and vrele_async.

   note that these two changes depend on each other:

   * zfs_zget_cleaner relies on zil_commit in zfs_netbsd_reclaim to
     ensure that the znode referenced by TX_WRITE itx is always in-core.

   * otoh, zfs_zget_clear makes zil_commit in the vnode reclaim path
     possible. that is, zfs_netbsd_reclaim (VOP_RECLAIM) is called with
     the vnode in VS_RECLAIMING state, which would make vcache_vget
     block.
     if the vnode being reclaimed happened to have TX_WRITE itx on the
     zil, it deadlocks.

    [20 lines not shown]
VersionDeltaFile
1.92+25-16external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c
1.36+0-37external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c
1.33+20-3external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c
1.10+0-1external/cddl/osnet/dist/uts/common/fs/zfs/sys/zfs_znode.h
+45-574 files

NetBSD/src S2fNDaGsys/kern vfs_mount.c

   dounmount/vfs_insmntque: allow vcache_get during VFS_UNMOUNT

   we currently have assertions to prevent file systems from
   populating its vnode cache during VFS_UNMOUNT. this commit
   relaxes the assertions a bit to allow vcache_get during
   VFS_UNMOUNT. although VFS_UNMOUNT should still eventually
   drain the vnode cache for the mount, this commit allows it
   to populate its vnode cache temporarily.

   this is for zfs, which sometimes need to access znode when
   committing the log. (zfs_get_data)  a forthcoming zfs change
   will depend on this change.

   PR/59885
   https://gnats.netbsd.org/59885
   discussed on tech-kern.
   https://mail-index.netbsd.org/tech-kern/2026/02/20/msg030817.html
VersionDeltaFile
1.111+3-3sys/kern/vfs_mount.c
+3-31 files

NetBSD/src mBXGN35sys/uvm uvm_pdaemon.c

   Disable a kassertmsg.

   This triggers for me quite reliably over years now, and has been
   tracked in PR 56764, with no resolution.

   It seems the asserted inequality just is not correct.
VersionDeltaFile
1.137+4-2sys/uvm/uvm_pdaemon.c
+4-21 files

NetBSD/src I1SNyxRsys/uvm uvm_pdaemon.c uvm_stat.c, usr.bin/vmstat vmstat.c

   uvm: retire pdpending

   this commit retires pdpending.
   namely,

   * stop counting it in kernel
   * stop printing it in userland
   * uvmexp/uvmexp_sysctl fields are left intact for compatibility

   pdpending is documented in a few places:
     uvm(9),uvm_extern.h: "number of times daemon got a pending pageout"
     vmstat: "total pending pageouts"
   but no one seems to know what it actually means.

   here's my reasearch:

   in 1998, uvm was imported to our tree.
   ("initial import of the new virtual memory system, UVM, into
   -current.") if my reading of the ancient version of uvm is

    [60 lines not shown]
VersionDeltaFile
1.136+2-9sys/uvm/uvm_pdaemon.c
1.47+4-4sys/uvm/uvm_stat.c
1.265+2-4usr.bin/vmstat/vmstat.c
1.237+3-3sys/uvm/uvm_extern.h
1.81+2-3sys/uvm/uvm_meter.c
1.132+2-3sys/uvm/uvm_pager.c
+15-261 files not shown
+16-287 files

NetBSD/src NLf0Hxgetc/etc.amd64 MAKEDEV.conf

   amd64 MAKEDEV: create 8 nvme (nvme0-nvme7) by default

   why 8?
   - match ld, sd, wd
   - my machine has 6 of them
VersionDeltaFile
1.38+5-1etc/etc.amd64/MAKEDEV.conf
+5-11 files

NetBSD/src rEuLP7hsys/dev/nvmm/x86 nvmm_x86_vmx.c

   nvmm_x86_vmx.c: fixes tprof stalls

   the current implementation of nvmm nmi handling is
   simple; just drops them. it interferes other nmi-using
   components in the system, including tprof.

   this commit makes nvmm try to dispatch nmis by itself.
   while this is imperfect, it's good enough to give
   tprof a chance to unmask LAPIC_LVT_PCINT.

   i guess svm VMCB_EXITCODE_NMI needs something similar.
   but i have no hardware. if someone wants to test a patch,
   please let me know.

   reproduce recipe:
   1. run "tprof top" in a terminal. leave it running.
   2. run an nvmm-based vm in another terminal.
   3. observe some cpus in the "tprof top" stopped counting.
VersionDeltaFile
1.93+25-6sys/dev/nvmm/x86/nvmm_x86_vmx.c
+25-61 files

NetBSD/src ZOhzEZhsys/dev/pci if_rge.c if_rgereg.h

   Make if_rge MPSAFE.
VersionDeltaFile
1.52+99-56sys/dev/pci/if_rge.c
1.21+4-1sys/dev/pci/if_rgereg.h
+103-572 files

NetBSD/src l3K3THTsys/dev/pci if_rge.c

   Align packet header.
VersionDeltaFile
1.51+4-2sys/dev/pci/if_rge.c
+4-21 files

NetBSD/src zFBc4KCsys/dev/pci if_rge.c

   Unbreak RTL8127 with copper interface.
VersionDeltaFile
1.50+4-4sys/dev/pci/if_rge.c
+4-41 files

NetBSD/src FB7CD5Vsys/arch/m68k/m68k vectors.c

   Fix the name of the UNIMP_FP_DATA_HANDLER40 in the non-FPSP case.
   Oversight kindly pointed out by nat@
VersionDeltaFile
1.10+3-3sys/arch/m68k/m68k/vectors.c
+3-31 files

NetBSD/src GBa9CZ3sys/arch/atari/atari locore.s, sys/arch/cesfic/cesfic locore.s

   Re-factor the N copies of suline() into the shared copy.s
VersionDeltaFile
1.51+36-1sys/arch/m68k/m68k/copy.s
1.157+1-31sys/arch/mvme68k/mvme68k/locore.s
1.208+1-30sys/arch/hp300/hp300/locore.s
1.104+1-30sys/arch/luna68k/luna68k/locore.s
1.137+1-30sys/arch/atari/atari/locore.s
1.61+1-30sys/arch/cesfic/cesfic/locore.s
+41-1526 files not shown
+47-27612 files