CVS commit: src/external/mit/xorg/lib/libEGL.old

2023-07-16 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Jul 17 04:24:34 UTC 2023

Added Files:
src/external/mit/xorg/lib/libEGL.old: Makefile

Log Message:
copy the old libEGL/Makefile here and subst .old in a couple of places.

should fix build.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/external/mit/xorg/lib/libEGL.old/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: src/external/mit/xorg/lib/libEGL.old/Makefile
diff -u /dev/null src/external/mit/xorg/lib/libEGL.old/Makefile:1.1
--- /dev/null	Mon Jul 17 04:24:34 2023
+++ src/external/mit/xorg/lib/libEGL.old/Makefile	Mon Jul 17 04:24:34 2023
@@ -0,0 +1,129 @@
+#	$NetBSD: Makefile,v 1.1 2023/07/17 04:24:34 mrg Exp $
+
+.include 
+
+.include "../mesa-which.mk"
+
+LIB=		EGL
+LIBISCXX=	yes
+
+SHLIB_MAJOR=	0
+SHLIB_MINOR=	0
+
+#SUBDIR=		internal
+
+# egl
+.PATH:		${X11SRCDIR.Mesa}/src/egl/main
+SRCS.egl= \
+	eglapi.c \
+	eglarray.c \
+	eglconfig.c \
+	eglcontext.c \
+	eglcurrent.c \
+	egldevice.c \
+	egldisplay.c \
+	egldriver.c \
+	eglfallbacks.c \
+	eglglobals.c \
+	eglimage.c \
+	egllog.c \
+	eglsurface.c \
+	eglsync.c
+
+.PATH:		${X11SRCDIR.Mesa}/src/egl/drivers/dri2
+SRCS.drivers/dri2= \
+	egl_dri2.c \
+	platform_x11.c \
+	platform_drm.c
+
+# XXX notyet
+#SRCS.drivers/dri2+= \
+#	platform_x11_dri3.c
+
+.PATH:		${X11SRCDIR.Mesa}/src/util
+BUILDSYMLINKS+= ${X11SRCDIR.Mesa}/src/util/debug.c UTILdebug.c
+SRCS.util=  \
+	UTILdebug.c \
+	u_process.c
+
+.for file in ${SRCS.util}
+CPPFLAGS.${file}+=		-I${X11SRCDIR.Mesa}/src/util \
+-I${X11SRCDIR.Mesa}/src/mesa \
+-I${X11SRCDIR.Mesa}/src \
+-I${X11SRCDIR.Mesa}/src/gallium/include
+.endfor
+
+.PATH:		${X11SRCDIR.Mesa}/include/EGL
+INCS=	\
+	egl.h \
+	eglext.h \
+	eglextchromium.h \
+	eglmesaext.h \
+	eglplatform.h
+INCSDIR=${X11INCDIR}/EGL
+
+SRCS+=	${SRCS.egl} ${SRCS.drivers/dri2} ${SRCS.util}
+
+CPPFLAGS+= \
+	-I${X11SRCDIR.Mesa}/include \
+	-I${X11SRCDIR.Mesa}/include/drm-uapi \
+	-I${X11SRCDIR.Mesa}/src/gbm/main \
+	-I${X11SRCDIR.Mesa}/src/egl/main \
+	-I${X11SRCDIR.Mesa}/src/gbm/backends/dri \
+	-I${X11SRCDIR.Mesa}/src/loader \
+	-I${X11SRCDIR.Mesa}/src \
+	-I${DESTDIR}${X11INCDIR}/libdrm
+
+EGL_DRIVER_INSTALL_DIR=${X11ROOTDIR}/lib
+CPPFLAGS+= \
+	-DDEFAULT_DRIVER_DIR=\"${X11USRLIBDIR}/modules/dri\" \
+	-D_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_X11 \
+	-D_EGL_DRIVER_SEARCH_DIR=\"$(EGL_DRIVER_INSTALL_DIR)\" \
+	-D_EGL_OS_UNIX=1
+
+CPPFLAGS+=	${X11FLAGS.THREADLIB} \
+		-DHAVE_X11_PLATFORM \
+		-DHAVE_DRM_PLATFORM \
+		-DHAVE_TIMESPEC_GET \
+		-DHAVE_PTHREAD \
+		-DHAVE_LIBDRM \
+		-DHAVE_MINCORE
+
+.include "../libloader.old.mk"
+
+CFLAGS+=	-fvisibility=hidden -fno-strict-aliasing -fno-builtin-memcmp
+CFLAGS+=	-pthread
+
+# XXX missing: xcb-present
+LIBDPLIBS=	Xext		${.CURDIR}/../libXext \
+		X11		${.CURDIR}/../libX11/dynamic \
+		Xfixes		${.CURDIR}/../libXfixes \
+		Xdamage		${.CURDIR}/../libXdamage \
+		Xdmcp		${.CURDIR}/../libXdmcp \
+		glapi		${.CURDIR}/../libglapi${OLD_SUFFIX} \
+		drm		${.CURDIR}/../libdrm \
+		gbm		${.CURDIR}/../libgbm${OLD_SUFFIX} \
+		xshmfence	${.CURDIR}/../libxshmfence \
+		X11-xcb		${.CURDIR}/../libX11/libX11-xcb \
+		xcb-dri2	${.CURDIR}/../libxcb/dri2 \
+		xcb-glx		${.CURDIR}/../libxcb/glx \
+		xcb-xfixes	${.CURDIR}/../libxcb/xfixes \
+		xcb-sync	${.CURDIR}/../libxcb/sync \
+		xcb		${.CURDIR}/../libxcb/libxcb \
+		expat		${NETBSDSRCDIR}/external/mit/expat/lib/libexpat \
+		m		${NETBSDSRCDIR}/lib/libm \
+		pthread		${NETBSDSRCDIR}/lib/libpthread
+
+MKLINT=no
+
+PKGCONFIG=	egl
+PKGDIST.egl=	${X11SRCDIR.Mesa}/../src/pkgconfig
+.include "${.CURDIR}/../libGL.old/mesa-ver.mk"
+PKGCONFIG_VERSION.egl=	${MESA_VER}
+
+CWARNFLAGS.clang+=	-Wno-tautological-compare -Wno-format -Wno-constant-conversion
+COPTS.platform_drm.c+=	-Wno-error=stack-protector
+
+.include 
+.include 
+.include 



CVS commit: src/external/mit/xorg/lib/libEGL.old

2023-07-16 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Jul 17 04:24:34 UTC 2023

Added Files:
src/external/mit/xorg/lib/libEGL.old: Makefile

Log Message:
copy the old libEGL/Makefile here and subst .old in a couple of places.

should fix build.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/external/mit/xorg/lib/libEGL.old/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/rump/librump/rumpkern

2023-07-16 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Jul 16 23:12:17 UTC 2023

Modified Files:
src/sys/rump/librump/rumpkern: locks.c

Log Message:
rump: Fix comment to reflect l_private -> l_sched.info.

Comment was misspelled `l->private', hence didn't come up in grep.


To generate a diff of this commit:
cvs rdiff -u -r1.85 -r1.86 src/sys/rump/librump/rumpkern/locks.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/rump/librump/rumpkern/locks.c
diff -u src/sys/rump/librump/rumpkern/locks.c:1.85 src/sys/rump/librump/rumpkern/locks.c:1.86
--- src/sys/rump/librump/rumpkern/locks.c:1.85	Sun Jul 16 23:05:53 2023
+++ src/sys/rump/librump/rumpkern/locks.c	Sun Jul 16 23:12:17 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: locks.c,v 1.85 2023/07/16 23:05:53 riastradh Exp $	*/
+/*	$NetBSD: locks.c,v 1.86 2023/07/16 23:12:17 riastradh Exp $	*/
 
 /*
  * Copyright (c) 2007-2011 Antti Kantee.  All Rights Reserved.
@@ -26,7 +26,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: locks.c,v 1.85 2023/07/16 23:05:53 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: locks.c,v 1.86 2023/07/16 23:12:17 riastradh Exp $");
 
 #include 
 #include 
@@ -425,7 +425,7 @@ docvwait(kcondvar_t *cv, kmutex_t *mtx, 
 		KASSERT(p->p_sflag & PS_RUMP_LWPEXIT);
 		mutex_exit(p->p_lock);
 
-		/* ok, we can exit and remove "reference" to l->private */
+		/* ok, we can exit and remove "reference" to l->l_sched.info */
 
 		mutex_enter(mtx);
 		rv = EINTR;



CVS commit: src/sys/rump/librump/rumpkern

2023-07-16 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Jul 16 23:12:17 UTC 2023

Modified Files:
src/sys/rump/librump/rumpkern: locks.c

Log Message:
rump: Fix comment to reflect l_private -> l_sched.info.

Comment was misspelled `l->private', hence didn't come up in grep.


To generate a diff of this commit:
cvs rdiff -u -r1.85 -r1.86 src/sys/rump/librump/rumpkern/locks.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/rump

2023-07-16 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Jul 16 23:05:53 UTC 2023

Modified Files:
src/sys/rump/kern/lib/libsysproxy: sysproxy.c
src/sys/rump/librump/rumpkern: locks.c

Log Message:
rump: Use l_sched.info, not l_private, for cv waits.

- l_sched is scheduler-private, used only by sched_m2.c, should be safe
- l_private is lwp-private, used by tls in user threads, would like to
  reuse for kthreads too


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/sys/rump/kern/lib/libsysproxy/sysproxy.c
cvs rdiff -u -r1.84 -r1.85 src/sys/rump/librump/rumpkern/locks.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/rump/kern/lib/libsysproxy/sysproxy.c
diff -u src/sys/rump/kern/lib/libsysproxy/sysproxy.c:1.9 src/sys/rump/kern/lib/libsysproxy/sysproxy.c:1.10
--- src/sys/rump/kern/lib/libsysproxy/sysproxy.c:1.9	Sun Aug 21 10:24:23 2022
+++ src/sys/rump/kern/lib/libsysproxy/sysproxy.c	Sun Jul 16 23:05:53 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: sysproxy.c,v 1.9 2022/08/21 10:24:23 riastradh Exp $	*/
+/*	$NetBSD: sysproxy.c,v 1.10 2023/07/16 23:05:53 riastradh Exp $	*/
 
 /*
  * Copyright (c) 2010, 2011 Antti Kantee.  All Rights Reserved.
@@ -26,7 +26,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: sysproxy.c,v 1.9 2022/08/21 10:24:23 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sysproxy.c,v 1.10 2023/07/16 23:05:53 riastradh Exp $");
 
 #include 
 #include 
@@ -180,17 +180,17 @@ hyp_lwpexit(void)
 	/*
 	 * Ok, all lwps are either:
 	 *  1) not in the cv code
-	 *  2) sleeping on l->l_private
+	 *  2) sleeping on l->l_sched.info
 	 *  3) sleeping on p->p_waitcv
 	 *
-	 * Either way, l_private is stable until we set PS_RUMP_LWPEXIT
-	 * in p->p_sflag.
+	 * Either way, l_sched.info is stable until we set
+	 * PS_RUMP_LWPEXIT in p->p_sflag.
 	 */
 
 	mutex_enter(p->p_lock);
 	LIST_FOREACH(l, >p_lwps, l_sibling) {
-		if (l->l_private)
-			cv_broadcast(l->l_private);
+		if (l->l_sched.info)
+			cv_broadcast(l->l_sched.info);
 	}
 	p->p_sflag |= PS_RUMP_LWPEXIT;
 	cv_broadcast(>p_waitcv);

