CVS commit: src/sys/arch

2024-06-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Thu Jun 27 23:58:47 UTC 2024

Modified Files:
src/sys/arch/amd64/amd64: machdep.c
src/sys/arch/i386/i386: machdep.c

Log Message:
x86: Defer x86_rndseed until after pmap_bootstrap.

Loading the random seed, which is what x86_rndseed does, requires
direct map access on KASLR kernels, which requires pmap_bootstrap to
have run.

This had been broken in

amd64/machdep.c 1.359
i386/machdep.c 1.832

because we apparently don't have any automatic test setup for KASLR
kernels, which we should address.

This change shouldn't cause any security regression on kernels that
previously owrked, because none of the logic that now happens before
x86_rndseed uses the entropy pool anyway (uvm_md_init,
init_x86_clusters, xen_parse_cmdline).

PR port-amd64/58366


To generate a diff of this commit:
cvs rdiff -u -r1.368 -r1.369 src/sys/arch/amd64/amd64/machdep.c
cvs rdiff -u -r1.841 -r1.842 src/sys/arch/i386/i386/machdep.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

2024-06-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Thu Jun 27 23:58:47 UTC 2024

Modified Files:
src/sys/arch/amd64/amd64: machdep.c
src/sys/arch/i386/i386: machdep.c

Log Message:
x86: Defer x86_rndseed until after pmap_bootstrap.

Loading the random seed, which is what x86_rndseed does, requires
direct map access on KASLR kernels, which requires pmap_bootstrap to
have run.

This had been broken in

amd64/machdep.c 1.359
i386/machdep.c 1.832

because we apparently don't have any automatic test setup for KASLR
kernels, which we should address.

This change shouldn't cause any security regression on kernels that
previously owrked, because none of the logic that now happens before
x86_rndseed uses the entropy pool anyway (uvm_md_init,
init_x86_clusters, xen_parse_cmdline).

PR port-amd64/58366


To generate a diff of this commit:
cvs rdiff -u -r1.368 -r1.369 src/sys/arch/amd64/amd64/machdep.c
cvs rdiff -u -r1.841 -r1.842 src/sys/arch/i386/i386/machdep.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/machdep.c
diff -u src/sys/arch/amd64/amd64/machdep.c:1.368 src/sys/arch/amd64/amd64/machdep.c:1.369
--- src/sys/arch/amd64/amd64/machdep.c:1.368	Tue Mar  5 14:15:28 2024
+++ src/sys/arch/amd64/amd64/machdep.c	Thu Jun 27 23:58:46 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: machdep.c,v 1.368 2024/03/05 14:15:28 thorpej Exp $	*/
+/*	$NetBSD: machdep.c,v 1.369 2024/06/27 23:58:46 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.368 2024/03/05 14:15:28 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.369 2024/06/27 23:58:46 riastradh Exp $");
 
 #include "opt_modular.h"
 #include "opt_user_ldt.h"
@@ -1755,15 +1755,6 @@ init_x86_64(paddr_t first_avail)
 	consinit();	/* XXX SHOULD NOT BE DONE HERE */
 
 	/*
-	 * Initialize RNG to get entropy ASAP either from CPU
-	 * RDRAND/RDSEED or from seed on disk.  Must happen after
-	 * cpu_init_msrs.  Prefer to happen after consinit so we have
-	 * the opportunity to print useful feedback.
-	 */
-	cpu_rng_init();
-	x86_rndseed();
-
-	/*
 	 * Initialize PAGE_SIZE-dependent variables.
 	 */
 	uvm_md_init();
@@ -1803,6 +1794,22 @@ init_x86_64(paddr_t first_avail)
 	 */
 	pmap_bootstrap(VM_MIN_KERNEL_ADDRESS);
 
+	/*
+	 * Initialize RNG to get entropy ASAP either from CPU
+	 * RDRAND/RDSEED or from seed on disk.  Constraints:
+	 *
+	 * - Must happen after cpu_init_msrs so that curcpu() and
+	 *   curlwp work.
+	 *
+	 * - Must happen after consinit so we have the opportunity to
+	 *   print useful feedback.
+	 *
+	 * - On KASLR kernels, must happen after pmap_bootstrap because
+	 *   x86_rndseed requires access to the direct map.
+	 */
+	cpu_rng_init();
+	x86_rndseed();
+
 #ifndef XENPV
 	/* Internalize the physical pages into the VM system. */
 	init_x86_vm(avail_start);

