NetBSD/src YiRYd26sys/arch/alpha/tlsb tlsbreg.h

   Define some device offsets relative to the GBUS base.
VersionDeltaFile
1.9+19-2sys/arch/alpha/tlsb/tlsbreg.h
+19-21 files

NetBSD/src Om5QH0psys/arch/hp300/dev dma.c, sys/arch/hp300/hp300 machdep.c

   CACHE_HAVE_PAC -> M68K_EC_PAC
   CACHE_HAVE_VAC -> M68K_EC_VAC

   NFCI
VersionDeltaFile
1.103+25-25sys/arch/m68k/m68k/pmap_motorola.c
1.49+8-8sys/arch/hp300/dev/dma.c
1.17+4-4sys/arch/m68k/m68k/sys_machdep.c
1.255+3-3sys/arch/hp300/hp300/machdep.c
1.52+2-2sys/arch/m68k/include/pmap_motorola.h
+42-425 files

NetBSD/src TZe7FiEsys/uvm uvm_pager.c

   uvm_aio_aiodone_pages: add a comment
VersionDeltaFile
1.134+11-1sys/uvm/uvm_pager.c
+11-11 files

NetBSD/src FoCe5Xlsys/kern subr_autoconf.c

   config_attach_pseudo/config_attach_pseudo: assert kernel lock

   as commented in the code, whese functions are inherently
   mp-unsafe and only usable with the kernel lock held.
VersionDeltaFile
1.319+5-2sys/kern/subr_autoconf.c
+5-21 files

NetBSD/src joFI2XUsys/arch/amiga/amiga locore.s, sys/arch/atari/atari locore.s

   G/C empty (and unneeded) ecacheon() and ecacheoff() functions.
VersionDeltaFile
1.87+1-7sys/arch/sun3/sun3x/locore.s
1.45+1-7sys/arch/virt68k/virt68k/locore.s
1.157+1-7sys/arch/x68k/x68k/locore.s
1.184+1-7sys/arch/amiga/amiga/locore.s
1.140+1-7sys/arch/atari/atari/locore.s
1.109+1-7sys/arch/luna68k/luna68k/locore.s
+6-423 files not shown
+10-589 files

NetBSD/src MzOk4lisys/uvm uvm_swap.c

   sw_reg_strategy: stop panicking on hole

   after the recent change to uvm_aio_aiodone_pages,
   it should be ok to report errors here. the swap slots
   will be marked bad as expected.

   tested with a swap file with 50% holes:
   ```
   Device                    Size     Used      Bad    Avail Capacity  Priority
   /dev/dk1                  2.0G     1.8G       0B     190M     91%      0
   /swapfile_with_half_holes 2.0G     2.0G     1.0G     5.6M    100%      0
   Total                     4.0G     3.8G     1.0G     196M     95%
   ```
VersionDeltaFile
1.219+0-10sys/uvm/uvm_swap.c
+0-101 files

NetBSD/src rOpo2U3sys/compat/common uvm_110.c

   swapctl: report npgbad (cont.)

   i forgot to this file while porting the patch from
   my local git repo to cvs.
VersionDeltaFile
1.1+74-0sys/compat/common/uvm_110.c
+74-01 files

NetBSD/src 6jaDOCisys/uvm uvm_pager.c

   uvm_aio_aiodone_pages: do not discard user data on swap out failure

   if swap out i/o failed, maybe the swap device is broken. it's
   reasonable to mark it bad. however, there is no point to discard
   the user data on the page being swapped out. unlike file pages,
   the association to the particular swap slot is not permanent.
   next time the page is picked as a victim by the page daemon, a
   different swap slot, which is hopefully good, will be allocated.
VersionDeltaFile
1.133+17-10sys/uvm/uvm_pager.c
+17-101 files

NetBSD/src X4SzJC5sbin/swapctl swaplist.c

   swapctl: print npgbad

   eg.
   ```
   Device                    Size     Used      Bad    Avail Capacity  Priority
   /dev/dk1                  2.0G     1.8G       0B     190M     91%      0
   /swapfile_with_half_holes 2.0G     2.0G     1.0G     5.6M    100%      0
   Total                     4.0G     3.8G     1.0G     196M     95%
   ```
VersionDeltaFile
1.24+30-15sbin/swapctl/swaplist.c
+30-151 files

NetBSD/src xnKriXlsys/compat/common compat_110_mod.c compat_mod.h, sys/compat/sys uvm.h

   swapctl: report npgbad

   the current layout of swapent is like the following on amd64:
   ```
   (gdb) ptype /o struct swapent
   /* offset    |  size */  type = struct swapent {
   /*    0      |     8 */    dev_t se_dev;
   /*    8      |     4 */    int se_flags;
   /*   12      |     4 */    int se_nblks;
   /*   16      |     4 */    int se_inuse;
   /*   20      |     4 */    int se_priority;
   /*   24      |  1025 */    char se_path[1025];
   /* XXX  7-byte padding  */

                              /* total size (bytes): 1056 */
                            }
   ```
   while it's tempting to use the padding for the new member
   to avoid versioning, i guess we can't because, on some
   architectures, 64-bit value only has 32-bit alignment. (eg. i386)