Index: src/sys/rump/librump/rumpkern/locks.c
diff -u src/sys/rump/librump/rumpkern/locks.c:1.84 src/sys/rump/librump/rumpkern/locks.c:1.85
--- src/sys/rump/librump/rumpkern/locks.c:1.84	Wed Apr 12 06:35:40 2023
+++ src/sys/rump/librump/rumpkern/locks.c	Sun Jul 16 23:05:53 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: locks.c,v 1.84 2023/04/12 06:35:40 riastradh Exp $	*/
+/*	$NetBSD: locks.c,v 1.85 2023/07/16 23:05:53 riastradh Exp $	*/
 
 /*
  * Copyright (c) 2007-2011 Antti Kantee.  All Rights Reserved.
@@ -26,7 +26,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: locks.c,v 1.84 2023/04/12 06:35:40 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: locks.c,v 1.85 2023/07/16 23:05:53 riastradh Exp $");
 
 #include 
 #include 
@@ -395,7 +395,7 @@ docvwait(kcondvar_t *cv, kmutex_t *mtx, 
 
 	UNLOCKED(mtx, false);
 
-	l->l_private = cv;
+	l->l_sched.info = cv;
 	rv = 0;
 	if (ts) {
 		if (rumpuser_cv_timedwait(RUMPCV(cv), RUMPMTX(mtx),
@@ -430,7 +430,7 @@ docvwait(kcondvar_t *cv, kmutex_t *mtx, 
 		mutex_enter(mtx);
 		rv = EINTR;
 	}
-	l->l_private = NULL;
+	l->l_sched.info = NULL;
 
 	return rv;
 }



CVS commit: src/sys/rump

2023-07-16 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Jul 16 23:05:53 UTC 2023

Modified Files:
src/sys/rump/kern/lib/libsysproxy: sysproxy.c
src/sys/rump/librump/rumpkern: locks.c

Log Message:
rump: Use l_sched.info, not l_private, for cv waits.

- l_sched is scheduler-private, used only by sched_m2.c, should be safe
- l_private is lwp-private, used by tls in user threads, would like to
  reuse for kthreads too


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/sys/rump/kern/lib/libsysproxy/sysproxy.c
cvs rdiff -u -r1.84 -r1.85 src/sys/rump/librump/rumpkern/locks.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/external/mit/xorg/lib

2023-07-16 Thread Robert Swindells
Module Name:src
Committed By:   rjs
Date:   Sun Jul 16 22:20:54 UTC 2023

Modified Files:
src/external/mit/xorg/lib: driver.mk libglsl.mk libloader.mk libmesa.mk
src/external/mit/xorg/lib/dri: Makefile
src/external/mit/xorg/lib/gallium: Makefile
src/external/mit/xorg/lib/libEGL: Makefile
src/external/mit/xorg/lib/libGL: Makefile mesa-ver.mk
src/external/mit/xorg/lib/libgbm: Makefile
src/external/mit/xorg/lib/libglapi: Makefile

Log Message:
Make most of MesaLib build.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/external/mit/xorg/lib/driver.mk
cvs rdiff -u -r1.6 -r1.7 src/external/mit/xorg/lib/libglsl.mk \
src/external/mit/xorg/lib/libloader.mk
cvs rdiff -u -r1.14 -r1.15 src/external/mit/xorg/lib/libmesa.mk
cvs rdiff -u -r1.38 -r1.39 src/external/mit/xorg/lib/dri/Makefile
cvs rdiff -u -r1.49 -r1.50 src/external/mit/xorg/lib/gallium/Makefile
cvs rdiff -u -r1.7 -r1.8 src/external/mit/xorg/lib/libEGL/Makefile
cvs rdiff -u -r1.33 -r1.34 src/external/mit/xorg/lib/libGL/Makefile
cvs rdiff -u -r1.4 -r1.5 src/external/mit/xorg/lib/libGL/mesa-ver.mk
cvs rdiff -u -r1.8 -r1.9 src/external/mit/xorg/lib/libgbm/Makefile
cvs rdiff -u -r1.9 -r1.10 src/external/mit/xorg/lib/libglapi/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/mit/xorg/lib/driver.mk
diff -u src/external/mit/xorg/lib/driver.mk:1.4 src/external/mit/xorg/lib/driver.mk:1.5
--- src/external/mit/xorg/lib/driver.mk:1.4	Tue Sep 24 19:29:41 2019
+++ src/external/mit/xorg/lib/driver.mk	Sun Jul 16 22:20:54 2023
@@ -1,50 +1,98 @@
-#	$NetBSD: driver.mk,v 1.4 2019/09/24 19:29:41 maya Exp $
+#	$NetBSD: driver.mk,v 1.5 2023/07/16 22:20:54 rjs Exp $
 
 # stuff both dri and gallium drivers need.
 
 # util
 .PATH:		${X11SRCDIR.Mesa}/src/util
 .PATH:		${X11SRCDIR.Mesa}/../src/util
+.PATH:		${X11SRCDIR.Mesa}/src/util/format
+.PATH:		${X11SRCDIR.Mesa}/../src/util/format
+.PATH:		${X11SRCDIR.Mesa}/src/util/perf
+.PATH:		${X11SRCDIR.Mesa}/../src/util/perf
 
 SRCS.util=	\
-	hash_table.c \
+	anon_file.c \
 	build_id.c \
+	compress.c \
 	crc32.c \
+	dag.c \
 	disk_cache.c \
+	disk_cache_os.c \
+	double.c \
+	format_srgb.c \
+	fossilize_db.c \
+	hash_table.c \
 	fast_idiv_by_const.c \
 	half_float.c \
-	format_srgb.c \
+	memstream.c \
 	mesa-sha1.c \
+	os_file.c \
+	os_memory_fd.c \
 	os_time.c \
 	ralloc.c \
 	UTILdebug.c \
+	UTILlog.c \
 	rand_xor.c \
 	rb_tree.c \
 	register_allocate.c \
 	rgtc.c \
 	set.c \
 	slab.c \
+	softfloat.c \
 	string_buffer.c \
 	strtod.c \
 	u_atomic.c \
 	u_cpu_detect.c \
+	u_debug.c \
+	u_hash_table.c \
+	u_idalloc.c \
 	u_math.c \
+	u_mm.c \
+	u_qsort.cpp \
 	u_queue.c \
+	u_printf.cpp \
 	u_process.c \
 	u_vector.c \
 	vma.c
 
-CPPFLAGS.format_srgb.c+=	-I${X11SRCDIR.Mesa}/src/util
 CPPFLAGS.hash_table.c+=		-I${X11SRCDIR.Mesa}/src/util
-CPPFLAGS.MESAralloc.c+=		-I${X11SRCDIR.Mesa}/src/util
 CPPFLAGS.UTILdebug.c+=		-I${X11SRCDIR.Mesa}/src/util \
 -I${X11SRCDIR.Mesa}/src/mesa \
 -I${X11SRCDIR.Mesa}/src \
 -I${X11SRCDIR.Mesa}/src/gallium/include
+CPPFLAGS.format_srgb.c+=	-I${X11SRCDIR.Mesa}/src/util
+CPPFLAGS.u_hash_table.c+=	-I${X11SRCDIR.Mesa}/src/gallium/auxiliary
 
 BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/util/debug.c UTILdebug.c
+BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/util/log.c UTILlog.c
+
+SRCS.format= \
+	u_format.c \
+	u_format_bptc.c \
+	u_format_etc.c \
+	u_format_fxt1.c \
+	u_format_latc.c \
+	u_format_other.c \
+	u_format_rgtc.c \
+	u_format_s3tc.c \
+	u_format_unpack_neon.c \
+	u_format_yuv.c \
+	u_format_zs.c \
+	u_format_table.c
+
+.for _f in ${SRCS.format}
+CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/src/util/format
+CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/../src/util/format
+CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/../src
+.endfor
+
+SRCS.perf= \
+	u_trace.c
+
+CPPFLAGS.u_trace.c+=	-I${X11SRCDIR.Mesa}/src/util/perf
+CPPFLAGS.u_trace.c+=	-I${X11SRCDIR.Mesa}/src/gallium/auxiliary
 
-SRCS+=	${SRCS.util}
+SRCS+=	${SRCS.util} ${SRCS.format} ${SRCS.perf}
 
 # also need to pull in libdricommon.la libmegadriver_stub.la
 .PATH: ${X11SRCDIR.Mesa}/src/mesa/drivers/dri/common

Index: src/external/mit/xorg/lib/libglsl.mk
diff -u src/external/mit/xorg/lib/libglsl.mk:1.6 src/external/mit/xorg/lib/libglsl.mk:1.7
--- src/external/mit/xorg/lib/libglsl.mk:1.6	Tue Sep 24 19:29:41 2019
+++ src/external/mit/xorg/lib/libglsl.mk	Sun Jul 16 22:20:54 2023
@@ -1,4 +1,4 @@
-#	$NetBSD: libglsl.mk,v 1.6 2019/09/24 19:29:41 maya Exp $
+#	$NetBSD: libglsl.mk,v 1.7 2023/07/16 22:20:54 rjs Exp $
 
 LIBGLSL_GENERATED_CXX_FILES = \
 	glsl_lexer.cpp \
@@ -15,7 +15,8 @@ CPPFLAGS+=	-I${X11SRCDIR.Mesa}/src/compi
 		-I${X11SRCDIR.Mesa}/../src/compiler/glsl \
 		-I${X11SRCDIR.Mesa}/src/compiler/glsl/glcpp \
 		-I${X11SRCDIR.Mesa}/../src/compiler/glsl/glcpp \
-		-I${X11SRCDIR.Mesa}/src/compiler/spirv
+		-I${X11SRCDIR.Mesa}/src/compiler/spirv \
+		

CVS commit: src/external/mit/xorg/lib

2023-07-16 Thread Robert Swindells
Module Name:src
Committed By:   rjs
Date:   Sun Jul 16 22:20:54 UTC 2023

Modified Files:
src/external/mit/xorg/lib: driver.mk libglsl.mk libloader.mk libmesa.mk
src/external/mit/xorg/lib/dri: Makefile
src/external/mit/xorg/lib/gallium: Makefile
src/external/mit/xorg/lib/libEGL: Makefile
src/external/mit/xorg/lib/libGL: Makefile mesa-ver.mk
src/external/mit/xorg/lib/libgbm: Makefile
src/external/mit/xorg/lib/libglapi: Makefile

Log Message:
Make most of MesaLib build.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/external/mit/xorg/lib/driver.mk
cvs rdiff -u -r1.6 -r1.7 src/external/mit/xorg/lib/libglsl.mk \
src/external/mit/xorg/lib/libloader.mk
cvs rdiff -u -r1.14 -r1.15 src/external/mit/xorg/lib/libmesa.mk
cvs rdiff -u -r1.38 -r1.39 src/external/mit/xorg/lib/dri/Makefile
cvs rdiff -u -r1.49 -r1.50 src/external/mit/xorg/lib/gallium/Makefile
cvs rdiff -u -r1.7 -r1.8 src/external/mit/xorg/lib/libEGL/Makefile
cvs rdiff -u -r1.33 -r1.34 src/external/mit/xorg/lib/libGL/Makefile
cvs rdiff -u -r1.4 -r1.5 src/external/mit/xorg/lib/libGL/mesa-ver.mk
cvs rdiff -u -r1.8 -r1.9 src/external/mit/xorg/lib/libgbm/Makefile
cvs rdiff -u -r1.9 -r1.10 src/external/mit/xorg/lib/libglapi/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: xsrc/external/mit/MesaLib/dist/src/util

2023-07-16 Thread Robert Swindells
Module Name:xsrc
Committed By:   rjs
Date:   Sun Jul 16 22:01:36 UTC 2023

Modified Files:
xsrc/external/mit/MesaLib/dist/src/util: u_cpu_detect.c

Log Message:
sizeof() returns size_t type.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.3 -r1.2 \
xsrc/external/mit/MesaLib/dist/src/util/u_cpu_detect.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/MesaLib/dist/src/util/u_cpu_detect.c
diff -u xsrc/external/mit/MesaLib/dist/src/util/u_cpu_detect.c:1.1.1.3 xsrc/external/mit/MesaLib/dist/src/util/u_cpu_detect.c:1.2
--- xsrc/external/mit/MesaLib/dist/src/util/u_cpu_detect.c:1.1.1.3	Mon May  9 01:23:43 2022
+++ xsrc/external/mit/MesaLib/dist/src/util/u_cpu_detect.c	Sun Jul 16 22:01:35 2023
@@ -623,7 +623,7 @@ util_cpu_detect_once(void)
if (available_cpus == 0) {
   const int mib[] = { CTL_HW, HW_NCPUONLINE };
   int ncpu;
-  int len = sizeof(ncpu);
+  size_t len = sizeof(ncpu);
 
   sysctl(mib, 2, , , NULL, 0);
   available_cpus = ncpu;



CVS commit: xsrc/external/mit/MesaLib/dist/src/util

2023-07-16 Thread Robert Swindells
Module Name:xsrc
Committed By:   rjs
Date:   Sun Jul 16 22:01:36 UTC 2023

Modified Files:
xsrc/external/mit/MesaLib/dist/src/util: u_cpu_detect.c

Log Message:
sizeof() returns size_t type.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.3 -r1.2 \
xsrc/external/mit/MesaLib/dist/src/util/u_cpu_detect.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: xsrc/external/mit/MesaLib/dist/src/gallium/drivers/radeon

2023-07-16 Thread Robert Swindells
Module Name:xsrc
Committed By:   rjs
Date:   Sun Jul 16 21:58:14 UTC 2023

Modified Files:
xsrc/external/mit/MesaLib/dist/src/gallium/drivers/radeon:
radeon_vcn_enc.c

Log Message:
Fix enum name in cast.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
xsrc/external/mit/MesaLib/dist/src/gallium/drivers/radeon/radeon_vcn_enc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/MesaLib/dist/src/gallium/drivers/radeon/radeon_vcn_enc.c
diff -u xsrc/external/mit/MesaLib/dist/src/gallium/drivers/radeon/radeon_vcn_enc.c:1.4 xsrc/external/mit/MesaLib/dist/src/gallium/drivers/radeon/radeon_vcn_enc.c:1.5
--- xsrc/external/mit/MesaLib/dist/src/gallium/drivers/radeon/radeon_vcn_enc.c:1.4	Mon May  9 01:27:23 2022
+++ xsrc/external/mit/MesaLib/dist/src/gallium/drivers/radeon/radeon_vcn_enc.c	Sun Jul 16 21:58:14 2023
@@ -103,7 +103,7 @@ static void radeon_vcn_enc_get_param(str
   }
} else if (u_reduce_video_profile(picture->profile) == PIPE_VIDEO_FORMAT_HEVC) {
   struct pipe_h265_enc_picture_desc *pic = (struct pipe_h265_enc_picture_desc *)picture;
-  enc->enc_pic.picture_type = (enum pipe_h264_enc_picture_type)pic->picture_type;
+  enc->enc_pic.picture_type = (enum pipe_h2645_enc_picture_type)pic->picture_type;
   enc->enc_pic.frame_num = pic->frame_num;
   enc->enc_pic.pic_order_cnt = pic->pic_order_cnt;
   enc->enc_pic.pic_order_cnt_type = pic->pic_order_cnt_type;



CVS commit: xsrc/external/mit/MesaLib/dist/src/gallium/drivers/radeon

2023-07-16 Thread Robert Swindells
Module Name:xsrc
Committed By:   rjs
Date:   Sun Jul 16 21:58:14 UTC 2023

Modified Files:
xsrc/external/mit/MesaLib/dist/src/gallium/drivers/radeon:
radeon_vcn_enc.c

Log Message:
Fix enum name in cast.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
xsrc/external/mit/MesaLib/dist/src/gallium/drivers/radeon/radeon_vcn_enc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: xsrc/external/mit/MesaLib/dist/src/util

2023-07-16 Thread Robert Swindells
Module Name:xsrc
Committed By:   rjs
Date:   Sun Jul 16 21:55:45 UTC 2023

Modified Files:
xsrc/external/mit/MesaLib/dist/src/util: u_printf.h

Log Message:
include cstdarg for va_list

Copied from graphics/MesaLib pkg.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1 -r1.2 \
xsrc/external/mit/MesaLib/dist/src/util/u_printf.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/MesaLib/dist/src/util/u_printf.h
diff -u xsrc/external/mit/MesaLib/dist/src/util/u_printf.h:1.1.1.1 xsrc/external/mit/MesaLib/dist/src/util/u_printf.h:1.2
--- xsrc/external/mit/MesaLib/dist/src/util/u_printf.h:1.1.1.1	Mon May  9 01:23:43 2022
+++ xsrc/external/mit/MesaLib/dist/src/util/u_printf.h	Sun Jul 16 21:55:45 2023
@@ -25,6 +25,7 @@
 #ifdef __cplusplus
 
 #include 
+#include 
 
 /* find next valid printf specifier in a C++ std::string */
 size_t util_printf_next_spec_pos(const std::string , size_t pos);



