CVS commit: src/sys/sys

2019-07-20 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Sat Jul 20 20:59:05 UTC 2019

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

Log Message:
add missing 'struct reg;' forward decl.


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/sys/compat_stub.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/compat_stub.h
diff -u src/sys/sys/compat_stub.h:1.17 src/sys/sys/compat_stub.h:1.18
--- src/sys/sys/compat_stub.h:1.17	Sat Jul 20 18:23:05 2019
+++ src/sys/sys/compat_stub.h	Sat Jul 20 20:59:05 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: compat_stub.h,v 1.17 2019/07/20 18:23:05 christos Exp $	*/
+/*	$NetBSD: compat_stub.h,v 1.18 2019/07/20 20:59:05 mrg Exp $	*/
 
 /*-
  * Copyright (c) 2018 The NetBSD Foundation, Inc.
@@ -353,6 +353,7 @@ MODULE_HOOK(ifmedia_80_post_hook, int, (
  * the main kernel, and not in a compat_netbsd32 module.  (In particular,
  * this is true for i386 and sgimips.)
  */
+struct reg;
 MODULE_HOOK(netbsd32_machine32_hook, const char *, (void));
 MODULE_HOOK(netbsd32_reg_validate_hook, int,
 (struct lwp *, const struct reg *));



CVS commit: src/sys/sys

2019-07-20 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Sat Jul 20 20:59:05 UTC 2019

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

Log Message:
add missing 'struct reg;' forward decl.


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/sys/compat_stub.h

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



CVS commit: src/external/nvidia-firmware

2019-07-20 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Sat Jul 20 20:49:06 UTC 2019

Modified Files:
src/external/nvidia-firmware: Makefile

Log Message:
don't descend into gm20x unless MKNOUVEAUFIRMWARE != "no"


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/external/nvidia-firmware/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/nvidia-firmware/Makefile
diff -u src/external/nvidia-firmware/Makefile:1.2 src/external/nvidia-firmware/Makefile:1.3
--- src/external/nvidia-firmware/Makefile:1.2	Sat Jul 20 19:09:21 2019
+++ src/external/nvidia-firmware/Makefile	Sat Jul 20 20:49:06 2019
@@ -1,8 +1,10 @@
-# $NetBSD: Makefile,v 1.2 2019/07/20 19:09:21 wiz Exp $
+# $NetBSD: Makefile,v 1.3 2019/07/20 20:49:06 mrg Exp $
 
 .include 
 
+.if ${MKNOUVEAUFIRMWARE} != "no"
 SUBDIR+=	gm20x
+.endif
 
 .if ${MKTEGRAFIRMWARE} != "no"
 SUBDIR+=	tegra



CVS commit: src/external/nvidia-firmware

2019-07-20 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Sat Jul 20 20:49:06 UTC 2019

Modified Files:
src/external/nvidia-firmware: Makefile

Log Message:
don't descend into gm20x unless MKNOUVEAUFIRMWARE != "no"


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/external/nvidia-firmware/Makefile

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



CVS commit: src/share/mk

2019-07-20 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Sat Jul 20 20:25:35 UTC 2019

Modified Files:
src/share/mk: bsd.own.mk

Log Message:
add util-macros src dir.


To generate a diff of this commit:
cvs rdiff -u -r1.1147 -r1.1148 src/share/mk/bsd.own.mk

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

Modified files:

Index: src/share/mk/bsd.own.mk
diff -u src/share/mk/bsd.own.mk:1.1147 src/share/mk/bsd.own.mk:1.1148
--- src/share/mk/bsd.own.mk:1.1147	Sat Jul 20 19:09:23 2019
+++ src/share/mk/bsd.own.mk	Sat Jul 20 20:25:35 2019
@@ -1,4 +1,4 @@
-#	$NetBSD: bsd.own.mk,v 1.1147 2019/07/20 19:09:23 wiz Exp $
+#	$NetBSD: bsd.own.mk,v 1.1148 2019/07/20 20:25:35 mrg Exp $
 
 # This needs to be before bsd.init.mk
 .if defined(BSD_MK_COMPAT_FILE)
@@ -1495,6 +1495,7 @@ HAVE_XORG_GLAMOR?=	no
 	ico iceauth listres lndir \
 	luit xproxymanagementprotocol mkfontdir oclock proxymngr rgb \
 	rstart setxkbmap showfont smproxy transset twm viewres \
+	util-macros \
 	x11perf xauth xcalc xclipboard \
 	xclock xcmsdb xconsole xditview xdpyinfo xdriinfo xdm \
 	xfd xf86dga xfindproxy xfontsel xfwp xgamma xgc xhost xinit \



CVS commit: src/share/mk

2019-07-20 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Sat Jul 20 20:25:35 UTC 2019

Modified Files:
src/share/mk: bsd.own.mk

Log Message:
add util-macros src dir.


To generate a diff of this commit:
cvs rdiff -u -r1.1147 -r1.1148 src/share/mk/bsd.own.mk

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