VersionDeltaFile
1.3+19-1sys/compat/sys/uvm.h
1.10+8-2sys/sys/swap.h
1.10+4-2sys/uvm/uvm_swapstub.c
1.3+4-2sys/compat/common/compat_110_mod.c
1.218+6-0sys/uvm/uvm_swap.c
1.13+3-1sys/compat/common/compat_mod.h
+44-82 files not shown
+48-118 files

NetBSD/src 5GBoumpexternal/cddl/osnet/sys/sys vnode.h

   zfs: fix "slow rm" issue (cont.)

   commit a change which was lost during a porting from
   my local git repo to cvs.
   fortunately, it was harmless to miss this change though.
VersionDeltaFile
1.23+0-1external/cddl/osnet/sys/sys/vnode.h
+0-11 files

NetBSD/src 54x4rU2tests/lib/libc/setjmp t_sigstack.c

   arm is fixed.
VersionDeltaFile
1.26+4-14tests/lib/libc/setjmp/t_sigstack.c
+4-141 files

NetBSD/src w1P2nwdlib/libc/compat/arch/arm/gen compat_setjmp.S

   arm: fix PR/57946 for compat

   Make longjmp restore stack first before restoring signal mask for
   arm/compat.
VersionDeltaFile
1.7+28-15lib/libc/compat/arch/arm/gen/compat_setjmp.S
+28-151 files

NetBSD/src xIKEVrFsys/dev/pci Makefile.pcidevs

   Fix a typo in comments.

   I introduced this in my commit from ten years ago.
VersionDeltaFile
1.8+3-3sys/dev/pci/Makefile.pcidevs
+3-31 files