CVS commit: xsrc/external/mit/MesaLib/dist/src/util

2023-07-16 Thread Robert Swindells
Module Name:xsrc
Committed By:   rjs
Date:   Sun Jul 16 21:55:45 UTC 2023

Modified Files:
xsrc/external/mit/MesaLib/dist/src/util: u_printf.h

Log Message:
include cstdarg for va_list

Copied from graphics/MesaLib pkg.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1 -r1.2 \
xsrc/external/mit/MesaLib/dist/src/util/u_printf.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: xsrc/external/mit/MesaLib/dist/src/gallium/auxiliary/gallivm

2023-07-16 Thread Robert Swindells
Module Name:xsrc
Committed By:   rjs
Date:   Sun Jul 16 21:54:34 UTC 2023

Modified Files:
xsrc/external/mit/MesaLib/dist/src/gallium/auxiliary/gallivm:
lp_bld_misc.cpp

Log Message:
setOverrideStackAlignment() isn't in our llvm runtime library.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 \
xsrc/external/mit/MesaLib/dist/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: xsrc/external/mit/MesaLib/dist/src/gallium/auxiliary/gallivm

2023-07-16 Thread Robert Swindells
Module Name:xsrc
Committed By:   rjs
Date:   Sun Jul 16 21:54:34 UTC 2023

Modified Files:
xsrc/external/mit/MesaLib/dist/src/gallium/auxiliary/gallivm:
lp_bld_misc.cpp

Log Message:
setOverrideStackAlignment() isn't in our llvm runtime library.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 \
xsrc/external/mit/MesaLib/dist/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/MesaLib/dist/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
diff -u xsrc/external/mit/MesaLib/dist/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp:1.3 xsrc/external/mit/MesaLib/dist/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp:1.4
--- xsrc/external/mit/MesaLib/dist/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp:1.3	Mon May  9 01:27:18 2022
+++ xsrc/external/mit/MesaLib/dist/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp	Sun Jul 16 21:54:33 2023
@@ -619,8 +619,10 @@ lp_is_function(LLVMValueRef v)
 extern "C" void
 lp_set_module_stack_alignment_override(LLVMModuleRef MRef, unsigned align)
 {
+#if 0
 #if LLVM_VERSION_MAJOR >= 13
llvm::Module *M = llvm::unwrap(MRef);
M->setOverrideStackAlignment(align);
 #endif
+#endif
 }



CVS commit: xsrc/external/mit/MesaLib/src

2023-07-16 Thread Robert Swindells
Module Name:xsrc
Committed By:   rjs
Date:   Sun Jul 16 21:41:57 UTC 2023

Modified Files:
xsrc/external/mit/MesaLib/src/amd/common: sid_tables.h
xsrc/external/mit/MesaLib/src/compiler: ir_expression_operation.h
xsrc/external/mit/MesaLib/src/compiler/glsl: float64_glsl.h
glsl_lexer.cpp glsl_parser.cpp glsl_parser.h
ir_expression_operation_constant.h
ir_expression_operation_strings.h
xsrc/external/mit/MesaLib/src/compiler/glsl/glcpp: glcpp-lex.c
glcpp-parse.c glcpp-parse.h
xsrc/external/mit/MesaLib/src/compiler/nir: nir_builder_opcodes.h
nir_constant_expressions.c nir_intrinsics.c nir_intrinsics.h
nir_opcodes.c nir_opcodes.h nir_opt_algebraic.c
xsrc/external/mit/MesaLib/src/compiler/spirv: spirv_info.c
vtn_gather_types.c
xsrc/external/mit/MesaLib/src/gallium/auxiliary: u_indices_gen.c
xsrc/external/mit/MesaLib/src/intel/genxml: gen11_pack.h gen45_pack.h
gen4_pack.h gen5_pack.h gen6_pack.h gen75_pack.h gen7_pack.h
gen8_pack.h gen9_pack.h genX_bits.h genX_xml.h
xsrc/external/mit/MesaLib/src/mesa: format_info.h get_hash.h
xsrc/external/mit/MesaLib/src/mesa/main: dispatch.h marshal_generated.h
remap_helper.h
xsrc/external/mit/MesaLib/src/mesa/program: program_parse.tab.c
program_parse.tab.h
xsrc/external/mit/MesaLib/src/util: format_srgb.c
Added Files:
xsrc/external/mit/MesaLib/src: git_sha1.h
xsrc/external/mit/MesaLib/src/amd/common: amdgfxregs.h
gfx10_format_table.c
xsrc/external/mit/MesaLib/src/compiler/nir: nir_intrinsics_indices.h
xsrc/external/mit/MesaLib/src/compiler/spirv: vtn_generator_ids.h
xsrc/external/mit/MesaLib/src/gallium/auxiliary: u_tracepoints.c
u_tracepoints.h
xsrc/external/mit/MesaLib/src/gallium/drivers/lima:
lima_nir_algebraic.c
xsrc/external/mit/MesaLib/src/gallium/frontends/xa: xa_tracker.h
xsrc/external/mit/MesaLib/src/intel/compiler:
brw_nir_trig_workarounds.c
xsrc/external/mit/MesaLib/src/intel/genxml: gen125_pack.h gen12_pack.h
gen_rt_pack.h
xsrc/external/mit/MesaLib/src/intel/isl: isl_format_layout.c
xsrc/external/mit/MesaLib/src/intel/perf: intel_perf_metrics.c
intel_perf_metrics.h
xsrc/external/mit/MesaLib/src/mapi/es1api: glapi_mapi_tmp.h
xsrc/external/mit/MesaLib/src/mapi/es2api: glapi_mapi_tmp.h
xsrc/external/mit/MesaLib/src/mapi/glapi/gen: api_exec.c enums.c
glapi_mapi_tmp.h indirect.c indirect.h indirect_init.c
indirect_size.c indirect_size.h marshal_generated0.c
marshal_generated1.c marshal_generated2.c marshal_generated3.c
marshal_generated4.c marshal_generated5.c marshal_generated6.c
marshal_generated7.c
xsrc/external/mit/MesaLib/src/mapi/shared-glapi: glapi_mapi_tmp.h
xsrc/external/mit/MesaLib/src/mesa: format_fallback.c
xsrc/external/mit/MesaLib/src/mesa/program: lex.yy.c
xsrc/external/mit/MesaLib/src/panfrost/bifrost: bi_builder.h
bi_opcodes.c bi_opcodes.h bi_packer.c bi_printer.c
bifrost_gen_disasm.c bifrost_nir_algebraic.c
xsrc/external/mit/MesaLib/src/panfrost/lib/genxml: common_pack.h
v4_pack.h v5_pack.h v6_pack.h v7_pack.h
xsrc/external/mit/MesaLib/src/panfrost/midgard: midgard_nir_algebraic.c
xsrc/external/mit/MesaLib/src/panfrost/perf: pan_perf_metrics.c
pan_perf_metrics.h
xsrc/external/mit/MesaLib/src/util: driconf_static.h
xsrc/external/mit/MesaLib/src/util/format: u_format_pack.h
u_format_table.c
Removed Files:
xsrc/external/mit/MesaLib/src/gallium/auxiliary: u_format_table.c
xsrc/external/mit/MesaLib/src/intel: brw_nir_trig_workarounds.c
isl_format_layout.c
xsrc/external/mit/MesaLib/src/intel/perf: gen_perf_metrics.c
gen_perf_metrics.h
xsrc/external/mit/MesaLib/src/mapi: shared-glapi_glapi_mapi_tmp.h
xsrc/external/mit/MesaLib/src/mapi/glapi: api_exec.c enums.c
glapi_mapi_tmp.h indirect.c indirect.h indirect_init.c
indirect_size.c indirect_size.h marshal_generated.c
xsrc/external/mit/MesaLib/src/mesa: matypes.h
xsrc/external/mit/MesaLib/src/mesa/main: Makefile format_fallback.c
format_pack.c format_unpack.c git_sha1.h
xsrc/external/mit/MesaLib/src/mesa/program: Makefile
xsrc/external/mit/MesaLib/src/util: Makefile
xsrc/external/mit/MesaLib/src/util/xmlpool: options.h