Index: src/sys/arch/i386/i386/machdep.c
diff -u src/sys/arch/i386/i386/machdep.c:1.841 src/sys/arch/i386/i386/machdep.c:1.842
--- src/sys/arch/i386/i386/machdep.c:1.841	Tue Mar  5 14:15:32 2024
+++ src/sys/arch/i386/i386/machdep.c	Thu Jun 27 23:58:46 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: machdep.c,v 1.841 2024/03/05 14:15:32 thorpej Exp $	*/
+/*	$NetBSD: machdep.c,v 1.842 2024/06/27 23:58:46 riastradh Exp $	*/
 
 /*
  * Copyright (c) 1996, 1997, 1998, 2000, 2004, 2006, 2008, 2009, 2017
@@ -67,7 +67,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.841 2024/03/05 14:15:32 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.842 2024/06/27 23:58:46 riastradh Exp $");
 
 #include "opt_beep.h"
 #include "opt_compat_freebsd.h"
@@ -1280,15 +1280,6 @@ init386(paddr_t first_avail)
 
 	consinit();	/* XXX SHOULD NOT BE DONE HERE */
 
-	/*
-	 * Initialize RNG to get entropy ASAP either from CPU
-	 * RDRAND/RDSEED or from seed on disk.  Must happen after
-	 * cpu_init_msrs.  Prefer to happen after consinit so we have
-	 * the opportunity to print useful feedback.
-	 */
-	cpu_rng_init();
-	x86_rndseed();
-
 #ifdef DEBUG_MEMLOAD
 	printf("mem_cluster_count: %d\n", mem_cluster_cnt);
 #endif
@@ -1299,6 +1290,22 @@ init386(paddr_t first_avail)
 	 */
 	pmap_bootstrap((vaddr_t)atdevbase + IOM_SIZE);
 
+	/*
+	 * Initialize RNG to get entropy ASAP either from CPU
+	 * RDRAND/RDSEED or from seed on disk.  Constraints:
+	 *
+	 * - Must happen after cpu_init_msrs so that curcpu() and
+	 *   curlwp work.
+	 *
+	 * - Must happen after consinit so we have the opportunity to
+	 *   print useful feedback.
+	 *
+	 * - On KASLR kernels, must happen after pmap_bootstrap because
+	 *   x86_rndseed requires access to the direct map.
+	 */
+	cpu_rng_init();
+	x86_rndseed();
+
 #ifndef XENPV
 	/* Initialize the memory clusters. */
 	init_x86_clusters();



CVS commit: [netbsd-10] src/doc

2024-06-27 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Thu Jun 27 19:34:10 UTC 2024

Modified Files:
src/doc [netbsd-10]: CHANGES-10.1

Log Message:
Adjust entry for #724.
Note tickets #728 and #729.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.14 -r1.1.2.15 src/doc/CHANGES-10.1

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



CVS commit: [netbsd-10] src/doc

2024-06-27 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Thu Jun 27 19:34:10 UTC 2024

Modified Files:
src/doc [netbsd-10]: CHANGES-10.1

Log Message:
Adjust entry for #724.
Note tickets #728 and #729.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.14 -r1.1.2.15 src/doc/CHANGES-10.1

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

Modified files:

Index: src/doc/CHANGES-10.1
diff -u src/doc/CHANGES-10.1:1.1.2.14 src/doc/CHANGES-10.1:1.1.2.15
--- src/doc/CHANGES-10.1:1.1.2.14	Wed Jun 26 17:12:36 2024
+++ src/doc/CHANGES-10.1	Thu Jun 27 19:34:10 2024
@@ -1,4 +1,4 @@
-# $NetBSD: CHANGES-10.1,v 1.1.2.14 2024/06/26 17:12:36 martin Exp $
+# $NetBSD: CHANGES-10.1,v 1.1.2.15 2024/06/27 19:34:10 martin Exp $
 
 A complete list of changes from the NetBSD 10.0 release on 2024-03-28
 until the 10.1 release:
@@ -557,6 +557,24 @@ sys/modules/compat_13/Makefile			1.3-1.5
 sys/modules/compat_16/Makefile			1.3,1.4
 sys/modules/compat_netbsd32_13/Makefile		1.5
 sys/modules/compat_netbsd32_16/Makefile		1.5