NetBSD/src 79U5lrntests/bin/sh t_fsplit.sh t_expand.sh

   Fix sh tests failing after the PR 60099 fix to /bin/sh

   After the fix for PR 60099 was applied to /bin/sh, 2 of the
   sh ATF tests no longer give the same output as they used to:

   In t_expand:dollar_at_empty_and_conditional

        set -- "a+a" "" "b " " c"; IFS=+; delim_argv $*"$@"

   That creates 4 positional params, (as shown), so $*"$@"
   should be the same as

        $1    $2  $3     $4"$1"  "$2"  "$3"  "$4"
        'a+a' ''  'b ' ' c'"a+a" ""    "b "  " c"

   where the single quotes are just so the values can be detected,
   double quotes indicate quoted values.

   The unquoted $* values are then field split, using IFS=+ (which only

    [55 lines not shown]
VersionDeltaFile
1.11+2-2tests/bin/sh/t_fsplit.sh
1.27+2-2tests/bin/sh/t_expand.sh
+4-42 files

NetBSD/src QDp6gyRsys/arch/hp300/conf files.hp300, sys/arch/hp300/include hp300spu.h cpu.h

   Use the new M68K_EC_VAC and M68K_EC_PAC options, based on configured
   model.

   As a transitional step, ensure that the new options are consistent with
   the legacy CACHE_HAVE_{PAC,VAC} defines.
VersionDeltaFile
1.57+11-4sys/arch/news68k/include/cpu.h
1.18+13-1sys/arch/hp300/include/hp300spu.h
1.102+7-7sys/arch/hp300/conf/files.hp300
1.80+5-4sys/arch/hp300/include/cpu.h
1.43+2-2sys/arch/news68k/conf/files.news68k
+38-185 files

NetBSD/src pcEDRr7sys/arch/m68k/conf files.m68k

   Add 3 new arch options:
   - M68K_EC -- platform has an external cache
   - M68K_EC_PAC -- platform has an external cache that's physically addressed
   - M68K_EC_VAC -- platform has an external cache that's virtually addressed

   M68K_EC_PAC and M68K_EC_VAC are to be used by individual platforms to
   indicate their cache configuration options, M68K_EC is inferred by either.
VersionDeltaFile
1.62+5-2sys/arch/m68k/conf/files.m68k
+5-21 files

NetBSD/src S7sHEVDsys/uvm uvm_pdaemon.c

   uvmpd_scan_queue: remove ENABLE_UNRELIABLE_CHECK_PR_56764 block

   while this condition is true in most of times, we can't
   assert it here because these counters are not always
   updated in-sync.

   for example, consider a removal of a large tmpfs file which is
   mostly swapped out. because uao_dropswap_range() batches swpgonly
   updates, swpgonly can be temporarily larger than swpginuse.

   the original symptom reported in PR/56764 ("uvmexp.swpgonly > 0")
   looks like a different issue though.

   https://gnats.netbsd.org/56764
VersionDeltaFile
1.138+2-7sys/uvm/uvm_pdaemon.c
+2-71 files

NetBSD/src mCdCA4eexternal/cddl/osnet/dist/uts/common/fs/zfs zfs_vnops.c

   zfs_putapage: don't try to write to zfs in the page daemon context

   basically zfs is not prepared to be called safely for page daemon.

   for now, if we found the page dirty, (thus we need to push it into zfs)
   just punt with ENOMEM. hopefully the page daemon will find some other
   pages to reclaim.

   if the system is already full of dirty pages backed by zfs, i suppose
   there is no good way to recover. for a longer term, we probably need
   some dirty-page throttling mechanism to avoid the situation in the
   first place.
VersionDeltaFile
1.95+12-0external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c
+12-01 files

NetBSD/src 5TsMiyDexternal/cddl/osnet/dist/uts/common/fs/zfs zfs_vnops.c

   zfs: don't commit the zil for FSYNC_LAZY

   FSYNC_LAZY is meant for periodic syncer activity.
   unlike fsync() system call, it doesn't give any promises
   about data integrity to users.
VersionDeltaFile
1.94+3-1external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c
+3-11 files

NetBSD/src bO8pPWSexternal/cddl/osnet/dist/uts/common/fs/zfs zfs_vnops.c

   zfs: flush mmap pages on fsync

   it seems the logic to flush page cache in fsync has been removed
   during the initial port to netbsd. at that point it was probably ok
   because we simply didn't support mmap. since then, mmap support has
   been added. but the fsync logic has not been restored. it means that
   mmap-modified pages are left dirty basically forever, unless the
   application explicitly performs msync on them or page daemon tries
   to reclaim them on system memory shortage. it's bad especially for
   a file system like zfs because writing data to zfs involves complex
   locking and memory allocations, and thus not safe in the context of
   the page daemon.

   this commit fixes (well, at least improves the situation a bit) by
   putting back the page flushing logic.

   ideally netbsd needs to have some throttling mechanism on
   page-dirtying activities. i suppose such a mechanism can be
   implemented in a mostly filesystem-independent manner.
   (it was one of my motivations of yamt-pagecache branch.)
VersionDeltaFile
1.93+18-2external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c
+18-21 files

NetBSD/src 9q0GryOsys/dev/usb usb.h

   sort UICLASS_* defines
VersionDeltaFile
1.126+6-6sys/dev/usb/usb.h
+6-61 files

NetBSD/src WQMjVpWsys/arch/atari/atari locore.s atari_init.c

   Use the fake exception frame created by pmap_bootstrap2() by
   capturing its return value and passing it along as the return
   value from start_c().
VersionDeltaFile
1.139+5-26sys/arch/atari/atari/locore.s
1.117+7-5sys/arch/atari/atari/atari_init.c
+12-312 files

NetBSD/src rqojU6Gsys/arch/amiga/amiga locore.s amiga_init.c

   Use the fake exception frame created by pmap_bootstrap2() by
   capturing its return value and passing it along as the return
   value from start_c_finish().
VersionDeltaFile
1.183+5-28sys/arch/amiga/amiga/locore.s
1.137+7-5sys/arch/amiga/amiga/amiga_init.c
+12-332 files

NetBSD/src tVoJDnksys/arch/luna68k/luna68k locore.s, sys/arch/mvme68k/mvme68k locore.s

   Make sure debugger back-traces terminate correctly by setting %a6
   to 0 before calling main().
VersionDeltaFile
1.49+2-2sys/arch/sun2/sun2/locore.s
1.122+2-2sys/arch/sun3/sun3/locore.s
1.86+2-2sys/arch/sun3/sun3x/locore.s
1.108+2-1sys/arch/luna68k/luna68k/locore.s
1.161+2-1sys/arch/mvme68k/mvme68k/locore.s
1.109+2-1sys/arch/news68k/news68k/locore.s
+12-96 files not shown
+24-1512 files

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.85+1-17sys/arch/sun3/sun3x/locore.s
1.48+1-17sys/arch/sun2/sun2/locore.s
1.121+1-17sys/arch/sun3/sun3/locore.s
1.106+10-2sys/arch/sun3/sun3/locore2.c
1.31+10-2sys/arch/sun2/sun2/locore2.c
1.45+10-2sys/arch/sun3/sun3x/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.42+1-5sys/arch/virt68k/virt68k/locore.s
1.155+1-5sys/arch/x68k/x68k/locore.s
1.211+1-5sys/arch/hp300/hp300/locore.s
1.64+1-5sys/arch/cesfic/cesfic/locore.s
1.107+1-5sys/arch/luna68k/luna68k/locore.s
1.203+1-5sys/arch/mac68k/mac68k/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.84+6-18sys/arch/sun3/sun3x/locore.s
1.47+6-18sys/arch/sun2/sun2/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