CVS commit: src

2019-07-20 Thread Thomas Klausner
Module Name:src
Committed By:   wiz
Date:   Sat Jul 20 19:09:23 UTC 2019

Modified Files:
src/distrib/sets/lists/base: mi
src/etc/mtree: NetBSD.dist.base
src/external/nvidia-firmware: Makefile
src/share/mk: bsd.README bsd.own.mk
Added Files:
src/external/nvidia-firmware/gm20x: Makefile Makefile.inc
src/external/nvidia-firmware/gm20x/common: Makefile
src/external/nvidia-firmware/gm20x/dist: LICENCE.nvidia
src/external/nvidia-firmware/gm20x/dist/gm200/acr: bl.bin
ucode_load.bin ucode_unload.bin
src/external/nvidia-firmware/gm20x/dist/gm200/gr: fecs_bl.bin
fecs_data.bin fecs_inst.bin fecs_sig.bin gpccs_bl.bin
gpccs_data.bin gpccs_inst.bin gpccs_sig.bin sw_bundle_init.bin
sw_ctx.bin sw_method_init.bin sw_nonctx.bin
src/external/nvidia-firmware/gm20x/dist/gm204/gr: fecs_data.bin
fecs_sig.bin gpccs_data.bin gpccs_sig.bin
src/external/nvidia-firmware/gm20x/dist/gm206/acr: ucode_load.bin
ucode_unload.bin
src/external/nvidia-firmware/gm20x/dist/gm206/gr: fecs_data.bin
fecs_sig.bin gpccs_data.bin gpccs_sig.bin
src/external/nvidia-firmware/gm20x/dist/gm20b/acr: bl.bin
ucode_load.bin
src/external/nvidia-firmware/gm20x/dist/gm20b/gr: fecs_bl.bin
fecs_data.bin fecs_inst.bin fecs_sig.bin gpccs_data.bin
gpccs_inst.bin sw_bundle_init.bin sw_ctx.bin sw_nonctx.bin
src/external/nvidia-firmware/gm20x/dist/gm20b/pmu: desc.bin image.bin
sig.bin
src/external/nvidia-firmware/gm20x/gm206: Makefile

Log Message:
Install the nouveau gm206 firmware as used by my graphics card.

Also add the other gm20x nouveau firmwares to the source tree
to make it easier to add them for someone who can test them.

Installed if MKNOUVEAUFIRMWARE is set to 'yes'.
This defaults to no except on amd64 and i386 (like for radeon).


To generate a diff of this commit:
cvs rdiff -u -r1.1206 -r1.1207 src/distrib/sets/lists/base/mi
cvs rdiff -u -r1.197 -r1.198 src/etc/mtree/NetBSD.dist.base
cvs rdiff -u -r1.1 -r1.2 src/external/nvidia-firmware/Makefile
cvs rdiff -u -r0 -r1.1 src/external/nvidia-firmware/gm20x/Makefile \
src/external/nvidia-firmware/gm20x/Makefile.inc
cvs rdiff -u -r0 -r1.1 src/external/nvidia-firmware/gm20x/common/Makefile
cvs rdiff -u -r0 -r1.1 src/external/nvidia-firmware/gm20x/dist/LICENCE.nvidia
cvs rdiff -u -r0 -r1.1 \
src/external/nvidia-firmware/gm20x/dist/gm200/acr/bl.bin \
src/external/nvidia-firmware/gm20x/dist/gm200/acr/ucode_load.bin \
src/external/nvidia-firmware/gm20x/dist/gm200/acr/ucode_unload.bin
cvs rdiff -u -r0 -r1.1 \
src/external/nvidia-firmware/gm20x/dist/gm200/gr/fecs_bl.bin \
src/external/nvidia-firmware/gm20x/dist/gm200/gr/fecs_data.bin \
src/external/nvidia-firmware/gm20x/dist/gm200/gr/fecs_inst.bin \
src/external/nvidia-firmware/gm20x/dist/gm200/gr/fecs_sig.bin \
src/external/nvidia-firmware/gm20x/dist/gm200/gr/gpccs_bl.bin \
src/external/nvidia-firmware/gm20x/dist/gm200/gr/gpccs_data.bin \
src/external/nvidia-firmware/gm20x/dist/gm200/gr/gpccs_inst.bin \
src/external/nvidia-firmware/gm20x/dist/gm200/gr/gpccs_sig.bin \
src/external/nvidia-firmware/gm20x/dist/gm200/gr/sw_bundle_init.bin \
src/external/nvidia-firmware/gm20x/dist/gm200/gr/sw_ctx.bin \
src/external/nvidia-firmware/gm20x/dist/gm200/gr/sw_method_init.bin \
src/external/nvidia-firmware/gm20x/dist/gm200/gr/sw_nonctx.bin
cvs rdiff -u -r0 -r1.1 \
src/external/nvidia-firmware/gm20x/dist/gm204/gr/fecs_data.bin \
src/external/nvidia-firmware/gm20x/dist/gm204/gr/fecs_sig.bin \
src/external/nvidia-firmware/gm20x/dist/gm204/gr/gpccs_data.bin \
src/external/nvidia-firmware/gm20x/dist/gm204/gr/gpccs_sig.bin
cvs rdiff -u -r0 -r1.1 \
src/external/nvidia-firmware/gm20x/dist/gm206/acr/ucode_load.bin \
src/external/nvidia-firmware/gm20x/dist/gm206/acr/ucode_unload.bin
cvs rdiff -u -r0 -r1.1 \
src/external/nvidia-firmware/gm20x/dist/gm206/gr/fecs_data.bin \
src/external/nvidia-firmware/gm20x/dist/gm206/gr/fecs_sig.bin \
src/external/nvidia-firmware/gm20x/dist/gm206/gr/gpccs_data.bin \
src/external/nvidia-firmware/gm20x/dist/gm206/gr/gpccs_sig.bin
cvs rdiff -u -r0 -r1.1 \
src/external/nvidia-firmware/gm20x/dist/gm20b/acr/bl.bin \
src/external/nvidia-firmware/gm20x/dist/gm20b/acr/ucode_load.bin
cvs rdiff -u -r0 -r1.1 \
src/external/nvidia-firmware/gm20x/dist/gm20b/gr/fecs_bl.bin \
src/external/nvidia-firmware/gm20x/dist/gm20b/gr/fecs_data.bin \
src/external/nvidia-firmware/gm20x/dist/gm20b/gr/fecs_inst.bin \
src/external/nvidia-firmware/gm20x/dist/gm20b/gr/fecs_sig.bin \
src/external/nvidia-firmware/gm20x/dist/gm20b/gr/gpccs_data.bin \
src/external/nvidia-firmware/gm20x/dist/gm20b/gr/gpccs_inst.bin \
src/external/nvidia-firmware/gm20x/dist/gm20b/gr/sw_bundle_init.bin \
  