+sys/arch/amiga/amiga/locore.s			1.169
+sys/arch/atari/atari/locore.s			1.125
+sys/arch/cesfic/cesfic/locore.s			1.45
+sys/arch/hp300/hp300/locore.s			1.183
+sys/arch/luna68k/luna68k/locore.s		1.81
+sys/arch/m68k/conf/files.m68k			1.53
+sys/arch/m68k/include/pte_motorola.h		1.10 (adapted, via patch)
+sys/arch/m68k/m68k/compat_13_sigreturn13.s	1.8
+sys/arch/m68k/m68k/compat_16_sigreturn14.s	1.6
+sys/arch/m68k/m68k/sigreturn.s			delete
+sys/arch/mac68k/mac68k/locore.s			1.182
+sys/arch/mvme68k/mvme68k/locore.s		1.129
+sys/arch/news68k/news68k/locore.s		1.84
+sys/arch/next68k/next68k/locore.s		1.84
+sys/arch/sun2/sun2/locore.s			1.37
+sys/arch/sun3/sun3/locore.s			1.109
+sys/arch/sun3/sun3x/locore.s			1.77
+sys/arch/x68k/x68k/locore.s			1.130
 
 	PR 58346: fix compat modules build.
 	[pgoyette, ticket #724]
@@ -574,3 +592,14 @@ usr.sbin/btpand/btpand.c			1.9
 	btpand(8): fix off-by-one bug causing out of bounds memory access.
 	[plunky, ticket #727]
 
+share/man/man9/atomic_loadstore.9		1.8
+
+	atomic_loadstore(9): PR 58340: clarify relation to __HAVE_ATOMIC64_OPS.
+	[rin, ticket #728]
+
+sys/dev/pci/igc/if_igc.h			1.3
+
+	igc(4): use __HAVE_ATOMIC64_LOADSTORE instead of __HAVE_ATOMIC64_OPS
+	to detect atomic_loadstore(9) is applicable to 64-bit integers.
+	[rin, ticket #729]
+



CVS commit: [netbsd-10] src/sys/dev/pci/igc

2024-06-27 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Thu Jun 27 19:33:11 UTC 2024

Modified Files:
src/sys/dev/pci/igc [netbsd-10]: if_igc.h

Log Message:
Pull up following revision(s) (requested by rin in ticket #729):

sys/dev/pci/igc/if_igc.h: revision 1.3

igc: Use __HAVE_ATOMIC64_LOADSTORE instead of __HAVE_ATOMIC64_OPS
to detect atomic_loadstore(9) is applicable to 64-bit integers.

Thanks riastradh@ for explanation in PR kern/58340


To generate a diff of this commit:
cvs rdiff -u -r1.2.2.2 -r1.2.2.3 src/sys/dev/pci/igc/if_igc.h

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

Modified files:

Index: src/sys/dev/pci/igc/if_igc.h
diff -u src/sys/dev/pci/igc/if_igc.h:1.2.2.2 src/sys/dev/pci/igc/if_igc.h:1.2.2.3
--- src/sys/dev/pci/igc/if_igc.h:1.2.2.2	Sun Oct  8 13:19:34 2023
+++ src/sys/dev/pci/igc/if_igc.h	Thu Jun 27 19:33:11 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_igc.h,v 1.2.2.2 2023/10/08 13:19:34 martin Exp $	*/
+/*	$NetBSD: if_igc.h,v 1.2.2.3 2024/06/27 19:33:11 martin Exp $	*/
 /*	$OpenBSD: if_igc.h,v 1.2 2022/01/09 05:42:50 jsg Exp $	*/
 /*-
  * SPDX-License-Identifier: BSD-2-Clause
@@ -39,13 +39,14 @@
 #endif
 
 #include 
+#include 
 #include 
 #include 
 
 #include 
 #include 
 
-#ifdef __HAVE_ATOMIC64_OPS
+#ifdef __HAVE_ATOMIC64_LOADSTORE
 #define	IGC_EVENT_COUNTERS
 #endif
 



CVS commit: [netbsd-10] src/sys/dev/pci/igc

2024-06-27 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Thu Jun 27 19:33:11 UTC 2024

Modified Files:
src/sys/dev/pci/igc [netbsd-10]: if_igc.h

Log Message:
Pull up following revision(s) (requested by rin in ticket #729):

sys/dev/pci/igc/if_igc.h: revision 1.3

igc: Use __HAVE_ATOMIC64_LOADSTORE instead of __HAVE_ATOMIC64_OPS
to detect atomic_loadstore(9) is applicable to 64-bit integers.

Thanks riastradh@ for explanation in PR kern/58340


To generate a diff of this commit:
cvs rdiff -u -r1.2.2.2 -r1.2.2.3 src/sys/dev/pci/igc/if_igc.h

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



CVS commit: [netbsd-10] src/share/man/man9

2024-06-27 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Thu Jun 27 19:30:29 UTC 2024

Modified Files:
src/share/man/man9 [netbsd-10]: atomic_loadstore.9

Log Message:
Pull up following revision(s) (requested by rin in ticket #728):

share/man/man9/atomic_loadstore.9: revision 1.8

atomic_loadstore(9): Clarify relation to __HAVE_ATOMIC64_OPS.

PR kern/58340


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.7.2.1 src/share/man/man9/atomic_loadstore.9

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

Modified files:

Index: src/share/man/man9/atomic_loadstore.9
diff -u src/share/man/man9/atomic_loadstore.9:1.7 src/share/man/man9/atomic_loadstore.9:1.7.2.1
--- src/share/man/man9/atomic_loadstore.9:1.7	Sat Apr  9 23:32:53 2022
+++ src/share/man/man9/atomic_loadstore.9	Thu Jun 27 19:30:29 2024
@@ -1,4 +1,4 @@
-.\"	$NetBSD: atomic_loadstore.9,v 1.7 2022/04/09 23:32:53 riastradh Exp $
+.\"	$NetBSD: atomic_loadstore.9,v 1.7.2.1 2024/06/27 19:30:29 martin Exp $
 .\"
 .\" Copyright (c) 2019 The NetBSD Foundation
 .\" All rights reserved.
@@ -544,9 +544,10 @@ must be zero.
 .Pp
 All
 .Nx
-ports support atomic loads and stores on units of data up to 32 bits.
-Some ports additionally support atomic loads and stores on larger
-quantities, like 64-bit quantities, if
+ports support cheap atomic loads and stores on units of data up to 32
+bits.
+Some ports additionally support cheap atomic loads and stores on
+64-bit quantities if
 .Dv __HAVE_ATOMIC64_LOADSTORE
 is defined.
 The macros are not allowed on larger quantities of data than the port
@@ -587,6 +588,24 @@ must be conditional on
 	...
 	mutex_exit(>f_lock);
 .Ed
+.Pp
+Some ports support expensive 64-bit atomic read/modify/write
+operations, but not cheap 64-bit atomic loads and stores.
+For example, the armv7 instruction set includes 64-bit
+.Li ldrexd
+and
+.Li strexd
+loops (load-exclusive, store-conditional) which are atomic on 64-bit
+quantities.
+But the cheap 64-bit
+.Li ldrd / strd
+instructions are only atomic on 32-bit accesses at a time.
+These ports define
+.Dv __HAVE_ATOMIC64_OPS
+but not
+.Dv __HAVE_ATOMIC64_LOADSTORE ,
+since they do not have cheaper 64-bit atomic load/store operations than
+the full atomic read/modify/write operations.
 .Sh C11 COMPATIBILITY
 These macros are meant to follow
 .Tn C11



CVS commit: [netbsd-10] src/share/man/man9

2024-06-27 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Thu Jun 27 19:30:29 UTC 2024

Modified Files:
src/share/man/man9 [netbsd-10]: atomic_loadstore.9

Log Message:
Pull up following revision(s) (requested by rin in ticket #728):

share/man/man9/atomic_loadstore.9: revision 1.8

atomic_loadstore(9): Clarify relation to __HAVE_ATOMIC64_OPS.

PR kern/58340


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.7.2.1 src/share/man/man9/atomic_loadstore.9

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



CVS commit: [netbsd-10] src/sys/arch

2024-06-27 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Thu Jun 27 19:27:29 UTC 2024

Modified Files:
src/sys/arch/amiga/amiga [netbsd-10]: locore.s
src/sys/arch/atari/atari [netbsd-10]: locore.s
src/sys/arch/cesfic/cesfic [netbsd-10]: locore.s
src/sys/arch/hp300/hp300 [netbsd-10]: locore.s
src/sys/arch/luna68k/luna68k [netbsd-10]: locore.s
src/sys/arch/m68k/conf [netbsd-10]: files.m68k
src/sys/arch/m68k/include [netbsd-10]: pte_motorola.h
src/sys/arch/m68k/m68k [netbsd-10]: compat_13_sigreturn13.s
compat_16_sigreturn14.s
src/sys/arch/mac68k/mac68k [netbsd-10]: locore.s
src/sys/arch/mvme68k/mvme68k [netbsd-10]: locore.s
src/sys/arch/news68k/news68k [netbsd-10]: locore.s
src/sys/arch/next68k/next68k [netbsd-10]: locore.s
src/sys/arch/sun2/sun2 [netbsd-10]: locore.s
src/sys/arch/sun3/sun3 [netbsd-10]: locore.s
src/sys/arch/sun3/sun3x [netbsd-10]: locore.s
src/sys/arch/x68k/x68k [netbsd-10]: locore.s
Removed Files:
src/sys/arch/m68k/m68k [netbsd-10]: sigreturn.s

Log Message:
Pull up following revision(s) (requested by rin in ticket #724
to fix build fallout on the branch):

sys/arch/m68k/m68k/compat_16_sigreturn14.s: revision 1.6
sys/arch/mvme68k/mvme68k/locore.s: revision 1.129
sys/arch/news68k/news68k/locore.s: revision 1.84
sys/arch/hp300/hp300/locore.s: revision 1.183
sys/arch/m68k/m68k/compat_13_sigreturn13.s: revision 1.8
sys/arch/m68k/m68k/sigreturn.s: file removal
sys/arch/m68k/include/pte_motorola.h: revision 1.10
sys/arch/atari/atari/locore.s: revision 1.125
sys/arch/amiga/amiga/locore.s: revision 1.169
sys/arch/sun2/sun2/locore.s: revision 1.37
sys/arch/next68k/next68k/locore.s: revision 1.84
sys/arch/x68k/x68k/locore.s: revision 1.130
sys/arch/sun3/sun3x/locore.s: revision 1.77
sys/arch/cesfic/cesfic/locore.s: revision 1.45
sys/arch/m68k/conf/files.m68k: revision 1.53
sys/arch/sun3/sun3/locore.s: revision 1.109
sys/arch/luna68k/luna68k/locore.s: revision 1.81
sys/arch/mac68k/mac68k/locore.s: revision 1.182

Define PTE used in the pmap module int terms of the bit definitions
in mmu_{51,40}.h.

Make compat_13_sigreturn13.s and compat_16_sigreturn14.s build as their
own stand-alone files and G/C the now-empty sigreturn.s.


To generate a diff of this commit:
cvs rdiff -u -r1.161 -r1.161.4.1 src/sys/arch/amiga/amiga/locore.s
cvs rdiff -u -r1.116 -r1.116.4.1 src/sys/arch/atari/atari/locore.s
cvs rdiff -u -r1.34 -r1.34.4.1 src/sys/arch/cesfic/cesfic/locore.s
cvs rdiff -u -r1.173 -r1.173.4.1 src/sys/arch/hp300/hp300/locore.s
cvs rdiff -u -r1.68 -r1.68.4.1 src/sys/arch/luna68k/luna68k/locore.s
cvs rdiff -u -r1.51 -r1.51.20.1 src/sys/arch/m68k/conf/files.m68k
cvs rdiff -u -r1.8 -r1.8.86.1 src/sys/arch/m68k/include/pte_motorola.h
cvs rdiff -u -r1.7 -r1.7.60.1 src/sys/arch/m68k/m68k/compat_13_sigreturn13.s
cvs rdiff -u -r1.5 -r1.5.60.1 src/sys/arch/m68k/m68k/compat_16_sigreturn14.s
cvs rdiff -u -r1.11 -r0 src/sys/arch/m68k/m68k/sigreturn.s
cvs rdiff -u -r1.175 -r1.175.4.1 src/sys/arch/mac68k/mac68k/locore.s
cvs rdiff -u -r1.118 -r1.118.4.1 src/sys/arch/mvme68k/mvme68k/locore.s
cvs rdiff -u -r1.68 -r1.68.4.1 src/sys/arch/news68k/news68k/locore.s
cvs rdiff -u -r1.68.4.2 -r1.68.4.3 src/sys/arch/next68k/next68k/locore.s
cvs rdiff -u -r1.29 -r1.29.4.1 src/sys/arch/sun2/sun2/locore.s
cvs rdiff -u -r1.101 -r1.101.4.1 src/sys/arch/sun3/sun3/locore.s
cvs rdiff -u -r1.69 -r1.69.4.1 src/sys/arch/sun3/sun3x/locore.s
cvs rdiff -u -r1.121 -r1.121.4.1 src/sys/arch/x68k/x68k/locore.s

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/amiga/amiga/locore.s
diff -u src/sys/arch/amiga/amiga/locore.s:1.161 src/sys/arch/amiga/amiga/locore.s:1.161.4.1
--- src/sys/arch/amiga/amiga/locore.s:1.161	Mon May 30 09:56:02 2022
+++ src/sys/arch/amiga/amiga/locore.s	Thu Jun 27 19:27:28 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: locore.s,v 1.161 2022/05/30 09:56:02 andvar Exp $	*/
+/*	$NetBSD: locore.s,v 1.161.4.1 2024/06/27 19:27:28 martin Exp $	*/
 
 /*
  * Copyright (c) 1988 University of Utah.
@@ -423,9 +423,6 @@ ENTRY_NOPROFILE(trace)
 	moveq	#T_TRACE,%d0
 	jra	_ASM_LABEL(fault)
 
-/* Use common m68k sigreturn */
-#include 
-
 /*
  * Interrupt handlers.
  *

Index: src/sys/arch/atari/atari/locore.s
diff -u src/sys/arch/atari/atari/locore.s:1.116 src/sys/arch/atari/atari/locore.s:1.116.4.1
--- src/sys/arch/atari/atari/locore.s:1.116	Mon May 30 09:56:03 2022
+++ src/sys/arch/atari/atari/locore.s	Thu Jun 27 19:27:28 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: locore.s,v 1.116 2022/05/30 09:56:03 andvar Exp $	*/
+/*	$NetBSD: locore.s,v 1.116.4.1 2024/06/27 19:27:28 martin Exp $	*/
 
 /*
  * Copyright (c) 1988 University of Utah.
@@ -618,9 +618,6 @@ Lbrkpt3:
 	movl	

CVS commit: [netbsd-10] src/sys/arch

2024-06-27 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Thu Jun 27 19:27:29 UTC 2024

Modified Files:
src/sys/arch/amiga/amiga [netbsd-10]: locore.s
src/sys/arch/atari/atari [netbsd-10]: locore.s
src/sys/arch/cesfic/cesfic [netbsd-10]: locore.s
src/sys/arch/hp300/hp300 [netbsd-10]: locore.s
src/sys/arch/luna68k/luna68k [netbsd-10]: locore.s
src/sys/arch/m68k/conf [netbsd-10]: files.m68k
src/sys/arch/m68k/include [netbsd-10]: pte_motorola.h
src/sys/arch/m68k/m68k [netbsd-10]: compat_13_sigreturn13.s
compat_16_sigreturn14.s
src/sys/arch/mac68k/mac68k [netbsd-10]: locore.s
src/sys/arch/mvme68k/mvme68k [netbsd-10]: locore.s
src/sys/arch/news68k/news68k [netbsd-10]: locore.s
src/sys/arch/next68k/next68k [netbsd-10]: locore.s
src/sys/arch/sun2/sun2 [netbsd-10]: locore.s
src/sys/arch/sun3/sun3 [netbsd-10]: locore.s
src/sys/arch/sun3/sun3x [netbsd-10]: locore.s
src/sys/arch/x68k/x68k [netbsd-10]: locore.s
Removed Files:
src/sys/arch/m68k/m68k [netbsd-10]: sigreturn.s

Log Message:
Pull up following revision(s) (requested by rin in ticket #724
to fix build fallout on the branch):

sys/arch/m68k/m68k/compat_16_sigreturn14.s: revision 1.6
sys/arch/mvme68k/mvme68k/locore.s: revision 1.129
sys/arch/news68k/news68k/locore.s: revision 1.84
sys/arch/hp300/hp300/locore.s: revision 1.183
sys/arch/m68k/m68k/compat_13_sigreturn13.s: revision 1.8
sys/arch/m68k/m68k/sigreturn.s: file removal
sys/arch/m68k/include/pte_motorola.h: revision 1.10
sys/arch/atari/atari/locore.s: revision 1.125
sys/arch/amiga/amiga/locore.s: revision 1.169
sys/arch/sun2/sun2/locore.s: revision 1.37
sys/arch/next68k/next68k/locore.s: revision 1.84
sys/arch/x68k/x68k/locore.s: revision 1.130
sys/arch/sun3/sun3x/locore.s: revision 1.77
sys/arch/cesfic/cesfic/locore.s: revision 1.45
sys/arch/m68k/conf/files.m68k: revision 1.53
sys/arch/sun3/sun3/locore.s: revision 1.109
sys/arch/luna68k/luna68k/locore.s: revision 1.81
sys/arch/mac68k/mac68k/locore.s: revision 1.182

Define PTE used in the pmap module int terms of the bit definitions
in mmu_{51,40}.h.

Make compat_13_sigreturn13.s and compat_16_sigreturn14.s build as their
own stand-alone files and G/C the now-empty sigreturn.s.


To generate a diff of this commit:
cvs rdiff -u -r1.161 -r1.161.4.1 src/sys/arch/amiga/amiga/locore.s
cvs rdiff -u -r1.116 -r1.116.4.1 src/sys/arch/atari/atari/locore.s
cvs rdiff -u -r1.34 -r1.34.4.1 src/sys/arch/cesfic/cesfic/locore.s
cvs rdiff -u -r1.173 -r1.173.4.1 src/sys/arch/hp300/hp300/locore.s
cvs rdiff -u -r1.68 -r1.68.4.1 src/sys/arch/luna68k/luna68k/locore.s
cvs rdiff -u -r1.51 -r1.51.20.1 src/sys/arch/m68k/conf/files.m68k
cvs rdiff -u -r1.8 -r1.8.86.1 src/sys/arch/m68k/include/pte_motorola.h
cvs rdiff -u -r1.7 -r1.7.60.1 src/sys/arch/m68k/m68k/compat_13_sigreturn13.s
cvs rdiff -u -r1.5 -r1.5.60.1 src/sys/arch/m68k/m68k/compat_16_sigreturn14.s
cvs rdiff -u -r1.11 -r0 src/sys/arch/m68k/m68k/sigreturn.s
cvs rdiff -u -r1.175 -r1.175.4.1 src/sys/arch/mac68k/mac68k/locore.s
cvs rdiff -u -r1.118 -r1.118.4.1 src/sys/arch/mvme68k/mvme68k/locore.s
cvs rdiff -u -r1.68 -r1.68.4.1 src/sys/arch/news68k/news68k/locore.s
cvs rdiff -u -r1.68.4.2 -r1.68.4.3 src/sys/arch/next68k/next68k/locore.s
cvs rdiff -u -r1.29 -r1.29.4.1 src/sys/arch/sun2/sun2/locore.s
cvs rdiff -u -r1.101 -r1.101.4.1 src/sys/arch/sun3/sun3/locore.s
cvs rdiff -u -r1.69 -r1.69.4.1 src/sys/arch/sun3/sun3x/locore.s
cvs rdiff -u -r1.121 -r1.121.4.1 src/sys/arch/x68k/x68k/locore.s

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



CVS commit: src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/disp

2024-06-27 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Thu Jun 27 12:21:20 UTC 2024

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/disp:
nouveau_nvkm_engine_disp_sorgm200.c

Log Message:
With GCC12 kernel ALL/amd64 triggers "'sor' may be used uninitialized".
If "sublinks & 3" is zero GCC is right and sor[1] may be returned unitialized.

Fix by initializing "sor" to zero to return -1 instead of uninitialized value.

Ok: Taylor R Campbell 


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/disp/nouveau_nvkm_engine_disp_sorgm200.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/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/disp/nouveau_nvkm_engine_disp_sorgm200.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/disp/nouveau_nvkm_engine_disp_sorgm200.c:1.2 src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/disp/nouveau_nvkm_engine_disp_sorgm200.c:1.3
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/disp/nouveau_nvkm_engine_disp_sorgm200.c:1.2	Sat Dec 18 23:45:35 2021
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/disp/nouveau_nvkm_engine_disp_sorgm200.c	Thu Jun 27 12:21:20 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: nouveau_nvkm_engine_disp_sorgm200.c,v 1.2 2021/12/18 23:45:35 riastradh Exp $	*/
+/*	$NetBSD: nouveau_nvkm_engine_disp_sorgm200.c,v 1.3 2024/06/27 12:21:20 hannken Exp $	*/
 
 /*
  * Copyright 2012 Red Hat Inc.
@@ -24,7 +24,7 @@
  * Authors: Ben Skeggs
  */
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_engine_disp_sorgm200.c,v 1.2 2021/12/18 23:45:35 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_nvkm_engine_disp_sorgm200.c,v 1.3 2024/06/27 12:21:20 hannken Exp $");
 
 #include "ior.h"
 
@@ -74,6 +74,7 @@ gm200_sor_route_get(struct nvkm_outp *ou
 	const int sublinks = outp->info.sorconf.link;
 	int lnk[2], sor[2], m, s;
 
+	sor[0] = sor[1] = 0;	/* GCC 12.3 maybe-uninitialized */
 	for (*link = 0, m = __ffs(outp->info.or) * 2, s = 0; s < 2; m++, s++) {
 		if (sublinks & BIT(s)) {
 			u32 data = nvkm_rd32(device, 0x612308 + (m * 0x80));



CVS commit: src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/disp

2024-06-27 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Thu Jun 27 12:21:20 UTC 2024

Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/disp:
nouveau_nvkm_engine_disp_sorgm200.c

Log Message:
With GCC12 kernel ALL/amd64 triggers "'sor' may be used uninitialized".
If "sublinks & 3" is zero GCC is right and sor[1] may be returned unitialized.

Fix by initializing "sor" to zero to return -1 instead of uninitialized value.

Ok: Taylor R Campbell 


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \

src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/disp/nouveau_nvkm_engine_disp_sorgm200.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/pci/igc

2024-06-27 Thread Rin Okuyama
Module Name:src
Committed By:   rin
Date:   Thu Jun 27 07:31:42 UTC 2024

Modified Files:
src/sys/dev/pci/igc: if_igc.h

Log Message:
igc: Use __HAVE_ATOMIC64_LOADSTORE instead of __HAVE_ATOMIC64_OPS

to detect atomic_loadstore(9) is applicable to 64-bit integers.

Thanks riastradh@ for explanation in PR kern/58340


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

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

Modified files:

Index: src/sys/dev/pci/igc/if_igc.h
diff -u src/sys/dev/pci/igc/if_igc.h:1.2 src/sys/dev/pci/igc/if_igc.h:1.3
--- src/sys/dev/pci/igc/if_igc.h:1.2	Wed Oct  4 07:35:27 2023
+++ src/sys/dev/pci/igc/if_igc.h	Thu Jun 27 07:31:41 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_igc.h,v 1.2 2023/10/04 07:35:27 rin Exp $	*/
+/*	$NetBSD: if_igc.h,v 1.3 2024/06/27 07:31:41 rin Exp $	*/
 /*	$OpenBSD: if_igc.h,v 1.2 2022/01/09 05:42:50 jsg Exp $	*/
 /*-
  * SPDX-License-Identifier: BSD-2-Clause
@@ -39,13 +39,14 @@
 #endif
 
 #include 
+#include 
 #include 
 #include 
 
 #include 
 #include 
 
-#ifdef __HAVE_ATOMIC64_OPS
+#ifdef __HAVE_ATOMIC64_LOADSTORE
 #define	IGC_EVENT_COUNTERS
 #endif
 



CVS commit: src/sys/dev/pci/igc

2024-06-27 Thread Rin Okuyama
Module Name:src
Committed By:   rin
Date:   Thu Jun 27 07:31:42 UTC 2024

Modified Files:
src/sys/dev/pci/igc: if_igc.h

Log Message:
igc: Use __HAVE_ATOMIC64_LOADSTORE instead of __HAVE_ATOMIC64_OPS

to detect atomic_loadstore(9) is applicable to 64-bit integers.

Thanks riastradh@ for explanation in PR kern/58340


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

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