CVS commit: src/sys/kern
Module Name:src Committed By: mrg Date: Fri Mar 1 04:32:38 UTC 2024 Modified Files: src/sys/kern: kern_idle.c kern_softint.c subr_workqueue.c subr_xcall.c Log Message: check that l_nopreempt (preemption count) doesn't change after callbacks check that the idle loop, soft interrupt handlers, workqueue, and xcall callbacks do not modify the preemption count, in most cases, knowing it should be 0 currently. this work was originally done by simonb. cleaned up slightly and some minor enhancement made by myself, and with discussion with riastradh@. other callback call sites could check this as well (such as MD interrupt handlers, or really anything that includes a callback registration. x86 version to be commited separately.) To generate a diff of this commit: cvs rdiff -u -r1.35 -r1.36 src/sys/kern/kern_idle.c cvs rdiff -u -r1.75 -r1.76 src/sys/kern/kern_softint.c cvs rdiff -u -r1.47 -r1.48 src/sys/kern/subr_workqueue.c cvs rdiff -u -r1.37 -r1.38 src/sys/kern/subr_xcall.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/kern/kern_idle.c diff -u src/sys/kern/kern_idle.c:1.35 src/sys/kern/kern_idle.c:1.36 --- src/sys/kern/kern_idle.c:1.35 Thu Oct 5 19:10:18 2023 +++ src/sys/kern/kern_idle.c Fri Mar 1 04:32:38 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: kern_idle.c,v 1.35 2023/10/05 19:10:18 ad Exp $ */ +/* $NetBSD: kern_idle.c,v 1.36 2024/03/01 04:32:38 mrg Exp $ */ /*- * Copyright (c)2002, 2006, 2007 YAMAMOTO Takashi, @@ -28,7 +28,7 @@ #include -__KERNEL_RCSID(0, "$NetBSD: kern_idle.c,v 1.35 2023/10/05 19:10:18 ad Exp $"); +__KERNEL_RCSID(0, "$NetBSD: kern_idle.c,v 1.36 2024/03/01 04:32:38 mrg Exp $"); #include #include @@ -75,6 +75,8 @@ idle_loop(void *dummy) KASSERT(l == curlwp); KASSERT(CURCPU_IDLE_P()); KASSERT(l->l_priority == PRI_IDLE); + KASSERTMSG(l->l_nopreempt == 0, "lwp %p nopreempt %d", + l, l->l_nopreempt); sched_idle(); if (!sched_curcpu_runnable_p()) { Index: src/sys/kern/kern_softint.c diff -u src/sys/kern/kern_softint.c:1.75 src/sys/kern/kern_softint.c:1.76 --- src/sys/kern/kern_softint.c:1.75 Fri Aug 4 12:24:36 2023 +++ src/sys/kern/kern_softint.c Fri Mar 1 04:32:38 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: kern_softint.c,v 1.75 2023/08/04 12:24:36 riastradh Exp $ */ +/* $NetBSD: kern_softint.c,v 1.76 2024/03/01 04:32:38 mrg Exp $ */ /*- * Copyright (c) 2007, 2008, 2019, 2020 The NetBSD Foundation, Inc. @@ -170,7 +170,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: kern_softint.c,v 1.75 2023/08/04 12:24:36 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: kern_softint.c,v 1.76 2024/03/01 04:32:38 mrg Exp $"); #include #include @@ -569,6 +569,8 @@ softint_execute(lwp_t *l, int s) KASSERT(si->si_cpu == curcpu()); KASSERT(si->si_lwp->l_wchan == NULL); KASSERT(si->si_active); + KASSERTMSG(l->l_nopreempt == 0, "lwp %p nopreempt %d", + l, l->l_nopreempt); /* * Note: due to priority inheritance we may have interrupted a @@ -616,6 +618,10 @@ softint_execute(lwp_t *l, int s) KASSERTMSG(l->l_blcnt == 0, "%s: sh_func=%p leaked %d biglocks", __func__, sh->sh_func, curlwp->l_blcnt); + /* Diagnostic: check that LWP nopreempt remains zero. */ + KASSERTMSG(l->l_nopreempt == 0, + "%s: lwp %p nopreempt %d func %p", + __func__, l, l->l_nopreempt, sh->sh_func); (void)splhigh(); } Index: src/sys/kern/subr_workqueue.c diff -u src/sys/kern/subr_workqueue.c:1.47 src/sys/kern/subr_workqueue.c:1.48 --- src/sys/kern/subr_workqueue.c:1.47 Wed Aug 9 08:24:18 2023 +++ src/sys/kern/subr_workqueue.c Fri Mar 1 04:32:38 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: subr_workqueue.c,v 1.47 2023/08/09 08:24:18 riastradh Exp $ */ +/* $NetBSD: subr_workqueue.c,v 1.48 2024/03/01 04:32:38 mrg Exp $ */ /*- * Copyright (c)2002, 2005, 2006, 2007 YAMAMOTO Takashi, @@ -27,7 +27,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: subr_workqueue.c,v 1.47 2023/08/09 08:24:18 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: subr_workqueue.c,v 1.48 2024/03/01 04:32:38 mrg Exp $"); #include @@ -140,6 +140,10 @@ workqueue_runlist(struct workqueue *wq, { work_impl_t *wk; work_impl_t *next; + struct lwp *l = curlwp; + + KASSERTMSG(l->l_nopreempt == 0, "lwp %p nopreempt %d", + l, l->l_nopreempt); for (wk = SIMPLEQ_FIRST(list); wk != NULL; wk = next) { next = SIMPLEQ_NEXT(wk, wk_entry); @@ -148,6 +152,9 @@ workqueue_runlist(struct workqueue *wq, (*wq->wq_func)((void *)wk, wq->wq_arg); SDT_PROBE4(sdt, kernel, workqueue, return, wq, wk, wq->wq_func, wq->wq_arg); + KASSERTMSG(l->l_nopreempt == 0, + "lwp %p nopreempt %d func %p", + l, l->l_nopreempt, wq->wq_func); } } Index: src/sys/kern/subr_xcall.c diff -u src/sys/kern/subr_xcall.c:1.37 src/sys/kern/subr_xcall.c:1.38 --- src/sys/kern/subr_xcall.c:1.37 Sun Aug 6 17:50:20 2023 +++ src/sys/kern/subr_xcall.c Fri Mar 1 04:32:38 2024 @@ -
CVS commit: src/sys/kern
Module Name:src Committed By: mrg Date: Fri Mar 1 04:32:38 UTC 2024 Modified Files: src/sys/kern: kern_idle.c kern_softint.c subr_workqueue.c subr_xcall.c Log Message: check that l_nopreempt (preemption count) doesn't change after callbacks check that the idle loop, soft interrupt handlers, workqueue, and xcall callbacks do not modify the preemption count, in most cases, knowing it should be 0 currently. this work was originally done by simonb. cleaned up slightly and some minor enhancement made by myself, and with discussion with riastradh@. other callback call sites could check this as well (such as MD interrupt handlers, or really anything that includes a callback registration. x86 version to be commited separately.) To generate a diff of this commit: cvs rdiff -u -r1.35 -r1.36 src/sys/kern/kern_idle.c cvs rdiff -u -r1.75 -r1.76 src/sys/kern/kern_softint.c cvs rdiff -u -r1.47 -r1.48 src/sys/kern/subr_workqueue.c cvs rdiff -u -r1.37 -r1.38 src/sys/kern/subr_xcall.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/dev/ic
Module Name:src Committed By: andvar Date: Thu Feb 29 22:02:41 UTC 2024 Modified Files: src/sys/dev/ic: mpc106reg.h Log Message: Fix couple typos in comments. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/dev/ic/mpc106reg.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/ic/mpc106reg.h diff -u src/sys/dev/ic/mpc106reg.h:1.4 src/sys/dev/ic/mpc106reg.h:1.5 --- src/sys/dev/ic/mpc106reg.h:1.4 Mon Apr 28 20:23:50 2008 +++ src/sys/dev/ic/mpc106reg.h Thu Feb 29 22:02:41 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: mpc106reg.h,v 1.4 2008/04/28 20:23:50 martin Exp $ */ +/* $NetBSD: mpc106reg.h,v 1.5 2024/02/29 22:02:41 andvar Exp $ */ /*- * Copyright (c) 2001,2007 The NetBSD Foundation, Inc. @@ -86,7 +86,7 @@ /* must be read with MPC106_PICR1_EXT_L2_EN : * L2_EN L2_MP Meaning * 0 00 Uniprocessor/none - * 0 01 internal conrol/write-through + * 0 01 internal control/write-through * 0 10 internal control/write-back * 0 11 Multiproc/none * 1 00 Uniprocessor/external L2 @@ -185,7 +185,7 @@ #define MPC106_MCRR2_EXT_ECM_ECC_EN __BIT(18) /* ext. ECM ECC enable */ #define MPC106_MCRR2_ECC_EN __BIT(17) /* ECC enable */ #define MPC106_MCRR2_EDO __BIT(16) /* EDO enable */ -#define MPC106_MCRR2_REFINT __BITS(15,2) /* refreash interval */ +#define MPC106_MCRR2_REFINT __BITS(15,2) /* refresh interval */ #define MPC106_MCRR2_BUFMODE __BIT(1) /* buffer mode */ #define MPC106_MCRR2_RMW_PAR __BIT(0) /* RMW parity enable */ #define MPC106_MCCR3 0xf8 /* Memory control configuration 3 */
CVS commit: src/sys/dev/ic
Module Name:src Committed By: andvar Date: Thu Feb 29 22:02:41 UTC 2024 Modified Files: src/sys/dev/ic: mpc106reg.h Log Message: Fix couple typos in comments. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/dev/ic/mpc106reg.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/dev/hpc
Module Name:src Committed By: andvar Date: Thu Feb 29 22:01:58 UTC 2024 Modified Files: src/sys/dev/hpc: hpcfb.c Log Message: s/hpcfb_refres_screen/hpcfb_refresh_screen/ in debug message. To generate a diff of this commit: cvs rdiff -u -r1.65 -r1.66 src/sys/dev/hpc/hpcfb.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/hpc/hpcfb.c diff -u src/sys/dev/hpc/hpcfb.c:1.65 src/sys/dev/hpc/hpcfb.c:1.66 --- src/sys/dev/hpc/hpcfb.c:1.65 Sun Dec 19 21:15:28 2021 +++ src/sys/dev/hpc/hpcfb.c Thu Feb 29 22:01:57 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: hpcfb.c,v 1.65 2021/12/19 21:15:28 andvar Exp $ */ +/* $NetBSD: hpcfb.c,v 1.66 2024/02/29 22:01:57 andvar Exp $ */ /*- * Copyright (c) 1999 @@ -43,7 +43,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: hpcfb.c,v 1.65 2021/12/19 21:15:28 andvar Exp $"); +__KERNEL_RCSID(0, "$NetBSD: hpcfb.c,v 1.66 2024/02/29 22:01:57 andvar Exp $"); #ifdef _KERNEL_OPT #include "opt_hpcfb.h" @@ -695,7 +695,7 @@ hpcfb_refresh_screen(struct hpcfb_softc struct hpcfb_devconfig *dc = sc->sc_dc; int x, y; - DPRINTF(("hpcfb_refres_screen()\n")); + DPRINTF(("hpcfb_refresh_screen()\n")); if (dc == NULL) return;
CVS commit: src/sys/dev/hpc
Module Name:src Committed By: andvar Date: Thu Feb 29 22:01:58 UTC 2024 Modified Files: src/sys/dev/hpc: hpcfb.c Log Message: s/hpcfb_refres_screen/hpcfb_refresh_screen/ in debug message. To generate a diff of this commit: cvs rdiff -u -r1.65 -r1.66 src/sys/dev/hpc/hpcfb.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/xlint/lint1
Module Name:src Committed By: rillig Date: Thu Feb 29 21:37:10 UTC 2024 Modified Files: src/usr.bin/xlint/lint1: lex.c Log Message: lint1: remove redundant type table for integer constant suffixes To generate a diff of this commit: cvs rdiff -u -r1.217 -r1.218 src/usr.bin/xlint/lint1/lex.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.bin/xlint/lint1/lex.c diff -u src/usr.bin/xlint/lint1/lex.c:1.217 src/usr.bin/xlint/lint1/lex.c:1.218 --- src/usr.bin/xlint/lint1/lex.c:1.217 Thu Feb 8 20:59:19 2024 +++ src/usr.bin/xlint/lint1/lex.c Thu Feb 29 21:37:10 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: lex.c,v 1.217 2024/02/08 20:59:19 rillig Exp $ */ +/* $NetBSD: lex.c,v 1.218 2024/02/29 21:37:10 rillig Exp $ */ /* * Copyright (c) 1996 Christopher G. Demetriou. All Rights Reserved. @@ -38,7 +38,7 @@ #include #if defined(__RCSID) -__RCSID("$NetBSD: lex.c,v 1.217 2024/02/08 20:59:19 rillig Exp $"); +__RCSID("$NetBSD: lex.c,v 1.218 2024/02/29 21:37:10 rillig Exp $"); #endif #include @@ -481,84 +481,72 @@ lex_name(const char *yytext, size_t yyle // Determines whether the constant is signed in traditional C but unsigned in // C90 and later. static bool -is_unsigned_since_c90(tspec_t t, uint64_t ui, int base) +is_unsigned_since_c90(unsigned ls, uint64_t ui, int base) { - if (!(allow_trad && allow_c90)) + if (ui <= TARG_INT_MAX) return false; - if (t == INT) { - if (ui > TARG_INT_MAX && ui <= TARG_UINT_MAX && base != 10) - return true; - return ui > TARG_LONG_MAX; - } - return t == LONG && ui > TARG_LONG_MAX; + if (ls == 0 && ui <= TARG_UINT_MAX && base != 10) + return true; + return ls <= 1 && ui > TARG_LONG_MAX; } static tspec_t -integer_constant_type(tspec_t t, uint64_t ui, int base, bool warned) +integer_constant_type_signed(unsigned ls, uint64_t ui, int base, bool warned) { - switch (t) { - case INT: - if (ui <= TARG_INT_MAX) - return INT; - if (ui <= TARG_UINT_MAX && base != 10 && allow_c90) - return UINT; - if (ui <= TARG_LONG_MAX) - return LONG; - /* FALLTHROUGH */ - case LONG: - if (ui <= TARG_LONG_MAX) - return LONG; - if (ui <= TARG_ULONG_MAX && base != 10) - return allow_c90 ? ULONG : LONG; - if (!allow_c99) { - if (!warned) -/* integer constant out of range */ -warning(252); - return allow_c90 ? ULONG : LONG; - } - /* FALLTHROUGH */ - case LLONG: - if (ui <= TARG_LLONG_MAX) - return LLONG; - if (ui <= TARG_ULLONG_MAX && base != 10) - return allow_c90 ? ULLONG : LLONG; + if (ls == 0 && ui <= TARG_INT_MAX) + return INT; + if (ls == 0 && ui <= TARG_UINT_MAX && base != 10 && allow_c90) + return UINT; + if (ls == 0 && ui <= TARG_LONG_MAX) + return LONG; + + if (ls <= 1 && ui <= TARG_LONG_MAX) + return LONG; + if (ls <= 1 && ui <= TARG_ULONG_MAX && base != 10) + return allow_c90 ? ULONG : LONG; + if (ls <= 1 && !allow_c99) { if (!warned) /* integer constant out of range */ warning(252); + return allow_c90 ? ULONG : LONG; + } + + if (ui <= TARG_LLONG_MAX) + return LLONG; + if (ui <= TARG_ULLONG_MAX && base != 10) return allow_c90 ? ULLONG : LLONG; - case UINT: - if (ui <= TARG_UINT_MAX) - return UINT; - /* FALLTHROUGH */ - case ULONG: - if (ui <= TARG_ULONG_MAX) - return ULONG; - if (!allow_c99) { - if (!warned) -/* integer constant out of range */ -warning(252); - return ULONG; - } - /* FALLTHROUGH */ - default: - if (ui <= TARG_ULLONG_MAX) - return ULLONG; + if (!warned) + /* integer constant out of range */ + warning(252); + return allow_c90 ? ULLONG : LLONG; +} + +static tspec_t +integer_constant_type_unsigned(unsigned l, uint64_t ui, bool warned) +{ + if (l == 0 && ui <= TARG_UINT_MAX) + return UINT; + + if (l <= 1 && ui <= TARG_ULONG_MAX) + return ULONG; + if (l <= 1 && !allow_c99) { if (!warned) /* integer constant out of range */ warning(252); - return ULLONG; + return ULONG; } + + if (ui <= TARG_ULLONG_MAX) + return ULLONG; + if (!warned) + /* integer constant out of range */ + warning(252); + return ULLONG; } int lex_integer_constant(const char *yytext, size_t yyleng, int base) { - /* C11 6.4.4.1p5 */ - static const tspec_t suffix_type[2][3] = { - { INT, LONG, LLONG, }, - { UINT, ULONG, ULLONG, } - }; - const char *cp = yytext; size_t len = yyleng; @@ -590,7 +578,6 @@ lex_integer_constant(const char *yytext, if (!allow_c90 && u_suffix > 0) /* suffix 'U' is illegal in traditional C */ warning(97); - tspec_t ct = suffix_type[u_suffix][l_suffix]; bool warned = false; errno = 0; @@ -607,14 +594,17 @@ lex_integer_constant(const char *yytext, /* octal number '%.*s' */ query_message(8, (int)len, cp); - bool ansiu = is_unsigned_since_c90(ct, ui, base); + bool unsigned_since_c90 = allow_trad && allow_c90 && u_suffix == 0 + && is_unsigned_since_c90(l_suffix, ui, base); - tspec_t t = integer_constant_type(ct, ui, base, wa
CVS commit: src/usr.bin/xlint/lint1
Module Name:src Committed By: rillig Date: Thu Feb 29 21:37:10 UTC 2024 Modified Files: src/usr.bin/xlint/lint1: lex.c Log Message: lint1: remove redundant type table for integer constant suffixes To generate a diff of this commit: cvs rdiff -u -r1.217 -r1.218 src/usr.bin/xlint/lint1/lex.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/lib/libutil
Module Name:src Committed By: rillig Date: Thu Feb 29 21:08:55 UTC 2024 Modified Files: src/lib/libutil: snprintb.3 Log Message: snprintb.3: fix typo To generate a diff of this commit: cvs rdiff -u -r1.35 -r1.36 src/lib/libutil/snprintb.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libutil/snprintb.3 diff -u src/lib/libutil/snprintb.3:1.35 src/lib/libutil/snprintb.3:1.36 --- src/lib/libutil/snprintb.3:1.35 Thu Feb 22 21:04:24 2024 +++ src/lib/libutil/snprintb.3 Thu Feb 29 21:08:54 2024 @@ -1,4 +1,4 @@ -.\" $NetBSD: snprintb.3,v 1.35 2024/02/22 21:04:24 rillig Exp $ +.\" $NetBSD: snprintb.3,v 1.36 2024/02/29 21:08:54 rillig Exp $ .\" .\" Copyright (c) 1998, 2024 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -69,7 +69,7 @@ terminating If .Fa bufsize is zero, nothing is written and -.Fa arg +.Fa buf may be a null pointer. .Pp The
CVS commit: src/lib/libutil
Module Name:src Committed By: rillig Date: Thu Feb 29 21:08:55 UTC 2024 Modified Files: src/lib/libutil: snprintb.3 Log Message: snprintb.3: fix typo To generate a diff of this commit: cvs rdiff -u -r1.35 -r1.36 src/lib/libutil/snprintb.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/lib/libutil
Module Name:src Committed By: rillig Date: Thu Feb 29 20:55:35 UTC 2024 Modified Files: src/lib/libutil: parsedate.y Log Message: parsedate.y: remove outdated comment The number of shift/reduce conflicts has grown to 16. To generate a diff of this commit: cvs rdiff -u -r1.37 -r1.38 src/lib/libutil/parsedate.y Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libutil/parsedate.y diff -u src/lib/libutil/parsedate.y:1.37 src/lib/libutil/parsedate.y:1.38 --- src/lib/libutil/parsedate.y:1.37 Sat Apr 23 13:02:04 2022 +++ src/lib/libutil/parsedate.y Thu Feb 29 20:55:35 2024 @@ -5,8 +5,6 @@ ** a couple of people on Usenet. Completely overhauled by Rich $alz ** and Jim Berets in August, 1990; ** -** This grammar has 10 shift/reduce conflicts. -** ** This code is in the public domain and has no copyright. */ /* SUPPRESS 287 on yaccpar_sccsid *//* Unused static variable */ @@ -14,7 +12,7 @@ #include #ifdef __RCSID -__RCSID("$NetBSD: parsedate.y,v 1.37 2022/04/23 13:02:04 christos Exp $"); +__RCSID("$NetBSD: parsedate.y,v 1.38 2024/02/29 20:55:35 rillig Exp $"); #endif #include
CVS commit: src/lib/libutil
Module Name:src Committed By: rillig Date: Thu Feb 29 20:55:35 UTC 2024 Modified Files: src/lib/libutil: parsedate.y Log Message: parsedate.y: remove outdated comment The number of shift/reduce conflicts has grown to 16. To generate a diff of this commit: cvs rdiff -u -r1.37 -r1.38 src/lib/libutil/parsedate.y Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/external/mpl/bind/lib/libisc
Module Name:src Committed By: christos Date: Thu Feb 29 20:41:52 UTC 2024 Modified Files: src/external/mpl/bind/lib/libisc: Makefile Log Message: remove std= override from here. It happens on top of the bind tree. To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 src/external/mpl/bind/lib/libisc/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/mpl/bind/lib/libisc/Makefile diff -u src/external/mpl/bind/lib/libisc/Makefile:1.21 src/external/mpl/bind/lib/libisc/Makefile:1.22 --- src/external/mpl/bind/lib/libisc/Makefile:1.21 Wed Feb 21 17:52:54 2024 +++ src/external/mpl/bind/lib/libisc/Makefile Thu Feb 29 15:41:52 2024 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.21 2024/02/21 22:52:54 christos Exp $ +# $NetBSD: Makefile,v 1.22 2024/02/29 20:41:52 christos Exp $ NOLINT=yes # XXX LIB=isc @@ -9,7 +9,6 @@ LIB=isc LIBUVDIR=${NETBSDSRCDIR}/external/mit/libuv LIBUVOBJDIR!= cd ${LIBUVDIR}/lib && ${PRINTOBJDIR} CPPFLAGS+=-I${LIBUVDIR}/dist/include -CFLAGS+=-std=gnu18 .include "${.CURDIR}/../Makefile.inc"
CVS commit: src/external/mpl/bind/lib/libisc
Module Name:src Committed By: christos Date: Thu Feb 29 20:41:52 UTC 2024 Modified Files: src/external/mpl/bind/lib/libisc: Makefile Log Message: remove std= override from here. It happens on top of the bind tree. To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 src/external/mpl/bind/lib/libisc/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-9] src/doc
Module Name:src Committed By: martin Date: Thu Feb 29 13:00:58 UTC 2024 Modified Files: src/doc [netbsd-9]: CHANGES-9.4 Log Message: Fix entry for ticket #1804 To generate a diff of this commit: cvs rdiff -u -r1.1.2.133 -r1.1.2.134 src/doc/CHANGES-9.4 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-9] src/doc
Module Name:src Committed By: martin Date: Thu Feb 29 13:00:58 UTC 2024 Modified Files: src/doc [netbsd-9]: CHANGES-9.4 Log Message: Fix entry for ticket #1804 To generate a diff of this commit: cvs rdiff -u -r1.1.2.133 -r1.1.2.134 src/doc/CHANGES-9.4 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/CHANGES-9.4 diff -u src/doc/CHANGES-9.4:1.1.2.133 src/doc/CHANGES-9.4:1.1.2.134 --- src/doc/CHANGES-9.4:1.1.2.133 Thu Feb 29 12:44:34 2024 +++ src/doc/CHANGES-9.4 Thu Feb 29 13:00:58 2024 @@ -1,4 +1,4 @@ -# $NetBSD: CHANGES-9.4,v 1.1.2.133 2024/02/29 12:44:34 martin Exp $ +# $NetBSD: CHANGES-9.4,v 1.1.2.134 2024/02/29 13:00:58 martin Exp $ A complete list of changes from the NetBSD 9.3 release to the NetBSD 9.4 release: @@ -12914,6 +12914,7 @@ distrib/sets/lists/debug/mi 1.427,1.42 distrib/sets/lists/debug/shl.mi 1.338 (patch) distrib/sets/lists/man/mi 1.1769,1.1771 (patch) doc/3RDPARTY (manually edited) +share/mk/bsd.prog.mk(apply patch) share/mk/bsd.sys.mk1.316 named(8): update to bind 9.18.24, which fixes several
CVS commit: [netbsd-9] src/share/mk
Module Name:src Committed By: martin Date: Thu Feb 29 13:00:14 UTC 2024 Modified Files: src/share/mk [netbsd-9]: bsd.prog.mk bsd.sys.mk Log Message: Part of ticket #1804 accidently not commited To generate a diff of this commit: cvs rdiff -u -r1.319.2.3 -r1.319.2.4 src/share/mk/bsd.prog.mk cvs rdiff -u -r1.292.2.1 -r1.292.2.2 src/share/mk/bsd.sys.mk Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/share/mk/bsd.prog.mk diff -u src/share/mk/bsd.prog.mk:1.319.2.3 src/share/mk/bsd.prog.mk:1.319.2.4 --- src/share/mk/bsd.prog.mk:1.319.2.3 Sun Sep 1 10:44:22 2019 +++ src/share/mk/bsd.prog.mk Thu Feb 29 13:00:14 2024 @@ -1,4 +1,4 @@ -# $NetBSD: bsd.prog.mk,v 1.319.2.3 2019/09/01 10:44:22 martin Exp $ +# $NetBSD: bsd.prog.mk,v 1.319.2.4 2024/02/29 13:00:14 martin Exp $ # @(#)bsd.prog.mk 8.2 (Berkeley) 4/2/94 .ifndef HOSTPROG @@ -434,6 +434,10 @@ DPADD+= ${PROGDO.${_lib}}/lib${_lib}.a .endif .endfor .endif # } + +LDADD+=${LDADD_AFTER} +DPADD+=${DPADD_AFTER} + # # Per-program definitions and targets. # Index: src/share/mk/bsd.sys.mk diff -u src/share/mk/bsd.sys.mk:1.292.2.1 src/share/mk/bsd.sys.mk:1.292.2.2 --- src/share/mk/bsd.sys.mk:1.292.2.1 Tue Dec 24 17:32:20 2019 +++ src/share/mk/bsd.sys.mk Thu Feb 29 13:00:14 2024 @@ -1,4 +1,4 @@ -# $NetBSD: bsd.sys.mk,v 1.292.2.1 2019/12/24 17:32:20 martin Exp $ +# $NetBSD: bsd.sys.mk,v 1.292.2.2 2024/02/29 13:00:14 martin Exp $ # # Build definitions used for NetBSD source tree builds. @@ -53,7 +53,7 @@ CXXFLAGS+= ${REPROFLAGS} # NetBSD sources use C99 style, with some GCC extensions. # Coverity does not like -std=gnu99 -.if !defined(COVERITY_TOP_CONFIG) +.if !defined(COVERITY_TOP_CONFIG) && empty(CFLAGS:M*-std=*) CFLAGS+= ${${ACTIVE_CC} == "clang":? -std=gnu99 :} CFLAGS+= ${${ACTIVE_CC} == "gcc":? -std=gnu99 :} CFLAGS+= ${${ACTIVE_CC} == "pcc":? -std=gnu99 :}
CVS commit: [netbsd-9] src/share/mk
Module Name:src Committed By: martin Date: Thu Feb 29 13:00:14 UTC 2024 Modified Files: src/share/mk [netbsd-9]: bsd.prog.mk bsd.sys.mk Log Message: Part of ticket #1804 accidently not commited To generate a diff of this commit: cvs rdiff -u -r1.319.2.3 -r1.319.2.4 src/share/mk/bsd.prog.mk cvs rdiff -u -r1.292.2.1 -r1.292.2.2 src/share/mk/bsd.sys.mk Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-9] src/doc
Module Name:src Committed By: martin Date: Thu Feb 29 12:44:34 UTC 2024 Modified Files: src/doc [netbsd-9]: CHANGES-9.4 Log Message: Tickets #18003 and #1804 To generate a diff of this commit: cvs rdiff -u -r1.1.2.132 -r1.1.2.133 src/doc/CHANGES-9.4 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-8] src/doc
Module Name:src Committed By: martin Date: Thu Feb 29 10:47:52 UTC 2024 Modified Files: src/doc [netbsd-8]: CHANGES-8.3 Log Message: Ticket #1938 To generate a diff of this commit: cvs rdiff -u -r1.1.2.220 -r1.1.2.221 src/doc/CHANGES-8.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/CHANGES-8.3 diff -u src/doc/CHANGES-8.3:1.1.2.220 src/doc/CHANGES-8.3:1.1.2.221 --- src/doc/CHANGES-8.3:1.1.2.220 Fri Feb 23 18:18:35 2024 +++ src/doc/CHANGES-8.3 Thu Feb 29 10:47:52 2024 @@ -1,4 +1,4 @@ -$NetBSD: CHANGES-8.3,v 1.1.2.220 2024/02/23 18:18:35 martin Exp $ +$NetBSD: CHANGES-8.3,v 1.1.2.221 2024/02/29 10:47:52 martin Exp $ A complete list of changes from the NetBSD 8.2 release to the NetBSD 8.3 release: @@ -4280,3 +4280,15 @@ tests/lib/libm/t_fenv.c1.14,1.15 libm: PR 57949: fix spurious side effects in fetestexcept. [riastradh, ticket #1937] +sys/dev/pci/if_wm.c 1.792,1.794-1.798 via patch +sys/dev/pci/if_wmreg.h 1.131 + + - Add RQDPC(Receive Queue Drop Packet Count) to iqdrops. + - Drop frames if the RX descriptor ring has no room on multiqueue + system. + - Improve dmesg output. + - Print RX packet buffer size. + - Fix the upper 16bit of Image Unique ID(EtrackID). + - Fix comment. + [msaitoh, ticket #1938] +
CVS commit: [netbsd-8] src/doc
Module Name:src Committed By: martin Date: Thu Feb 29 10:47:52 UTC 2024 Modified Files: src/doc [netbsd-8]: CHANGES-8.3 Log Message: Ticket #1938 To generate a diff of this commit: cvs rdiff -u -r1.1.2.220 -r1.1.2.221 src/doc/CHANGES-8.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-8] src/sys/dev/pci
Module Name:src Committed By: martin Date: Thu Feb 29 10:46:28 UTC 2024 Modified Files: src/sys/dev/pci [netbsd-8]: if_wm.c if_wmreg.h Log Message: Pull up the following, requested by msaitoh in ticket #1938: sys/dev/pci/if_wm.c 1.792,1.794-1.798 via patch sys/dev/pci/if_wmreg.h 1.131 - Add RQDPC(Receive Queue Drop Packet Count) to iqdrops. - Drop frames if the RX descriptor ring has no room on multiqueue system. - Improve dmesg output. - Print RX packet buffer size. - Fix the upper 16bit of Image Unique ID(EtrackID). - Fix comment. To generate a diff of this commit: cvs rdiff -u -r1.508.4.54 -r1.508.4.55 src/sys/dev/pci/if_wm.c cvs rdiff -u -r1.98.6.18 -r1.98.6.19 src/sys/dev/pci/if_wmreg.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-8] src/sys/dev/pci
Module Name:src Committed By: martin Date: Thu Feb 29 10:46:28 UTC 2024 Modified Files: src/sys/dev/pci [netbsd-8]: if_wm.c if_wmreg.h Log Message: Pull up the following, requested by msaitoh in ticket #1938: sys/dev/pci/if_wm.c 1.792,1.794-1.798 via patch sys/dev/pci/if_wmreg.h 1.131 - Add RQDPC(Receive Queue Drop Packet Count) to iqdrops. - Drop frames if the RX descriptor ring has no room on multiqueue system. - Improve dmesg output. - Print RX packet buffer size. - Fix the upper 16bit of Image Unique ID(EtrackID). - Fix comment. To generate a diff of this commit: cvs rdiff -u -r1.508.4.54 -r1.508.4.55 src/sys/dev/pci/if_wm.c cvs rdiff -u -r1.98.6.18 -r1.98.6.19 src/sys/dev/pci/if_wmreg.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/if_wm.c diff -u src/sys/dev/pci/if_wm.c:1.508.4.54 src/sys/dev/pci/if_wm.c:1.508.4.55 --- src/sys/dev/pci/if_wm.c:1.508.4.54 Sat Feb 3 12:04:06 2024 +++ src/sys/dev/pci/if_wm.c Thu Feb 29 10:46:27 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_wm.c,v 1.508.4.54 2024/02/03 12:04:06 martin Exp $ */ +/* $NetBSD: if_wm.c,v 1.508.4.55 2024/02/29 10:46:27 martin Exp $ */ /* * Copyright (c) 2001, 2002, 2003, 2004 Wasabi Systems, Inc. @@ -82,7 +82,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.508.4.54 2024/02/03 12:04:06 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.508.4.55 2024/02/29 10:46:27 martin Exp $"); #ifdef _KERNEL_OPT #include "opt_net_mpsafe.h" @@ -469,9 +469,9 @@ struct wm_rxqueue { /* RX event counters */ WM_Q_EVCNT_DEFINE(rxq, intr); /* Interrupts */ WM_Q_EVCNT_DEFINE(rxq, defer); /* Rx deferred processing */ - WM_Q_EVCNT_DEFINE(rxq, ipsum); /* IP checksums checked */ WM_Q_EVCNT_DEFINE(rxq, tusum); /* TCP/UDP cksums checked */ + WM_Q_EVCNT_DEFINE(rxq, qdrop); /* Rx queue drop packet */ #endif }; @@ -2693,6 +2693,10 @@ alloc_retry: /* Reset the chip to a known state. */ wm_reset(sc); + /* sc->sc_pba is set in wm_reset(). */ + aprint_verbose_dev(sc->sc_dev, "RX packet buffer size: %uKB\n", + sc->sc_pba); + /* * Check for I21[01] PLL workaround. * @@ -6526,6 +6530,7 @@ wm_update_stats(struct wm_softc *sc) struct ifnet *ifp = &sc->sc_ethercom.ec_if; uint64_t crcerrs, algnerrc, symerrc, mpc, colc, sec, rlec, rxerrc, cexterr; + uint64_t total_qdrop = 0; crcerrs = CSR_READ(sc, WMREG_CRCERRS); symerrc = CSR_READ(sc, WMREG_SYMERRC); @@ -6674,6 +6679,22 @@ wm_update_stats(struct wm_softc *sc) WM_EVCNT_ADD(&sc->sc_ev_lenerrs, CSR_READ(sc, WMREG_LENERRS)); WM_EVCNT_ADD(&sc->sc_ev_scvpc, CSR_READ(sc, WMREG_SCVPC)); WM_EVCNT_ADD(&sc->sc_ev_hrmpc, CSR_READ(sc, WMREG_HRMPC)); +#ifdef WM_EVENT_COUNTERS + for (int i = 0; i < sc->sc_nqueues; i++) { + struct wm_rxqueue *rxq = &sc->sc_queue[i].wmq_rxq; + uint32_t rqdpc; + + rqdpc = CSR_READ(sc, WMREG_RQDPC(i)); + /* + * On I210 and newer device, the RQDPC register is not + * cleard on read. + */ + if ((rqdpc != 0) && (sc->sc_type >= WM_T_I210)) +CSR_WRITE(sc, WMREG_RQDPC(i), 0); + WM_Q_EVCNT_ADD(rxq, qdrop, rqdpc); + total_qdrop += rqdpc; + } +#endif } if ((sc->sc_type >= WM_T_I350) && !WM_IS_ICHPCH(sc)) { WM_EVCNT_ADD(&sc->sc_ev_tlpic, CSR_READ(sc, WMREG_TLPIC)); @@ -6702,7 +6723,7 @@ wm_update_stats(struct wm_softc *sc) * If you want to know the nubmer of WMREG_RMBC, you should use such as * own EVCNT instead of if_iqdrops. */ - ifp->if_iqdrops += mpc; + ifp->if_iqdrops += mpc + total_qdrop; } void @@ -6719,6 +6740,8 @@ wm_clear_evcnt(struct wm_softc *sc) WM_Q_EVCNT_STORE(rxq, defer, 0); WM_Q_EVCNT_STORE(rxq, ipsum, 0); WM_Q_EVCNT_STORE(rxq, tusum, 0); + if ((sc->sc_type >= WM_T_82575) && !WM_IS_ICHPCH(sc)) + WM_Q_EVCNT_STORE(rxq, qdrop, 0); } /* TX queues */ @@ -8052,9 +8075,10 @@ wm_alloc_txrx_queues(struct wm_softc *sc WM_Q_INTR_EVCNT_ATTACH(rxq, intr, rxq, i, xname); WM_Q_INTR_EVCNT_ATTACH(rxq, defer, rxq, i, xname); - WM_Q_MISC_EVCNT_ATTACH(rxq, ipsum, rxq, i, xname); WM_Q_MISC_EVCNT_ATTACH(rxq, tusum, rxq, i, xname); + if ((sc->sc_type >= WM_T_82575) && !WM_IS_ICHPCH(sc)) + WM_Q_MISC_EVCNT_ATTACH(rxq, qdrop, rxq, i, xname); #endif /* WM_EVENT_COUNTERS */ rx_done++; @@ -8117,6 +8141,8 @@ wm_free_txrx_queues(struct wm_softc *sc) WM_Q_EVCNT_DETACH(rxq, defer, rxq, i); WM_Q_EVCNT_DETACH(rxq, ipsum, rxq, i); WM_Q_EVCNT_DETACH(rxq, tusum, rxq, i); + if ((sc->sc_type >= WM_T_82575) && !WM_IS_ICHPCH(sc)) + WM_Q_EVCNT_DETACH(rxq, qdrop, rxq, i); #endif /* WM_EVENT_COUNTERS */ wm_free_rx_buffer(sc, rxq); @@ -8306,6 +8332,8 @@ wm_init_rx_regs(struct wm_softc *sc, str rxq->rxq_descsize * rxq->rxq_ndesc); if ((sc->sc_flags & WM_F_NEWQUEUE) != 0) { + uint32_t srrctl; + if (MCLBYTES & ((1 << SRRCTL_BSIZEPKT_SHIFT) - 1)) panic("%s: MCLBYTES
CVS commit: src/usr.sbin/makefs
Module Name:src Committed By: tkusumi Date: Thu Feb 29 08:13:52 UTC 2024 Modified Files: src/usr.sbin/makefs: msdos.c Log Message: makefs/msdos: Fix broken [extra-directory ...] case "path + cur->name" is not same as "cur->root + cur->path + cur->name" for extra-directory files, as extra-directory files are in different location. Do what makefs ffs code does. To generate a diff of this commit: cvs rdiff -u -r1.24 -r1.25 src/usr.sbin/makefs/msdos.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.sbin/makefs/msdos.c diff -u src/usr.sbin/makefs/msdos.c:1.24 src/usr.sbin/makefs/msdos.c:1.25 --- src/usr.sbin/makefs/msdos.c:1.24 Sun Feb 18 16:58:51 2024 +++ src/usr.sbin/makefs/msdos.c Thu Feb 29 08:13:52 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: msdos.c,v 1.24 2024/02/18 16:58:51 christos Exp $ */ +/* $NetBSD: msdos.c,v 1.25 2024/02/29 08:13:52 tkusumi Exp $ */ /*- * Copyright (c) 2013 The NetBSD Foundation, Inc. @@ -34,7 +34,7 @@ #include #if defined(__RCSID) && !defined(__lint) -__RCSID("$NetBSD: msdos.c,v 1.24 2024/02/18 16:58:51 christos Exp $"); +__RCSID("$NetBSD: msdos.c,v 1.25 2024/02/29 08:13:52 tkusumi Exp $"); #endif /* !__lint */ #include @@ -226,8 +226,8 @@ msdos_populate_dir(const char *path, str assert(fsopts != NULL); for (cur = root->next; cur != NULL; cur = cur->next) { - if ((size_t)snprintf(pbuf, sizeof(pbuf), "%s/%s", path, - cur->name) >= sizeof(pbuf)) { + if ((size_t)snprintf(pbuf, sizeof(pbuf), "%s/%s/%s", + cur->root, cur->path, cur->name) >= sizeof(pbuf)) { warnx("path %s too long", pbuf); return -1; }
CVS commit: src/usr.sbin/makefs
Module Name:src Committed By: tkusumi Date: Thu Feb 29 08:13:52 UTC 2024 Modified Files: src/usr.sbin/makefs: msdos.c Log Message: makefs/msdos: Fix broken [extra-directory ...] case "path + cur->name" is not same as "cur->root + cur->path + cur->name" for extra-directory files, as extra-directory files are in different location. Do what makefs ffs code does. To generate a diff of this commit: cvs rdiff -u -r1.24 -r1.25 src/usr.sbin/makefs/msdos.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.