CVS commit: src

2019-07-20 Thread Thomas Klausner
Module Name:src
Committed By:   wiz
Date:   Sat Jul 20 19:09:23 UTC 2019

Modified Files:
src/distrib/sets/lists/base: mi
src/etc/mtree: NetBSD.dist.base
src/external/nvidia-firmware: Makefile
src/share/mk: bsd.README bsd.own.mk
Added Files:
src/external/nvidia-firmware/gm20x: Makefile Makefile.inc
src/external/nvidia-firmware/gm20x/common: Makefile
src/external/nvidia-firmware/gm20x/dist: LICENCE.nvidia
src/external/nvidia-firmware/gm20x/dist/gm200/acr: bl.bin
ucode_load.bin ucode_unload.bin
src/external/nvidia-firmware/gm20x/dist/gm200/gr: fecs_bl.bin
fecs_data.bin fecs_inst.bin fecs_sig.bin gpccs_bl.bin
gpccs_data.bin gpccs_inst.bin gpccs_sig.bin sw_bundle_init.bin
sw_ctx.bin sw_method_init.bin sw_nonctx.bin
src/external/nvidia-firmware/gm20x/dist/gm204/gr: fecs_data.bin
fecs_sig.bin gpccs_data.bin gpccs_sig.bin
src/external/nvidia-firmware/gm20x/dist/gm206/acr: ucode_load.bin
ucode_unload.bin
src/external/nvidia-firmware/gm20x/dist/gm206/gr: fecs_data.bin
fecs_sig.bin gpccs_data.bin gpccs_sig.bin
src/external/nvidia-firmware/gm20x/dist/gm20b/acr: bl.bin
ucode_load.bin
src/external/nvidia-firmware/gm20x/dist/gm20b/gr: fecs_bl.bin
fecs_data.bin fecs_inst.bin fecs_sig.bin gpccs_data.bin
gpccs_inst.bin sw_bundle_init.bin sw_ctx.bin sw_nonctx.bin
src/external/nvidia-firmware/gm20x/dist/gm20b/pmu: desc.bin image.bin
sig.bin
src/external/nvidia-firmware/gm20x/gm206: Makefile

Log Message:
Install the nouveau gm206 firmware as used by my graphics card.

Also add the other gm20x nouveau firmwares to the source tree
to make it easier to add them for someone who can test them.

Installed if MKNOUVEAUFIRMWARE is set to 'yes'.
This defaults to no except on amd64 and i386 (like for radeon).