Log Message:
Update generated files to match 21.3.7.

Created using a dummy pkg.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 xsrc/external/mit/MesaLib/src/git_sha1.h
cvs rdiff -u -r0 -r1.1 

CVS commit: xsrc/external/mit/MesaLib/src

2023-07-16 Thread Robert Swindells
Module Name:xsrc
Committed By:   rjs
Date:   Sun Jul 16 21:41:57 UTC 2023

Modified Files:
xsrc/external/mit/MesaLib/src/amd/common: sid_tables.h
xsrc/external/mit/MesaLib/src/compiler: ir_expression_operation.h
xsrc/external/mit/MesaLib/src/compiler/glsl: float64_glsl.h
glsl_lexer.cpp glsl_parser.cpp glsl_parser.h
ir_expression_operation_constant.h
ir_expression_operation_strings.h
xsrc/external/mit/MesaLib/src/compiler/glsl/glcpp: glcpp-lex.c
glcpp-parse.c glcpp-parse.h
xsrc/external/mit/MesaLib/src/compiler/nir: nir_builder_opcodes.h
nir_constant_expressions.c nir_intrinsics.c nir_intrinsics.h
nir_opcodes.c nir_opcodes.h nir_opt_algebraic.c
xsrc/external/mit/MesaLib/src/compiler/spirv: spirv_info.c
vtn_gather_types.c
xsrc/external/mit/MesaLib/src/gallium/auxiliary: u_indices_gen.c
xsrc/external/mit/MesaLib/src/intel/genxml: gen11_pack.h gen45_pack.h
gen4_pack.h gen5_pack.h gen6_pack.h gen75_pack.h gen7_pack.h
gen8_pack.h gen9_pack.h genX_bits.h genX_xml.h
xsrc/external/mit/MesaLib/src/mesa: format_info.h get_hash.h
xsrc/external/mit/MesaLib/src/mesa/main: dispatch.h marshal_generated.h
remap_helper.h
xsrc/external/mit/MesaLib/src/mesa/program: program_parse.tab.c
program_parse.tab.h
xsrc/external/mit/MesaLib/src/util: format_srgb.c
Added Files:
xsrc/external/mit/MesaLib/src: git_sha1.h
xsrc/external/mit/MesaLib/src/amd/common: amdgfxregs.h
gfx10_format_table.c
xsrc/external/mit/MesaLib/src/compiler/nir: nir_intrinsics_indices.h
xsrc/external/mit/MesaLib/src/compiler/spirv: vtn_generator_ids.h
xsrc/external/mit/MesaLib/src/gallium/auxiliary: u_tracepoints.c
u_tracepoints.h
xsrc/external/mit/MesaLib/src/gallium/drivers/lima:
lima_nir_algebraic.c
xsrc/external/mit/MesaLib/src/gallium/frontends/xa: xa_tracker.h
xsrc/external/mit/MesaLib/src/intel/compiler:
brw_nir_trig_workarounds.c
xsrc/external/mit/MesaLib/src/intel/genxml: gen125_pack.h gen12_pack.h
gen_rt_pack.h
xsrc/external/mit/MesaLib/src/intel/isl: isl_format_layout.c
xsrc/external/mit/MesaLib/src/intel/perf: intel_perf_metrics.c
intel_perf_metrics.h
xsrc/external/mit/MesaLib/src/mapi/es1api: glapi_mapi_tmp.h
xsrc/external/mit/MesaLib/src/mapi/es2api: glapi_mapi_tmp.h
xsrc/external/mit/MesaLib/src/mapi/glapi/gen: api_exec.c enums.c
glapi_mapi_tmp.h indirect.c indirect.h indirect_init.c
indirect_size.c indirect_size.h marshal_generated0.c
marshal_generated1.c marshal_generated2.c marshal_generated3.c
marshal_generated4.c marshal_generated5.c marshal_generated6.c
marshal_generated7.c
xsrc/external/mit/MesaLib/src/mapi/shared-glapi: glapi_mapi_tmp.h
xsrc/external/mit/MesaLib/src/mesa: format_fallback.c
xsrc/external/mit/MesaLib/src/mesa/program: lex.yy.c
xsrc/external/mit/MesaLib/src/panfrost/bifrost: bi_builder.h
bi_opcodes.c bi_opcodes.h bi_packer.c bi_printer.c
bifrost_gen_disasm.c bifrost_nir_algebraic.c
xsrc/external/mit/MesaLib/src/panfrost/lib/genxml: common_pack.h
v4_pack.h v5_pack.h v6_pack.h v7_pack.h
xsrc/external/mit/MesaLib/src/panfrost/midgard: midgard_nir_algebraic.c
xsrc/external/mit/MesaLib/src/panfrost/perf: pan_perf_metrics.c
pan_perf_metrics.h
xsrc/external/mit/MesaLib/src/util: driconf_static.h
xsrc/external/mit/MesaLib/src/util/format: u_format_pack.h
u_format_table.c
Removed Files:
xsrc/external/mit/MesaLib/src/gallium/auxiliary: u_format_table.c
xsrc/external/mit/MesaLib/src/intel: brw_nir_trig_workarounds.c
isl_format_layout.c
xsrc/external/mit/MesaLib/src/intel/perf: gen_perf_metrics.c
gen_perf_metrics.h
xsrc/external/mit/MesaLib/src/mapi: shared-glapi_glapi_mapi_tmp.h
xsrc/external/mit/MesaLib/src/mapi/glapi: api_exec.c enums.c
glapi_mapi_tmp.h indirect.c indirect.h indirect_init.c
indirect_size.c indirect_size.h marshal_generated.c
xsrc/external/mit/MesaLib/src/mesa: matypes.h
xsrc/external/mit/MesaLib/src/mesa/main: Makefile format_fallback.c
format_pack.c format_unpack.c git_sha1.h
xsrc/external/mit/MesaLib/src/mesa/program: Makefile
xsrc/external/mit/MesaLib/src/util: Makefile
xsrc/external/mit/MesaLib/src/util/xmlpool: options.h

Log Message:
Update generated files to match 21.3.7.

Created using a dummy pkg.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 xsrc/external/mit/MesaLib/src/git_sha1.h
cvs rdiff -u -r0 -r1.1 

CVS commit: src/sys/arch/aarch64/aarch64

2023-07-16 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Jul 16 21:36:40 UTC 2023

Modified Files:
src/sys/arch/aarch64/aarch64: aarch64_machdep.c trap.c

Log Message:
aarch64: Omit needless xcfunc_t casts by using xcfunc_t correctly.

No functional change intended, except for avoiding possible undefined
behaviour that could have made demons come flying out your nose.


To generate a diff of this commit:
cvs rdiff -u -r1.69 -r1.70 src/sys/arch/aarch64/aarch64/aarch64_machdep.c
cvs rdiff -u -r1.48 -r1.49 src/sys/arch/aarch64/aarch64/trap.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/arch/aarch64/aarch64/aarch64_machdep.c
diff -u src/sys/arch/aarch64/aarch64/aarch64_machdep.c:1.69 src/sys/arch/aarch64/aarch64/aarch64_machdep.c:1.70
--- src/sys/arch/aarch64/aarch64/aarch64_machdep.c:1.69	Tue Apr 18 07:53:31 2023
+++ src/sys/arch/aarch64/aarch64/aarch64_machdep.c	Sun Jul 16 21:36:40 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: aarch64_machdep.c,v 1.69 2023/04/18 07:53:31 skrll Exp $ */
+/* $NetBSD: aarch64_machdep.c,v 1.70 2023/07/16 21:36:40 riastradh Exp $ */
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(1, "$NetBSD: aarch64_machdep.c,v 1.69 2023/04/18 07:53:31 skrll Exp $");
+__KERNEL_RCSID(1, "$NetBSD: aarch64_machdep.c,v 1.70 2023/07/16 21:36:40 riastradh Exp $");
 
 #include "opt_arm_debug.h"
 #include "opt_cpuoptions.h"
