CVS commit: src/external/mit/xorg/lib/libEGL.old
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.