To generate a diff of this commit:
cvs rdiff -u -r1.1206 -r1.1207 src/distrib/sets/lists/base/mi
cvs rdiff -u -r1.197 -r1.198 src/etc/mtree/NetBSD.dist.base
cvs rdiff -u -r1.1 -r1.2 src/external/nvidia-firmware/Makefile
cvs rdiff -u -r0 -r1.1 src/external/nvidia-firmware/gm20x/Makefile \
src/external/nvidia-firmware/gm20x/Makefile.inc
cvs rdiff -u -r0 -r1.1 src/external/nvidia-firmware/gm20x/common/Makefile
cvs rdiff -u -r0 -r1.1 src/external/nvidia-firmware/gm20x/dist/LICENCE.nvidia
cvs rdiff -u -r0 -r1.1 \
src/external/nvidia-firmware/gm20x/dist/gm200/acr/bl.bin \
src/external/nvidia-firmware/gm20x/dist/gm200/acr/ucode_load.bin \
src/external/nvidia-firmware/gm20x/dist/gm200/acr/ucode_unload.bin
cvs rdiff -u -r0 -r1.1 \
src/external/nvidia-firmware/gm20x/dist/gm200/gr/fecs_bl.bin \
src/external/nvidia-firmware/gm20x/dist/gm200/gr/fecs_data.bin \
src/external/nvidia-firmware/gm20x/dist/gm200/gr/fecs_inst.bin \
src/external/nvidia-firmware/gm20x/dist/gm200/gr/fecs_sig.bin \
src/external/nvidia-firmware/gm20x/dist/gm200/gr/gpccs_bl.bin \
src/external/nvidia-firmware/gm20x/dist/gm200/gr/gpccs_data.bin \
src/external/nvidia-firmware/gm20x/dist/gm200/gr/gpccs_inst.bin \
src/external/nvidia-firmware/gm20x/dist/gm200/gr/gpccs_sig.bin \
src/external/nvidia-firmware/gm20x/dist/gm200/gr/sw_bundle_init.bin \
src/external/nvidia-firmware/gm20x/dist/gm200/gr/sw_ctx.bin \
src/external/nvidia-firmware/gm20x/dist/gm200/gr/sw_method_init.bin \
src/external/nvidia-firmware/gm20x/dist/gm200/gr/sw_nonctx.bin
cvs rdiff -u -r0 -r1.1 \
src/external/nvidia-firmware/gm20x/dist/gm204/gr/fecs_data.bin \
src/external/nvidia-firmware/gm20x/dist/gm204/gr/fecs_sig.bin \
src/external/nvidia-firmware/gm20x/dist/gm204/gr/gpccs_data.bin \
src/external/nvidia-firmware/gm20x/dist/gm204/gr/gpccs_sig.bin
cvs rdiff -u -r0 -r1.1 \
src/external/nvidia-firmware/gm20x/dist/gm206/acr/ucode_load.bin \
src/external/nvidia-firmware/gm20x/dist/gm206/acr/ucode_unload.bin
cvs rdiff -u -r0 -r1.1 \
src/external/nvidia-firmware/gm20x/dist/gm206/gr/fecs_data.bin \
src/external/nvidia-firmware/gm20x/dist/gm206/gr/fecs_sig.bin \
src/external/nvidia-firmware/gm20x/dist/gm206/gr/gpccs_data.bin \
src/external/nvidia-firmware/gm20x/dist/gm206/gr/gpccs_sig.bin
cvs rdiff -u -r0 -r1.1 \
src/external/nvidia-firmware/gm20x/dist/gm20b/acr/bl.bin \
src/external/nvidia-firmware/gm20x/dist/gm20b/acr/ucode_load.bin
cvs rdiff -u -r0 -r1.1 \
src/external/nvidia-firmware/gm20x/dist/gm20b/gr/fecs_bl.bin \
src/external/nvidia-firmware/gm20x/dist/gm20b/gr/fecs_data.bin \
src/external/nvidia-firmware/gm20x/dist/gm20b/gr/fecs_inst.bin \
src/external/nvidia-firmware/gm20x/dist/gm20b/gr/fecs_sig.bin \
src/external/nvidia-firmware/gm20x/dist/gm20b/gr/gpccs_data.bin \
src/external/nvidia-firmware/gm20x/dist/gm20b/gr/gpccs_inst.bin \
src/external/nvidia-firmware/gm20x/dist/gm20b/gr/sw_bundle_init.bin \
  

CVS commit: src/sys/arch/amd64/amd64

2019-07-20 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Jul 20 18:25:11 UTC 2019

Modified Files:
src/sys/arch/amd64/amd64: netbsd32_machdep.c process_machdep.c

Log Message:
Restore the ability to debug a 32 bit process from a 64 bit debugger:
- add a function to validate a 64 bit context in 32 bit mode to write registers
- remove 32 bit checks from read and write register functions
- check for pc to fit in 32 bits.
proposed in tech-kern, ok maxv.


To generate a diff of this commit:
cvs rdiff -u -r1.124 -r1.125 src/sys/arch/amd64/amd64/netbsd32_machdep.c
cvs rdiff -u -r1.41 -r1.42 src/sys/arch/amd64/amd64/process_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/amd64/amd64

2019-07-20 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Jul 20 18:25:11 UTC 2019

Modified Files:
src/sys/arch/amd64/amd64: netbsd32_machdep.c process_machdep.c