@@ -454,18 +454,17 @@ initarm_common(vaddr_t kvm_base, vsize_t
 /*
  * machine dependent system variables.
  */
-static xcfunc_t
+static void
 set_user_tagged_address(void *arg1, void *arg2)
 {
 	uint64_t enable = PTRTOUINT64(arg1);
 	uint64_t tcr = reg_tcr_el1_read();
+
 	if (enable)
 		tcr |= TCR_TBI0;
 	else
 		tcr &= ~TCR_TBI0;
 	reg_tcr_el1_write(tcr);
-
-	return 0;
 }
 
 static int
@@ -487,8 +486,8 @@ sysctl_machdep_tagged_address(SYSCTLFN_A
 		return EINVAL;
 
 	if (cur != val) {
-		uint64_t where = xc_broadcast(0,
-		(xcfunc_t)set_user_tagged_address, UINT64TOPTR(val), NULL);
+		uint64_t where = xc_broadcast(0, set_user_tagged_address,
+		UINT64TOPTR(val), NULL);
 		xc_wait(where);
 	}
 

Index: src/sys/arch/aarch64/aarch64/trap.c
diff -u src/sys/arch/aarch64/aarch64/trap.c:1.48 src/sys/arch/aarch64/aarch64/trap.c:1.49
--- src/sys/arch/aarch64/aarch64/trap.c:1.48	Sat Feb 25 00:40:22 2023
+++ src/sys/arch/aarch64/aarch64/trap.c	Sun Jul 16 21:36:40 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: trap.c,v 1.48 2023/02/25 00:40:22 riastradh Exp $ */
+/* $NetBSD: trap.c,v 1.49 2023/07/16 21:36:40 riastradh Exp $ */
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
 
 #include 
 
-__KERNEL_RCSID(1, "$NetBSD: trap.c,v 1.48 2023/02/25 00:40:22 riastradh Exp $");
+__KERNEL_RCSID(1, "$NetBSD: trap.c,v 1.49 2023/07/16 21:36:40 riastradh Exp $");
 
 #include "opt_arm_intr_impl.h"
 #include "opt_compat_netbsd32.h"
@@ -274,7 +274,7 @@ trap_el1h_sync(struct trapframe *tf)
 	(CTR_EL0_DIC | CTR_EL0_IDC | CTR_EL0_DMIN_LINE | CTR_EL0_IMIN_LINE)
 uint64_t ctr_el0_usr __read_mostly;
 
-static xcfunc_t
+static void
 configure_cpu_traps0(void *arg1, void *arg2)
 {
 	struct cpu_info * const ci = curcpu();
@@ -307,7 +307,7 @@ configure_cpu_traps0(void *arg1, void *a
 		goto need_ctr_trap;
 #endif
 
-	return 0;
+	return;
 
  need_ctr_trap:
 	evcnt_attach_dynamic(>ci_uct_trap, EVCNT_TYPE_MISC, NULL,
@@ -317,8 +317,6 @@ configure_cpu_traps0(void *arg1, void *a
 	sctlr = reg_sctlr_el1_read();
 	sctlr &= ~SCTLR_UCT;
 	reg_sctlr_el1_write(sctlr);
-
-	return 0;
 }
 
 void
@@ -374,8 +372,7 @@ configure_cpu_traps(void)
 		}
 	}
 
-	where = xc_broadcast(0,
-	(xcfunc_t)configure_cpu_traps0, NULL, NULL);
+	where = xc_broadcast(0, configure_cpu_traps0, NULL, NULL);
 	xc_wait(where);
 }
 



CVS commit: src/sys/arch/aarch64/aarch64

2023-07-16 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Jul 16 21:36:40 UTC 2023

Modified Files:
src/sys/arch/aarch64/aarch64: aarch64_machdep.c trap.c

Log Message:
aarch64: Omit needless xcfunc_t casts by using xcfunc_t correctly.

No functional change intended, except for avoiding possible undefined
behaviour that could have made demons come flying out your nose.


To generate a diff of this commit:
cvs rdiff -u -r1.69 -r1.70 src/sys/arch/aarch64/aarch64/aarch64_machdep.c
cvs rdiff -u -r1.48 -r1.49 src/sys/arch/aarch64/aarch64/trap.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch

2023-07-16 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Jul 16 19:55:44 UTC 2023

Modified Files:
src/sys/arch/amd64/amd64: locore.S machdep.c
src/sys/arch/i386/i386: gdt.c locore.S machdep.c
src/sys/arch/x86/x86: cpu.c pmap.c

Log Message:
x86: Sprinkle extensive commentary about %fs/%gs initialization.

Plus some other side quests like the three-stage GDT metamorphosis
lifecycle.

No functional change intended.


To generate a diff of this commit:
cvs rdiff -u -r1.222 -r1.223 src/sys/arch/amd64/amd64/locore.S
cvs rdiff -u -r1.366 -r1.367 src/sys/arch/amd64/amd64/machdep.c
cvs rdiff -u -r1.73 -r1.74 src/sys/arch/i386/i386/gdt.c
cvs rdiff -u -r1.195 -r1.196 src/sys/arch/i386/i386/locore.S
cvs rdiff -u -r1.839 -r1.840 src/sys/arch/i386/i386/machdep.c
cvs rdiff -u -r1.208 -r1.209 src/sys/arch/x86/x86/cpu.c
cvs rdiff -u -r1.423 -r1.424 src/sys/arch/x86/x86/pmap.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/arch/amd64/amd64/locore.S
diff -u src/sys/arch/amd64/amd64/locore.S:1.222 src/sys/arch/amd64/amd64/locore.S:1.223
--- src/sys/arch/amd64/amd64/locore.S:1.222	Sat Jun 24 05:31:04 2023
+++ src/sys/arch/amd64/amd64/locore.S	Sun Jul 16 19:55:43 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: locore.S,v 1.222 2023/06/24 05:31:04 msaitoh Exp $	*/
+/*	$NetBSD: locore.S,v 1.223 2023/07/16 19:55:43 riastradh Exp $	*/
 
 /*
  * Copyright-o-rama!
@@ -974,6 +974,20 @@ longmode_hi:
 
 	movl	$VM_GUEST_XENPV, _C_LABEL(vm_guest)
 
+	/*
+	 * Initialize cpu_info_primary.ci_self := _info_primary,
+	 * and initialize some MSRs with
+	 * cpu_init_msrs(_info_primary, full=true).  This sets up
+	 * SYSCALL/SYSRET (XXX why?) and %fs/%gs, which is needed for
+	 * the %gs-relative addressing used by CPUVAR(...), curcpu(),
+	 * and curlwp.
+	 *
+	 * XXX Is it necessary to set cpu_info_primary.ci_self here?
+	 * Isn't it statically initialized in x86/cpu.c?
+	 *
+	 * XXX Why do we immediately clear the segment registers just
+	 * afterward?
+	 */
 	movq	$cpu_info_primary,%rdi
 	movq	%rdi,CPU_INFO_SELF(%rdi) /* ci->ci_self = ci */
 	movq	$1,%rsi

Index: src/sys/arch/amd64/amd64/machdep.c
diff -u src/sys/arch/amd64/amd64/machdep.c:1.366 src/sys/arch/amd64/amd64/machdep.c:1.367
--- src/sys/arch/amd64/amd64/machdep.c:1.366	Wed Oct 26 23:38:06 2022
+++ src/sys/arch/amd64/amd64/machdep.c	Sun Jul 16 19:55:43 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: machdep.c,v 1.366 2022/10/26 23:38:06 riastradh Exp $	*/
+/*	$NetBSD: machdep.c,v 1.367 2023/07/16 19:55:43 riastradh Exp $	*/
 
 /*
  * Copyright (c) 1996, 1997, 1998, 2000, 2006, 2007, 2008, 2011
@@ -110,7 +110,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.366 2022/10/26 23:38:06 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.367 2023/07/16 19:55:43 riastradh Exp $");
 
 #include "opt_modular.h"
 #include "opt_user_ldt.h"
@@ -1721,7 +1721,26 @@ init_x86_64(paddr_t first_avail)
 #ifdef SVS
 	svs_init();
 #endif
+
+	/*
+	 * Initialize MSRs on cpu0:
+	 *
+	 * - Enables SYSCALL/SYSRET.
+	 *
+	 * - Sets up %fs and %gs so that %gs points to the current
+	 *   struct cpu_info as needed for CPUVAR(...), curcpu(), and
+	 *   curlwp.
+	 *
+	 * - Enables the no-execute bit if supported.
+	 *
+	 * Thus, after this point, CPUVAR(...), curcpu(), and curlwp
+	 * will work on cpu0.
+	 *
+	 * Note: The call to cpu_init_msrs for secondary CPUs happens
+	 * in cpu_hatch.
+	 */
 	cpu_init_msrs(_info_primary, true);
+
 #ifndef XENPV
 	cpu_speculation_init(_info_primary);
 #endif

Index: src/sys/arch/i386/i386/gdt.c
diff -u src/sys/arch/i386/i386/gdt.c:1.73 src/sys/arch/i386/i386/gdt.c:1.74
--- src/sys/arch/i386/i386/gdt.c:1.73	Sat Aug 20 23:48:50 2022
+++ src/sys/arch/i386/i386/gdt.c	Sun Jul 16 19:55:43 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: gdt.c,v 1.73 2022/08/20 23:48:50 riastradh Exp $	*/
+/*	$NetBSD: gdt.c,v 1.74 2023/07/16 19:55:43 riastradh Exp $	*/
 
 /*
  * Copyright (c) 1996, 1997, 2009 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: gdt.c,v 1.73 2022/08/20 23:48:50 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: gdt.c,v 1.74 2023/07/16 19:55:43 riastradh Exp $");
 
 #include "opt_multiprocessor.h"
 #include "opt_xen.h"
@@ -115,8 +115,30 @@ setgdt(int slot, const void *base, size_
 #endif
 
 /*
- * Initialize the GDT. We already have a gdtstore, which was temporarily used
- * by the bootstrap code. Now, we allocate a new gdtstore, and put it in cpu0.
+ * gdt_init()
+ *
+ *	Create a permanent Global Descriptor Table (GDT) for the
+ *	primary CPU.  This replaces the second tepmorary GDT that was
+ *	allocated in pmap_bootstrap with pmap_bootstrap_valloc and
+ *	pmap_bootstrap_palloc -- which in turn replaced the initial
+ *	temporary GDT allocated on the stack early at boot and
+ *	initialized with initgdt.
+ *
+ *	1. Allocate permanent space for the primary CPU's GDT with
+ *	   uvm_km(9).
+ *
+ *	2. Copy the temporary 

CVS commit: src/sys/arch

2023-07-16 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Jul 16 19:55:44 UTC 2023

Modified Files:
src/sys/arch/amd64/amd64: locore.S machdep.c
src/sys/arch/i386/i386: gdt.c locore.S machdep.c
src/sys/arch/x86/x86: cpu.c pmap.c

Log Message:
x86: Sprinkle extensive commentary about %fs/%gs initialization.

Plus some other side quests like the three-stage GDT metamorphosis
lifecycle.

No functional change intended.


To generate a diff of this commit:
cvs rdiff -u -r1.222 -r1.223 src/sys/arch/amd64/amd64/locore.S
cvs rdiff -u -r1.366 -r1.367 src/sys/arch/amd64/amd64/machdep.c
cvs rdiff -u -r1.73 -r1.74 src/sys/arch/i386/i386/gdt.c
cvs rdiff -u -r1.195 -r1.196 src/sys/arch/i386/i386/locore.S
cvs rdiff -u -r1.839 -r1.840 src/sys/arch/i386/i386/machdep.c
cvs rdiff -u -r1.208 -r1.209 src/sys/arch/x86/x86/cpu.c
cvs rdiff -u -r1.423 -r1.424 src/sys/arch/x86/x86/pmap.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/pckbport

2023-07-16 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Jul 16 19:09:07 UTC 2023

Modified Files:
src/sys/dev/pckbport: pckbd.c pckbdreg.h

Log Message:
>From Vladimir 'phcoder' Serbinenko in tech-kern:

On at least some Chromebooks PS/2 reset command generates no
response and we end up reading garbage and disabling keyboard
support altogether even though that controller otherwise works
fine. Linux issues reset but ignores the reply and relies on
getid instead. So does Haiku. FreeB= SD assumes that all coreboot
systems have PS/2 which is wrong as it supports some MacBooks as
well. No idea what windows does but keyboard works there.

Also do some KNF while here.


To generate a diff of this commit:
cvs rdiff -u -r1.37 -r1.38 src/sys/dev/pckbport/pckbd.c
cvs rdiff -u -r1.3 -r1.4 src/sys/dev/pckbport/pckbdreg.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/pckbport/pckbd.c
diff -u src/sys/dev/pckbport/pckbd.c:1.37 src/sys/dev/pckbport/pckbd.c:1.38
--- src/sys/dev/pckbport/pckbd.c:1.37	Fri Oct 28 19:40:37 2022
+++ src/sys/dev/pckbport/pckbd.c	Sun Jul 16 15:09:07 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: pckbd.c,v 1.37 2022/10/28 23:40:37 riastradh Exp $ */
+/* $NetBSD: pckbd.c,v 1.38 2023/07/16 19:09:07 christos Exp $ */
 
 /*-
  * Copyright (c) 1998, 2009 The NetBSD Foundation, Inc.
@@ -68,7 +68,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: pckbd.c,v 1.37 2022/10/28 23:40:37 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pckbd.c,v 1.38 2023/07/16 19:09:07 christos Exp $");
 
 #include 
 #include 
@@ -124,8 +124,6 @@ struct pckbd_softc {
 #endif
 };
 
-static int pckbd_is_console(pckbport_tag_t, pckbport_slot_t);
-
 int pckbdprobe(device_t, cfdata_t, void *);
 void pckbdattach(device_t, device_t, void *);
 
@@ -177,10 +175,6 @@ int	pckbd_init(struct pckbd_internal *, 
 			int);
 void	pckbd_input(void *, int);
 
-static int	pckbd_decode(struct pckbd_internal *, int, u_int *, int *);
-static int	pckbd_led_encode(int);
-static int	pckbd_led_decode(int);
-
 struct pckbd_internal pckbd_consdata;
 
 int
@@ -212,7 +206,7 @@ pckbd_set_xtscancode(pckbport_tag_t kbct
 		res = pckbport_poll_cmd(kbctag, kbcslot, cmd, 2, 0, 0, 0);
 		if (res) {
 			u_char cmdb[1];
-			aprint_debug("pckbd: error setting scanset 2\n");
+			aprint_debug("%s: error setting scanset 2\n", __func__);
 			/*
 			 * XXX at least one keyboard is reported to lock up
 			 * if a "set table" is attempted, thus the "reset".
@@ -220,7 +214,8 @@ pckbd_set_xtscancode(pckbport_tag_t kbct
 			 * default anyway.
 			 */
 			cmdb[0] = KBC_RESET;
-			(void)pckbport_poll_cmd(kbctag, kbcslot, cmdb, 1, 1, 0, 1);
+			(void)pckbport_poll_cmd(kbctag, kbcslot, cmdb, 1, 1,
+			0, 1);
 			pckbport_flush(kbctag, kbcslot);
 			res = 0;
 		}
@@ -236,7 +231,7 @@ pckbd_set_xtscancode(pckbport_tag_t kbct
 		cmd[1] = 1;
 		res = pckbport_poll_cmd(kbctag, kbcslot, cmd, 2, 0, 0, 0);
 		if (res)
-			aprint_debug("pckbd: error setting scanset 1\n");
+			aprint_debug("%s: error setting scanset 1\n", __func__);
 		if (id != NULL)
 			id->t_translating = 1;
 	}
@@ -262,8 +257,8 @@ pckbd_suspend(device_t dv, const pmf_qua
 	 * it even if it's the console kbd
 	 */
 	cmd[0] = KBC_DISABLE;
-	res = pckbport_enqueue_cmd(sc->id->t_kbctag,
-	sc->id->t_kbcslot, cmd, 1, 0, 1, 0);
+	res = pckbport_enqueue_cmd(sc->id->t_kbctag, sc->id->t_kbcslot,
+	cmd, 1, 0, 1, 0);
 	if (res)
 		return false;
 
@@ -300,8 +295,33 @@ pckbd_resume(device_t dv, const pmf_qual
 }
 
 /*
- * these are both bad jokes
+ * these are three bad jokes
  */
+static bool
+check_keyboard_by_id(struct pckbport_attach_args *pa)
+{
+	u_char cmd[1], resp[2];
+	int res;
+
+	cmd[0] = KBC_GETID;
+	res = pckbport_poll_cmd(pa->pa_tag, pa->pa_slot, cmd, 1, 2, resp, 0);
+	if (res) {
+		aprint_debug("%s: getid failed with %d\n", __func__, res);
+		return false;
+	}
+
+	switch (resp[0]) {
+	case 0xab: case 0xac:	/* Regular and NCD Sun keyboards */
+	case 0x2b: case 0x5d:	/* Trust keyboard, raw and translated */
+	case 0x60: case 0x47:	/* NMB SGI keyboard, raw and translated */
+		return true;
+	default:
+		aprint_debug("%s: getid returned %#x\n", __func__, resp[0]);
+		return false;
+	}
+
+}
+
 int
 pckbdprobe(device_t parent, cfdata_t cf, void *aux)
 {
@@ -326,7 +346,22 @@ pckbdprobe(device_t parent, cfdata_t cf,
 	cmd[0] = KBC_RESET;
 	res = pckbport_poll_cmd(pa->pa_tag, pa->pa_slot, cmd, 1, 1, resp, 1);
 	if (res) {
-		aprint_debug("pckbdprobe: reset error %d\n", res);
+		aprint_debug("%s: reset error %d\n", __func__, res);
+
+		/*
+		 * On Chromebooks reset fails but otherwise the controller
+		 * works fine.
+		 * Check keyboard IDs similar to Linux and Haiku.
+		 * FreeBSD's approach here is to skip probing if
+		 * coreboot is detected which is suboptimal as coreboot
+		 * also supports some mac models which have no PC controller
+		 */
+		if (check_keyboard_by_id(pa)) {
+			if 

CVS commit: src/sys/dev/pckbport

2023-07-16 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Jul 16 19:09:07 UTC 2023

Modified Files:
src/sys/dev/pckbport: pckbd.c pckbdreg.h

Log Message:
>From Vladimir 'phcoder' Serbinenko in tech-kern:

On at least some Chromebooks PS/2 reset command generates no
response and we end up reading garbage and disabling keyboard
support altogether even though that controller otherwise works
fine. Linux issues reset but ignores the reply and relies on
getid instead. So does Haiku. FreeB= SD assumes that all coreboot
systems have PS/2 which is wrong as it supports some MacBooks as
well. No idea what windows does but keyboard works there.

Also do some KNF while here.


To generate a diff of this commit:
cvs rdiff -u -r1.37 -r1.38 src/sys/dev/pckbport/pckbd.c
cvs rdiff -u -r1.3 -r1.4 src/sys/dev/pckbport/pckbdreg.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/tools/compat

2023-07-16 Thread Palle Lyckegaard
Module Name:src
Committed By:   palle
Date:   Sun Jul 16 18:09:54 UTC 2023

Modified Files:
src/tools/compat: README

Log Message:
Update build instructions for Solaris 11.4 hosts: specify HOST_SH and note 
standards


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/tools/compat/README

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/tools/compat/README
diff -u src/tools/compat/README:1.22 src/tools/compat/README:1.23
--- src/tools/compat/README:1.22	Wed Jul  5 16:26:29 2023
+++ src/tools/compat/README	Sun Jul 16 18:09:54 2023
@@ -1,4 +1,4 @@
-$NetBSD: README,v 1.22 2023/07/05 16:26:29 palle Exp $
+$NetBSD: README,v 1.23 2023/07/16 18:09:54 palle Exp $
 
 Special notes for cross-hosting a NetBSD build on certain platforms.  
 Only those platforms which have been tested to complete a "build.sh" run
@@ -121,7 +121,8 @@ Solaris 11:
  * TBD
 
 * Solaris 11.4 (SRU57)
+ * POSIX.1-2008, SUSv4 (see standards(7))
  * Using gcc-12
  * Set PATH to /usr/xpg7/bin:/usr/xpg6/bin:/usr/xpg4/bin:/usr/bin
  * Set HOST_CC to /usr/bin/gcc
-
+ * Set HOST_SH to /usr/bin/bash



CVS commit: src/tools/compat

2023-07-16 Thread Palle Lyckegaard
Module Name:src
Committed By:   palle
Date:   Sun Jul 16 18:09:54 UTC 2023

Modified Files:
src/tools/compat: README

Log Message:
Update build instructions for Solaris 11.4 hosts: specify HOST_SH and note 
standards


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/tools/compat/README

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/dev/wscons

2023-07-16 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Jul 16 17:43:50 UTC 2023

Modified Files:
src/sys/dev/wscons: wsemul_vt100.c

Log Message:
Avoid overflow with too many ';' (David Leadbeater)
Prefix all messages with the method name


To generate a diff of this commit:
cvs rdiff -u -r1.50 -r1.51 src/sys/dev/wscons/wsemul_vt100.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/wscons/wsemul_vt100.c
diff -u src/sys/dev/wscons/wsemul_vt100.c:1.50 src/sys/dev/wscons/wsemul_vt100.c:1.51
--- src/sys/dev/wscons/wsemul_vt100.c:1.50	Wed Feb 22 21:48:06 2023
+++ src/sys/dev/wscons/wsemul_vt100.c	Sun Jul 16 13:43:50 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: wsemul_vt100.c,v 1.50 2023/02/23 02:48:06 riastradh Exp $	*/
+/*	$NetBSD: wsemul_vt100.c,v 1.51 2023/07/16 17:43:50 christos Exp $	*/
 
 /*
  * Copyright (c) 1998
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: wsemul_vt100.c,v 1.50 2023/02/23 02:48:06 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: wsemul_vt100.c,v 1.51 2023/07/16 17:43:50 christos Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_wsmsgattrs.h"
@@ -628,7 +628,7 @@ wsemul_vt100_output_esc(struct wsemul_vt
 		break;
 	default:
 #ifdef VT100_PRINTUNKNOWN
-		printf("ESC%c unknown\n", c);
+		printf("%s: ESC%c unknown\n", __func__, c);
 #endif
 		break;
 	}
@@ -659,7 +659,8 @@ wsemul_vt100_output_scs94(struct wsemul_
 		break;
 	default:
 #ifdef VT100_PRINTUNKNOWN
-		printf("ESC%c%c unknown\n", edp->designating + '(', c);
+		printf("%s: ESC%c%c unknown\n", __func__, 
+		edp->designating + '(', c);
 #endif
 		break;
 	}
@@ -676,7 +677,8 @@ wsemul_vt100_output_scs94_percent(struct
 		break;
 	default:
 #ifdef VT100_PRINTUNKNOWN
-		printf("ESC%c%%%c unknown\n", edp->designating + '(', c);
+		printf("%s: ESC%c%%%c unknown\n",
+		__func__, edp->designating + '(', c);
 #endif
 		break;
 	}
@@ -728,7 +730,8 @@ setnrc:
 		break;
 	default:
 #ifdef VT100_PRINTUNKNOWN
-		printf("ESC%c%c unknown\n", edp->designating + '-' - 1, c);
+		printf("%s: ESC%c%c unknown\n",
+		__func__, edp->designating + '-' - 1, c);
 #endif
 		break;
 	}
@@ -744,7 +747,8 @@ wsemul_vt100_output_scs96_percent(struct
 		break;
 	default:
 #ifdef VT100_PRINTUNKNOWN
-		printf("ESC%c%%%c unknown\n", edp->designating + '-', c);
+		printf("%s: ESC%c%%%c unknown\n",
+		__func__, edp->designating + '-', c);
 #endif
 		break;
 	}
@@ -759,12 +763,12 @@ wsemul_vt100_output_esc_spc(struct wsemu
 	case 'F': /* 7-bit controls */
 	case 'G': /* 8-bit controls */
 #ifdef VT100_PRINTNOTIMPL
-		printf("ESC%c ignored\n", c);
+		printf("%s: ESC%c ignored\n", __func__, c);
 #endif
 		break;
 	default:
 #ifdef VT100_PRINTUNKNOWN
-		printf("ESC%c unknown\n", c);
+		printf("%s: ESC%c unknown\n", __func__, c);
 #endif
 		break;
 	}
@@ -807,17 +811,16 @@ wsemul_vt100_output_dcs(struct wsemul_vt
 		vd->args[vd->nargs] = (vd->args[vd->nargs] * 10) +
 		(c - '0');
 		break;
-	case ';': /* argument terminator */
-		vd->nargs++;
-		break;
 	default:
 		vd->nargs++;
 		if (vd->nargs > VT100_EMUL_NARGS) {
 #ifdef VT100_DEBUG
-			printf("vt100: too many arguments\n");
+			printf("%s: too many arguments\n", __func__);
 #endif
 			vd->nargs = VT100_EMUL_NARGS;
 		}
+		if (c == ';')	/* argument terminator */
+			break;
 		switch (c) {
 		case '$':
 			return VT100_EMUL_STATE_DCS_DOLLAR;
@@ -826,12 +829,13 @@ wsemul_vt100_output_dcs(struct wsemul_vt
 			/* 'u' must follow - need another state */
 		case '|': /* DECUDK program F6..F20 */
 #ifdef VT100_PRINTNOTIMPL
-			printf("DCS%c ignored\n", c);
+			printf("%s: DCS%c ignored\n", __func__, c);
 #endif
 			break;
 		default:
 #ifdef VT100_PRINTUNKNOWN
-			printf("DCS%c (%d, %d) unknown\n", c, ARG(vd, 0), ARG(vd, 1));
+			printf("%s: DCS%c (%d, %d) unknown\n",
+			__func__, c, ARG(vd, 0), ARG(vd, 1));
 #endif
 			break;
 		}
@@ -850,7 +854,7 @@ wsemul_vt100_output_dcs_dollar(struct ws
 	case 'p': /* DECRSTS terminal state restore */
 	case 'q': /* DECRQSS control function request */
 #ifdef VT100_PRINTNOTIMPL
-		printf("DCS$%c ignored\n", c);
+		printf("%s: DCS$%c ignored\n", __func__, c);
 #endif
 		break;
 	case 't': /* DECRSPS restore presentation state */
@@ -859,7 +863,7 @@ wsemul_vt100_output_dcs_dollar(struct ws
 			break;
 		case 1: /* cursor information restore */
 #ifdef VT100_PRINTNOTIMPL
-			printf("DCS1$t ignored\n");
+			printf("%s: DCS1$t ignored\n", __func__);
 #endif
 			break;
 		case 2: /* tab stop restore */
@@ -868,14 +872,15 @@ wsemul_vt100_output_dcs_dollar(struct ws
 			break;
 		default:
 #ifdef VT100_PRINTUNKNOWN
-			printf("DCS%d$t unknown\n", ARG(vd, 0));
+			printf("%s: DCS%d$t unknown\n", __func__, ARG(vd, 0));
 #endif
 			break;
 		}
 		break;
 	default:
 #ifdef VT100_PRINTUNKNOWN
-		printf("DCS$%c (%d, %d) unknown\n", c, ARG(vd, 0), ARG(vd, 1));
+		printf("%s: DCS$%c (%d, %d) unknown\n",
+		__func__, c, ARG(vd, 0), ARG(vd, 1));
 #endif
 		

CVS commit: src/sys/dev/wscons

2023-07-16 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Jul 16 17:43:50 UTC 2023

Modified Files:
src/sys/dev/wscons: wsemul_vt100.c

Log Message:
Avoid overflow with too many ';' (David Leadbeater)
Prefix all messages with the method name


To generate a diff of this commit:
cvs rdiff -u -r1.50 -r1.51 src/sys/dev/wscons/wsemul_vt100.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/sys

2023-07-16 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Jul 16 10:36:21 UTC 2023

Modified Files:
src/sys/sys: rndio.h

Log Message:
sys/rndio.h: Fix whitespace.

No functional change intended.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/sys/rndio.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/sys/rndio.h
diff -u src/sys/sys/rndio.h:1.2 src/sys/sys/rndio.h:1.3
--- src/sys/sys/rndio.h:1.2	Sun Sep  6 06:01:02 2015
+++ src/sys/sys/rndio.h	Sun Jul 16 10:36:21 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: rndio.h,v 1.2 2015/09/06 06:01:02 dholland Exp $	*/
+/*	$NetBSD: rndio.h,v 1.3 2023/07/16 10:36:21 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 1997 The NetBSD Foundation, Inc.
@@ -50,8 +50,7 @@ typedef struct {
 } rndsave_t;
 
 /* Statistics exposed by RNDGETPOOLSTAT */
-typedef struct
-{
+typedef struct {
 	uint32_t	poolsize;
 	uint32_t 	threshold;
 	uint32_t	maxentropy;



CVS commit: src/sys/sys

2023-07-16 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Jul 16 10:36:21 UTC 2023

Modified Files:
src/sys/sys: rndio.h

Log Message:
sys/rndio.h: Fix whitespace.

No functional change intended.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/sys/rndio.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/sys

2023-07-16 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Jul 16 10:36:11 UTC 2023

Modified Files:
src/sys/sys: rndsource.h

Log Message:
sys/rndsource.h: Fix whitespace.

No functional change intended.

XXX pullup-10


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/sys/sys/rndsource.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/sys/rndsource.h
diff -u src/sys/sys/rndsource.h:1.8 src/sys/sys/rndsource.h:1.9
--- src/sys/sys/rndsource.h:1.8	Sun Jul 16 10:36:02 2023
+++ src/sys/sys/rndsource.h	Sun Jul 16 10:36:11 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: rndsource.h,v 1.8 2023/07/16 10:36:02 riastradh Exp $	*/
+/*	$NetBSD: rndsource.h,v 1.9 2023/07/16 10:36:11 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2019 The NetBSD Foundation, Inc.
@@ -67,14 +67,14 @@ typedef struct rnd_delta_estimator {
  */
 struct krndsource {
 	LIST_ENTRY(krndsource) list;	/* the linked list */
-charname[16];   /* device name */
+	char		name[16];	/* device name */
 	rnd_delta_t	time_delta;	/* time samples added while cold */
 	rnd_delta_t	value_delta;	/* value samples added whiel cold */
-uint32_ttotal;  /* number of bits added while cold */
-uint32_ttype;   /* type, RND_TYPE_* */
-uint32_tflags;  /* flags, RND_FLAG_* */
-void*state; /* percpu (struct rndsource_cpu *) */
-size_t  test_cnt;   /* unused */
+	uint32_t	total;		/* number of bits added while cold */
+	uint32_t	type;		/* type, RND_TYPE_* */
+	uint32_t	flags;		/* flags, RND_FLAG_* */
+	void		*state;		/* percpu (struct rndsource_cpu *) */
+	size_t		test_cnt;	/* unused */
 	void		(*get)(size_t, void *);	/* pool wants N bytes (badly) */
 	void		*getarg;	/* argument to get-function */
 	void		(*enable)(struct krndsource *, bool); /* unused */



CVS commit: src/sys/sys

2023-07-16 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Jul 16 10:36:11 UTC 2023

Modified Files:
src/sys/sys: rndsource.h

Log Message:
sys/rndsource.h: Fix whitespace.

No functional change intended.

XXX pullup-10


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/sys/sys/rndsource.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/sys

2023-07-16 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Jul 16 10:36:02 UTC 2023

Modified Files:
src/sys/sys: rndsource.h

Log Message:
sys/rndsource.h: Update comment to reflect new use of delta members.

No functional change intended.

XXX pullup-10


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/sys/sys/rndsource.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/sys

2023-07-16 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Jul 16 10:36:02 UTC 2023

Modified Files:
src/sys/sys: rndsource.h

Log Message:
sys/rndsource.h: Update comment to reflect new use of delta members.

No functional change intended.

XXX pullup-10


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/sys/sys/rndsource.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/sys/rndsource.h
diff -u src/sys/sys/rndsource.h:1.7 src/sys/sys/rndsource.h:1.8
--- src/sys/sys/rndsource.h:1.7	Thu Apr 30 03:28:19 2020
+++ src/sys/sys/rndsource.h	Sun Jul 16 10:36:02 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: rndsource.h,v 1.7 2020/04/30 03:28:19 riastradh Exp $	*/
+/*	$NetBSD: rndsource.h,v 1.8 2023/07/16 10:36:02 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2019 The NetBSD Foundation, Inc.
@@ -46,7 +46,7 @@ struct percpu;
 /*
  * struct rnd_delta_estimator
  *
- *	Unused.  Preserved for ABI compatibility.
+ *	State for the time-delta entropy estimation model.
  */
 typedef struct rnd_delta_estimator {
 	uint64_t	x;
@@ -68,8 +68,8 @@ typedef struct rnd_delta_estimator {
 struct krndsource {
 	LIST_ENTRY(krndsource) list;	/* the linked list */
 charname[16];   /* device name */
-	rnd_delta_t	time_delta;	/* unused */
-	rnd_delta_t	value_delta;	/* unused */
+	rnd_delta_t	time_delta;	/* time samples added while cold */
+	rnd_delta_t	value_delta;	/* value samples added whiel cold */
 uint32_ttotal;  /* number of bits added while cold */
 uint32_ttype;   /* type, RND_TYPE_* */
 uint32_tflags;  /* flags, RND_FLAG_* */



CVS commit: src/sys/arch/i386/conf

2023-07-16 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Jul 16 10:20:08 UTC 2023

Modified Files:
src/sys/arch/i386/conf: ALL GENERIC

Log Message:
i386: Re-enable HEARTBEAT.


To generate a diff of this commit:
cvs rdiff -u -r1.509 -r1.510 src/sys/arch/i386/conf/ALL
cvs rdiff -u -r1.1249 -r1.1250 src/sys/arch/i386/conf/GENERIC

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/i386/conf

2023-07-16 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Jul 16 10:20:08 UTC 2023

Modified Files:
src/sys/arch/i386/conf: ALL GENERIC

Log Message:
i386: Re-enable HEARTBEAT.


To generate a diff of this commit:
cvs rdiff -u -r1.509 -r1.510 src/sys/arch/i386/conf/ALL
cvs rdiff -u -r1.1249 -r1.1250 src/sys/arch/i386/conf/GENERIC

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/i386/conf/ALL
diff -u src/sys/arch/i386/conf/ALL:1.509 src/sys/arch/i386/conf/ALL:1.510
--- src/sys/arch/i386/conf/ALL:1.509	Sun Jul 16 05:24:08 2023
+++ src/sys/arch/i386/conf/ALL	Sun Jul 16 10:20:07 2023
@@ -1,4 +1,4 @@
-# $NetBSD: ALL,v 1.509 2023/07/16 05:24:08 mrg Exp $
+# $NetBSD: ALL,v 1.510 2023/07/16 10:20:07 riastradh Exp $
 # From NetBSD: GENERIC,v 1.787 2006/10/01 18:37:54 bouyer Exp
 #
 # ALL machine description file
@@ -17,7 +17,7 @@ include 	"arch/i386/conf/std.i386"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident		"ALL-$Revision: 1.509 $"
+#ident		"ALL-$Revision: 1.510 $"
 
 maxusers	64		# estimated number of users
 
@@ -131,6 +131,10 @@ options 	BIOHIST		# kernhist for buff I/
 makeoptions	KCOV=1
 options		KCOV
 
+# Heartbeat checks
+options 	HEARTBEAT
+options 	HEARTBEAT_MAX_PERIOD_DEFAULT=15
+
 # Compatibility options
 include 	"conf/compat_netbsd09.config"
 options 	COMPAT_NOMID	# NetBSD 0.8, 386BSD, and BSDI

Index: src/sys/arch/i386/conf/GENERIC
diff -u src/sys/arch/i386/conf/GENERIC:1.1249 src/sys/arch/i386/conf/GENERIC:1.1250
--- src/sys/arch/i386/conf/GENERIC:1.1249	Sun Jul 16 05:24:08 2023
+++ src/sys/arch/i386/conf/GENERIC	Sun Jul 16 10:20:07 2023
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.1249 2023/07/16 05:24:08 mrg Exp $
+# $NetBSD: GENERIC,v 1.1250 2023/07/16 10:20:07 riastradh Exp $
 #
 # GENERIC machine description file
 #
@@ -22,7 +22,7 @@ include 	"arch/i386/conf/std.i386"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident		"GENERIC-$Revision: 1.1249 $"
+#ident		"GENERIC-$Revision: 1.1250 $"
 
 maxusers	64		# estimated number of users
 
@@ -140,6 +140,10 @@ options 	KDTRACE_HOOKS	# kernel DTrace h
 #makeoptions	KCOV=1
 #options 	KCOV
 
+# Heartbeat checks
+options 	HEARTBEAT
+options 	HEARTBEAT_MAX_PERIOD_DEFAULT=15
+
 # Compatibility options
 include 	"conf/compat_netbsd09.config"
 #options 	COMPAT_386BSD_MBRPART # recognize old partition ID



CVS commit: src/sys/kern

2023-07-16 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Jul 16 10:18:19 UTC 2023

Modified Files:
src/sys/kern: kern_heartbeat.c

Log Message:
heartbeat(9): For now, use time_uptime without atomic_load_relaxed.

A later commit will change time_uptime to a macro so it is atomic,
using atomc_load_relaxed if possible or seqlock if not.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/sys/kern/kern_heartbeat.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/kern

2023-07-16 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Jul 16 10:18:19 UTC 2023

Modified Files:
src/sys/kern: kern_heartbeat.c

Log Message:
heartbeat(9): For now, use time_uptime without atomic_load_relaxed.

A later commit will change time_uptime to a macro so it is atomic,
using atomc_load_relaxed if possible or seqlock if not.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/sys/kern/kern_heartbeat.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_heartbeat.c
diff -u src/sys/kern/kern_heartbeat.c:1.4 src/sys/kern/kern_heartbeat.c:1.5
--- src/sys/kern/kern_heartbeat.c:1.4	Sun Jul 16 10:18:07 2023
+++ src/sys/kern/kern_heartbeat.c	Sun Jul 16 10:18:19 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern_heartbeat.c,v 1.4 2023/07/16 10:18:07 riastradh Exp $	*/
+/*	$NetBSD: kern_heartbeat.c,v 1.5 2023/07/16 10:18:19 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2023 The NetBSD Foundation, Inc.
@@ -78,7 +78,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: kern_heartbeat.c,v 1.4 2023/07/16 10:18:07 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_heartbeat.c,v 1.5 2023/07/16 10:18:19 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_ddb.h"
@@ -157,7 +157,7 @@ heartbeat_resume_cpu(struct cpu_info *ci
 	KASSERT(__predict_false(cold) || ci == curcpu());
 
 	ci->ci_heartbeat_count = 0;
-	ci->ci_heartbeat_uptime_cache = atomic_load_relaxed(_uptime);
+	ci->ci_heartbeat_uptime_cache = time_uptime;
 	ci->ci_heartbeat_uptime_stamp = 0;
 }
 
@@ -352,7 +352,7 @@ static void
 heartbeat_intr(void *cookie)
 {
 	unsigned count = atomic_load_relaxed(()->ci_heartbeat_count);
-	unsigned uptime = atomic_load_relaxed(_uptime);
+	unsigned uptime = time_uptime;
 
 	atomic_store_relaxed(()->ci_heartbeat_uptime_stamp, count);
 	atomic_store_relaxed(()->ci_heartbeat_uptime_cache, uptime);
@@ -579,7 +579,7 @@ heartbeat(void)
 	 * changed, and stop here -- we only do the cross-CPU work once
 	 * per second.
 	 */
-	uptime = atomic_load_relaxed(_uptime);
+	uptime = time_uptime;
 	cache = atomic_load_relaxed(()->ci_heartbeat_uptime_cache);
 	if (__predict_true(cache == uptime)) {
 		/*



CVS commit: src/sys/kern

2023-07-16 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Jul 16 10:18:07 UTC 2023

Modified Files:
src/sys/kern: kern_heartbeat.c

Log Message:
heartbeat(9): Avoid xcall(9) while cold.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/kern/kern_heartbeat.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_heartbeat.c
diff -u src/sys/kern/kern_heartbeat.c:1.3 src/sys/kern/kern_heartbeat.c:1.4
--- src/sys/kern/kern_heartbeat.c:1.3	Sat Jul  8 13:59:05 2023
+++ src/sys/kern/kern_heartbeat.c	Sun Jul 16 10:18:07 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern_heartbeat.c,v 1.3 2023/07/08 13:59:05 riastradh Exp $	*/
+/*	$NetBSD: kern_heartbeat.c,v 1.4 2023/07/16 10:18:07 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2023 The NetBSD Foundation, Inc.
@@ -78,7 +78,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: kern_heartbeat.c,v 1.3 2023/07/08 13:59:05 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_heartbeat.c,v 1.4 2023/07/16 10:18:07 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_ddb.h"
@@ -95,6 +95,7 @@ __KERNEL_RCSID(0, "$NetBSD: kern_heartbe
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -140,6 +141,27 @@ heartbeat_suspend(void)
 }
 
 /*
+ * heartbeat_resume_cpu(ci)
+ *
+ *	Resume heartbeat monitoring of ci.
+ *
+ *	Called at startup while cold, and whenever heartbeat monitoring
+ *	is re-enabled after being disabled or the period is changed.
+ *	When not cold, ci must be the current CPU.
+ */
+static void
+heartbeat_resume_cpu(struct cpu_info *ci)
+{
+
+	KASSERT(__predict_false(cold) || curcpu_stable());
+	KASSERT(__predict_false(cold) || ci == curcpu());
+
+	ci->ci_heartbeat_count = 0;
+	ci->ci_heartbeat_uptime_cache = atomic_load_relaxed(_uptime);
+	ci->ci_heartbeat_uptime_stamp = 0;
+}
+
+/*
  * heartbeat_resume()
  *
  *	Resume heartbeat monitoring of the current CPU.
@@ -163,9 +185,7 @@ heartbeat_resume(void)
 	 * resetting the count and the uptime stamp.
 	 */
 	s = splsched();
-	ci->ci_heartbeat_count = 0;
-	ci->ci_heartbeat_uptime_cache = atomic_load_relaxed(_uptime);
-	ci->ci_heartbeat_uptime_stamp = 0;
+	heartbeat_resume_cpu(ci);
 	splx(s);
 }
 
@@ -212,8 +232,19 @@ set_max_period(unsigned max_period)
 	 * reasonably up-to-date time_uptime cache on all CPUs so we
 	 * don't think we had an instant heart attack.
 	 */
-	if (heartbeat_max_period_secs == 0 && max_period != 0)
-		xc_wait(xc_broadcast(0, _reset_xc, NULL, NULL));
+	if (heartbeat_max_period_secs == 0 && max_period != 0) {
+		if (cold) {
+			CPU_INFO_ITERATOR cii;
+			struct cpu_info *ci;
+
+			for (CPU_INFO_FOREACH(cii, ci))
+heartbeat_resume_cpu(ci);
+		} else {
+			const uint64_t ticket =
+			xc_broadcast(0, _reset_xc, NULL, NULL);
+			xc_wait(ticket);
+		}
+	}
 
 	/*
 	 * Once the heartbeat state has been updated on all (online)



CVS commit: src/sys/kern

2023-07-16 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Jul 16 10:18:07 UTC 2023

Modified Files:
src/sys/kern: kern_heartbeat.c

Log Message:
heartbeat(9): Avoid xcall(9) while cold.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/kern/kern_heartbeat.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/riscv/conf

2023-07-16 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sun Jul 16 07:30:54 UTC 2023

Modified Files:
src/sys/arch/riscv/conf: GENERIC.common

Log Message:
riscv: Enable HEARTBEAT option in GENERIC.common


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/riscv/conf/GENERIC.common

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/riscv/conf/GENERIC.common
diff -u src/sys/arch/riscv/conf/GENERIC.common:1.4 src/sys/arch/riscv/conf/GENERIC.common:1.5
--- src/sys/arch/riscv/conf/GENERIC.common:1.4	Fri Jun  2 08:51:46 2023
+++ src/sys/arch/riscv/conf/GENERIC.common	Sun Jul 16 07:30:54 2023
@@ -1,5 +1,5 @@
 #
-#	$NetBSD: GENERIC.common,v 1.4 2023/06/02 08:51:46 andvar Exp $
+#	$NetBSD: GENERIC.common,v 1.5 2023/07/16 07:30:54 skrll Exp $
 #
 #	GENERIC common RISC-V kernel config items shared between 32 and 64
 #	kernels
@@ -16,6 +16,10 @@ options 	NTP		# NTP phase/frequency lock
 
 options 	KTRACE		# system call tracing via ktrace(1)
 
+# Heartbeat checks
+options 	HEARTBEAT
+options 	HEARTBEAT_MAX_PERIOD_DEFAULT=15
+
 # Note: SysV IPC parameters could be changed dynamically, see sysctl(8).
 options 	SYSVMSG		# System V-like message queues
 options 	SYSVSEM		# System V-like semaphores



CVS commit: src/sys/arch/riscv/conf

2023-07-16 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sun Jul 16 07:30:54 UTC 2023

Modified Files:
src/sys/arch/riscv/conf: GENERIC.common

Log Message:
riscv: Enable HEARTBEAT option in GENERIC.common


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/riscv/conf/GENERIC.common

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.