Log Message:
Restore the ability to debug a 32 bit process from a 64 bit debugger:
- add a function to validate a 64 bit context in 32 bit mode to write registers
- remove 32 bit checks from read and write register functions
- check for pc to fit in 32 bits.
proposed in tech-kern, ok maxv.


To generate a diff of this commit:
cvs rdiff -u -r1.124 -r1.125 src/sys/arch/amd64/amd64/netbsd32_machdep.c
cvs rdiff -u -r1.41 -r1.42 src/sys/arch/amd64/amd64/process_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/netbsd32_machdep.c
diff -u src/sys/arch/amd64/amd64/netbsd32_machdep.c:1.124 src/sys/arch/amd64/amd64/netbsd32_machdep.c:1.125
--- src/sys/arch/amd64/amd64/netbsd32_machdep.c:1.124	Wed Jun 26 08:30:12 2019
+++ src/sys/arch/amd64/amd64/netbsd32_machdep.c	Sat Jul 20 14:25:11 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_machdep.c,v 1.124 2019/06/26 12:30:12 mgorny Exp $	*/
+/*	$NetBSD: netbsd32_machdep.c,v 1.125 2019/07/20 18:25:11 christos Exp $	*/
 
 /*
  * Copyright (c) 2001 Wasabi Systems, Inc.
@@ -36,7 +36,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_machdep.c,v 1.124 2019/06/26 12:30:12 mgorny Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_machdep.c,v 1.125 2019/07/20 18:25:11 christos Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_compat_netbsd.h"
@@ -382,7 +382,7 @@ netbsd32_process_read_regs(struct lwp *l
 	regs->r_esp = tf->tf_rsp & 0x;
 	regs->r_ss = tf->tf_ss & 0x;
 
-	return (0);
+	return 0;
 }
 
 int
@@ -987,6 +987,25 @@ cpu_mcontext32_validate(struct lwp *l, c
 	return 0;
 }
 
+static int
+cpu_mcontext32from64_validate(struct lwp *l, const struct reg *regp)
+{
+	mcontext32_t mc;
+	__greg32_t *gr32 = mc.__gregs;
+	const __greg_t *gr = regp->regs;
+
+	memset(&mc, 0, sizeof(mc));
+	gr32[_REG32_EFL] = gr[_REG_RFLAGS];
+	gr32[_REG32_EIP] = gr[_REG_RIP];
+	gr32[_REG32_CS] = gr[_REG_CS];
+	gr32[_REG32_DS] = gr[_REG_DS];
+	gr32[_REG32_ES] = gr[_REG_ES];
+	gr32[_REG32_FS] = gr[_REG_FS];
+	gr32[_REG32_GS] = gr[_REG_GS];
+	gr32[_REG32_SS] = gr[_REG_SS];
+	return cpu_mcontext32_validate(l, &mc);
+}
+
 vaddr_t
 netbsd32_vm_default_addr(struct proc *p, vaddr_t base, vsize_t sz,
 int topdown)
@@ -1009,6 +1028,8 @@ netbsd32_machdep_md_init(void)
 {
 
 	MODULE_HOOK_SET(netbsd32_machine32_hook, "mach32", netbsd32_machine32);
+	MODULE_HOOK_SET(netbsd32_reg_validate_hook,
+	"mcontext32from64_validate", cpu_mcontext32from64_validate);
 }
 
 void
@@ -1016,4 +1037,5 @@ netbsd32_machdep_md_fini(void)
 {
 
 	MODULE_HOOK_UNSET(netbsd32_machine32_hook);
+	MODULE_HOOK_UNSET(netbsd32_reg_validate_hook);
 }

Index: src/sys/arch/amd64/amd64/process_machdep.c
diff -u src/sys/arch/amd64/amd64/process_machdep.c:1.41 src/sys/arch/amd64/amd64/process_machdep.c:1.42
--- src/sys/arch/amd64/amd64/process_machdep.c:1.41	Wed Jun 26 21:59:30 2019
+++ src/sys/arch/amd64/amd64/process_machdep.c	Sat Jul 20 14:25:11 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: process_machdep.c,v 1.41 2019/06/27 01:59:30 christos Exp $	*/
+/*	$NetBSD: process_machdep.c,v 1.42 2019/07/20 18:25:11 christos Exp $	*/
 
 /*
  * Copyright (c) 1998, 2000 The NetBSD Foundation, Inc.
@@ -74,7 +74,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: process_machdep.c,v 1.41 2019/06/27 01:59:30 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: process_machdep.c,v 1.42 2019/07/20 18:25:11 christos Exp $");
 
 #include "opt_xen.h"
 #include 
@@ -83,6 +83,7 @@ __KERNEL_RCSID(0, "$NetBSD: process_mach
 #include 
 #include 
 #include 
+#include 
 
 #include 
 
@@ -103,42 +104,48 @@ process_frame(struct lwp *l)
 }
 
 int
-process_read_regs(struct lwp *l, struct reg *regs)
+process_read_regs(struct lwp *l, struct reg *regp)
 {
 	struct trapframe *tf = process_frame(l);
-	struct proc *p = l->l_proc;
+	long *regs = regp->regs;
+	const bool pk32 = (l->l_proc->p_flag & PK_32) != 0;
 
-	if (p->p_flag & PK_32) {
-		return EINVAL;
-	}
-
-	regs->regs[_REG_RDI] = tf->tf_rdi;
-	regs->regs[_REG_RSI] = tf->tf_rsi;
-	regs->regs[_REG_RDX] = tf->tf_rdx;
-	regs->regs[_REG_R10] = tf->tf_r10;
-	regs->regs[_REG_R8]  = tf->tf_r8;
-	regs->regs[_REG_R9]  = tf->tf_r9;
+	regs[_REG_RDI] = tf->tf_rdi;
+	regs[_REG_RSI] = tf->tf_rsi;
+	regs[_REG_RDX] = tf->tf_rdx;
+	regs[_REG_R10] = tf->tf_r10;
+	regs[_REG_R8]  = tf->tf_r8;
+	regs[_REG_R9]  = tf->tf_r9;
 	/* argX not touched */
-	regs->regs[_REG_RCX] = tf->tf_rcx;
-	regs->regs[_REG_R11] = tf->tf_r11;
-	regs->regs[_REG_R12] = tf->tf_r12;
-	regs->regs[_REG_R13] = tf->tf_r13;
-	regs->regs[_REG_R14] = tf->tf_r14;
-	regs->regs[_REG_R15] = tf->tf_r15;
-	regs->regs[_REG_RBP] = tf->tf_rbp;
-	regs->regs[_REG_RBX] = tf->tf_rbx;
-	regs->regs[_REG_RAX] = tf->tf_rax;
-	regs->regs[_REG_GS]  = 0;
-	regs->regs[_REG_FS]  = 0;
-	regs->regs[_REG_ES]  = GSE

CVS commit: src/sys

2019-07-20 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Jul 20 18:23:05 UTC 2019

Modified Files:
src/sys/kern: compat_stub.c
src/sys/sys: compat_stub.h

Log Message:
add a register validation hook for ptrace on netbsd32 to be used for
64 -> 32 debugging.


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/sys/kern/compat_stub.c
cvs rdiff -u -r1.16 -r1.17 src/sys/sys/compat_stub.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/kern/compat_stub.c
diff -u src/sys/kern/compat_stub.c:1.14 src/sys/kern/compat_stub.c:1.15
--- src/sys/kern/compat_stub.c:1.14	Tue Jul 16 18:57:55 2019
+++ src/sys/kern/compat_stub.c	Sat Jul 20 14:23:05 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: compat_stub.c,v 1.14 2019/07/16 22:57:55 pgoyette Exp $	*/
+/* $NetBSD: compat_stub.c,v 1.15 2019/07/20 18:23:05 christos Exp $	*/
 
 /*-
  * Copyright (c) 2018 The NetBSD Foundation, Inc.
@@ -273,3 +273,4 @@ struct ifmedia_80_post_hook_t ifmedia_80
  * this is true for i386 and sgimips.)
  */
 struct netbsd32_machine32_hook_t netbsd32_machine32_hook;
+struct netbsd32_reg_validate_hook_t netbsd32_reg_validate_hook;

Index: src/sys/sys/compat_stub.h
diff -u src/sys/sys/compat_stub.h:1.16 src/sys/sys/compat_stub.h:1.17
--- src/sys/sys/compat_stub.h:1.16	Fri May 17 03:37:12 2019
+++ src/sys/sys/compat_stub.h	Sat Jul 20 14:23:05 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: compat_stub.h,v 1.16 2019/05/17 07:37:12 msaitoh Exp $	*/
+/*	$NetBSD: compat_stub.h,v 1.17 2019/07/20 18:23:05 christos Exp $	*/
 
 /*-
  * Copyright (c) 2018 The NetBSD Foundation, Inc.
@@ -354,4 +354,6 @@ MODULE_HOOK(ifmedia_80_post_hook, int, (
  * this is true for i386 and sgimips.)
  */
 MODULE_HOOK(netbsd32_machine32_hook, const char *, (void));
+MODULE_HOOK(netbsd32_reg_validate_hook, int,
+(struct lwp *, const struct reg *));
 #endif	/* _SYS_COMPAT_STUB_H */



CVS commit: src/sys

2019-07-20 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Jul 20 18:23:05 UTC 2019

Modified Files:
src/sys/kern: compat_stub.c
src/sys/sys: compat_stub.h

Log Message:
add a register validation hook for ptrace on netbsd32 to be used for
64 -> 32 debugging.


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/sys/kern/compat_stub.c
cvs rdiff -u -r1.16 -r1.17 src/sys/sys/compat_stub.h

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



CVS commit: src/distrib/amd64/ramdisks/ramdisk

2019-07-20 Thread Manuel Bouyer
Module Name:src
Committed By:   bouyer
Date:   Sat Jul 20 15:55:40 UTC 2019

Modified Files:
src/distrib/amd64/ramdisks/ramdisk: list

Log Message:
Add newfs_msdos to amd64 install media, proposed on port-amd64@ back in
december.
newfs_msdos is needed to make a UEFI bootable disk.


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/distrib/amd64/ramdisks/ramdisk/list

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



CVS commit: src/distrib/amd64/ramdisks/ramdisk

2019-07-20 Thread Manuel Bouyer
Module Name:src
Committed By:   bouyer
Date:   Sat Jul 20 15:55:40 UTC 2019

Modified Files:
src/distrib/amd64/ramdisks/ramdisk: list

Log Message:
Add newfs_msdos to amd64 install media, proposed on port-amd64@ back in
december.
newfs_msdos is needed to make a UEFI bootable disk.


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/distrib/amd64/ramdisks/ramdisk/list

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

Modified files:

Index: src/distrib/amd64/ramdisks/ramdisk/list
diff -u src/distrib/amd64/ramdisks/ramdisk/list:1.14 src/distrib/amd64/ramdisks/ramdisk/list:1.15
--- src/distrib/amd64/ramdisks/ramdisk/list:1.14	Mon Jan  9 17:45:03 2012
+++ src/distrib/amd64/ramdisks/ramdisk/list	Sat Jul 20 15:55:40 2019
@@ -1,4 +1,4 @@
-#	$NetBSD: list,v 1.14 2012/01/09 17:45:03 sborrill Exp $
+#	$NetBSD: list,v 1.15 2019/07/20 15:55:40 bouyer Exp $
 
 PROG	bin/chio
 PROG	bin/dd
@@ -17,6 +17,7 @@ PROG	sbin/mount_ext2fs
 PROG	sbin/mount_lfs
 PROG	sbin/mount_ntfs
 PROG	sbin/newfs_lfs
+PROG	sbin/newfs_msdos
 PROG	sbin/raidctl
 PROG	sbin/restore	sbin/rrestore
 PROG	sbin/scsictl



CVS commit: src/sys/netcan

2019-07-20 Thread Manuel Bouyer
Module Name:src
Committed By:   bouyer
Date:   Sat Jul 20 15:34:41 UTC 2019

Modified Files:
src/sys/netcan: can.c can_pcb.c

Log Message:
Don't kmem_alloc()/kmem_free() with spin lock held: call can_pcbsetfilter()
without canp_mtx; take it here and check canp_state before updating the
canp_filters.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/sys/netcan/can.c
cvs rdiff -u -r1.7 -r1.8 src/sys/netcan/can_pcb.c

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



CVS commit: src/sys/netcan

2019-07-20 Thread Manuel Bouyer
Module Name:src
Committed By:   bouyer
Date:   Sat Jul 20 15:34:41 UTC 2019

Modified Files:
src/sys/netcan: can.c can_pcb.c

Log Message:
Don't kmem_alloc()/kmem_free() with spin lock held: call can_pcbsetfilter()
without canp_mtx; take it here and check canp_state before updating the
canp_filters.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/sys/netcan/can.c
cvs rdiff -u -r1.7 -r1.8 src/sys/netcan/can_pcb.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/netcan/can.c
diff -u src/sys/netcan/can.c:1.6 src/sys/netcan/can.c:1.7
--- src/sys/netcan/can.c:1.6	Thu Nov 15 10:23:56 2018
+++ src/sys/netcan/can.c	Sat Jul 20 15:34:41 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: can.c,v 1.6 2018/11/15 10:23:56 maxv Exp $	*/
+/*	$NetBSD: can.c,v 1.7 2019/07/20 15:34:41 bouyer Exp $	*/
 
 /*-
  * Copyright (c) 2003, 2017 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: can.c,v 1.6 2018/11/15 10:23:56 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: can.c,v 1.7 2019/07/20 15:34:41 bouyer Exp $");
 
 #include 
 #include 
@@ -924,9 +924,7 @@ can_raw_setop(struct canpcb *canp, struc
 		int nfilters = sopt->sopt_size / sizeof(struct can_filter);
 		if (sopt->sopt_size % sizeof(struct can_filter) != 0)
 			return EINVAL;
-		mutex_enter(&canp->canp_mtx);
 		error = can_pcbsetfilter(canp, sopt->sopt_data, nfilters);
-		mutex_exit(&canp->canp_mtx);
 		break;
 		}
 	default:

Index: src/sys/netcan/can_pcb.c
diff -u src/sys/netcan/can_pcb.c:1.7 src/sys/netcan/can_pcb.c:1.8
--- src/sys/netcan/can_pcb.c:1.7	Mon Feb 25 06:49:44 2019
+++ src/sys/netcan/can_pcb.c	Sat Jul 20 15:34:41 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: can_pcb.c,v 1.7 2019/02/25 06:49:44 maxv Exp $	*/
+/*	$NetBSD: can_pcb.c,v 1.8 2019/07/20 15:34:41 bouyer Exp $	*/
 
 /*-
  * Copyright (c) 2003, 2017 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: can_pcb.c,v 1.7 2019/02/25 06:49:44 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: can_pcb.c,v 1.8 2019/07/20 15:34:41 bouyer Exp $");
 
 #include 
 #include 
@@ -193,8 +193,8 @@ can_pcbdetach(void *v)
 	so->so_pcb = NULL;
 	mutex_enter(&canp->canp_mtx);
 	can_pcbstate(canp, CANP_DETACHED);
-	can_pcbsetfilter(canp, NULL, 0);
 	mutex_exit(&canp->canp_mtx);
+	can_pcbsetfilter(canp, NULL, 0);
 	TAILQ_REMOVE(&canp->canp_table->canpt_queue, canp, canp_queue);
 	sofree(so); /* sofree drops the softnet_lock */
 	canp_unref(canp);
@@ -243,7 +243,9 @@ can_pcbsetfilter(struct canpcb *canp, st
 {
 
 	struct can_filter *newf;
-	KASSERT(mutex_owned(&canp->canp_mtx));
+	struct can_filter *oldf;
+	int oldnf;
+	int error = 0;
 
 	if (nfilters > 0) {
 		newf =
@@ -252,13 +254,24 @@ can_pcbsetfilter(struct canpcb *canp, st
 	} else {
 		newf = NULL;
 	}
-	if (canp->canp_filters != NULL) {
-		kmem_free(canp->canp_filters,
-		sizeof(struct can_filter) * canp->canp_nfilters);
+	mutex_enter(&canp->canp_mtx);
+	oldf = canp->canp_filters;
+	oldnf = canp->canp_nfilters;
+	if (newf != NULL && canp->canp_state == CANP_DETACHED) {
+		error = ECONNRESET;
+	} else {
+		canp->canp_filters = newf;
+		canp->canp_nfilters = nfilters;
+		newf = NULL;
+	}
+	mutex_exit(&canp->canp_mtx);
+	if (oldf != NULL) {
+		kmem_free(oldf, sizeof(struct can_filter) * oldnf);
 	}
-	canp->canp_filters = newf;
-	canp->canp_nfilters = nfilters;
-	return 0;
+	if (newf != NULL) {
+		kmem_free(newf, sizeof(struct can_filter) * nfilters);
+	}
+	return error;
 }
 
 



CVS commit: src/share/misc

2019-07-20 Thread Sevan Janiyan
Module Name:src
Committed By:   sevan
Date:   Sat Jul 20 13:29:36 UTC 2019

Modified Files:
src/share/misc: acronyms.comp

Log Message:
CACLS DIA ICACLS


To generate a diff of this commit:
cvs rdiff -u -r1.280 -r1.281 src/share/misc/acronyms.comp

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



CVS commit: src/share/misc

2019-07-20 Thread Sevan Janiyan
Module Name:src
Committed By:   sevan
Date:   Sat Jul 20 13:29:36 UTC 2019

Modified Files:
src/share/misc: acronyms.comp

Log Message:
CACLS DIA ICACLS


To generate a diff of this commit:
cvs rdiff -u -r1.280 -r1.281 src/share/misc/acronyms.comp

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

Modified files:

Index: src/share/misc/acronyms.comp
diff -u src/share/misc/acronyms.comp:1.280 src/share/misc/acronyms.comp:1.281
--- src/share/misc/acronyms.comp:1.280	Thu Jul 11 15:21:46 2019
+++ src/share/misc/acronyms.comp	Sat Jul 20 13:29:36 2019
@@ -1,4 +1,4 @@
-$NetBSD: acronyms.comp,v 1.280 2019/07/11 15:21:46 sevan Exp $
+$NetBSD: acronyms.comp,v 1.281 2019/07/20 13:29:36 sevan Exp $
 3WHS	three-way handshake
 8VSB	8-state vestigial side band modulation
 AA	anti-aliasing
@@ -195,6 +195,7 @@ BW	bandwidth
 BWM	block-write mode
 BUAG	big ugly ASCII graphic
 CA	certificate authority
+CACLS	change access control lists
 CAD	computer-aided design
 CAM	computer assisted manufacturing
 CAM	conditional access module
@@ -386,6 +387,7 @@ DFT	discrete Fourier transform
 DGL	data generation language
 DH	Diffie-Hellman
 DHCP	Dynamic Host Configuration Protocol
+DIA	dedicated Internet access
 DIFS	distributed inter-frame space
 DIMM	dual inline memory module
 DIRT	design in real time
@@ -680,6 +682,7 @@ IBS	instruction based sampling
 IBSS	independent basic service set
 IC	integrated circuit
 ICA	independent computer architecture
+ICACLS	integrity control access control lists
 ICB	Internet Citizen's Band
 ICE	in-circuit emulator
 ICE	internal compiler error