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

2020-01-19 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Mon Jan 20 07:19:04 UTC 2020

Modified Files:
src/sys/dev/pci/ixgbe: ix_txrx.c ixgbe.h ixgbe_netbsd.c

Log Message:
 Free jumbo mem structure correctly. Found by yamaguchi@ using with LOCKDEBUG.


To generate a diff of this commit:
cvs rdiff -u -r1.58 -r1.59 src/sys/dev/pci/ixgbe/ix_txrx.c
cvs rdiff -u -r1.60 -r1.61 src/sys/dev/pci/ixgbe/ixgbe.h
cvs rdiff -u -r1.10 -r1.11 src/sys/dev/pci/ixgbe/ixgbe_netbsd.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/pci/ixgbe/ix_txrx.c
diff -u src/sys/dev/pci/ixgbe/ix_txrx.c:1.58 src/sys/dev/pci/ixgbe/ix_txrx.c:1.59
--- src/sys/dev/pci/ixgbe/ix_txrx.c:1.58	Mon Dec 16 02:50:54 2019
+++ src/sys/dev/pci/ixgbe/ix_txrx.c	Mon Jan 20 07:19:04 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: ix_txrx.c,v 1.58 2019/12/16 02:50:54 msaitoh Exp $ */
+/* $NetBSD: ix_txrx.c,v 1.59 2020/01/20 07:19:04 msaitoh Exp $ */
 
 /**
 
@@ -1681,6 +1681,10 @@ ixgbe_free_receive_buffers(struct rx_rin
 rxbuf->pmap = NULL;
 			}
 		}
+
+		/* NetBSD specific. See ixgbe_netbsd.c */
+		ixgbe_jcl_destroy(adapter, rxr);
+
 		if (rxr->rx_buffers != NULL) {
 			free(rxr->rx_buffers, M_DEVBUF);
 			rxr->rx_buffers = NULL;

Index: src/sys/dev/pci/ixgbe/ixgbe.h
diff -u src/sys/dev/pci/ixgbe/ixgbe.h:1.60 src/sys/dev/pci/ixgbe/ixgbe.h:1.61
--- src/sys/dev/pci/ixgbe/ixgbe.h:1.60	Mon Dec 16 02:50:54 2019
+++ src/sys/dev/pci/ixgbe/ixgbe.h	Mon Jan 20 07:19:04 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: ixgbe.h,v 1.60 2019/12/16 02:50:54 msaitoh Exp $ */
+/* $NetBSD: ixgbe.h,v 1.61 2020/01/20 07:19:04 msaitoh Exp $ */
 
 /**
   SPDX-License-Identifier: BSD-3-Clause
@@ -780,6 +780,7 @@ const struct sysctlnode *ixgbe_sysctl_in
 /* For NetBSD */
 void ixgbe_jcl_reinit(struct adapter *, bus_dma_tag_t, struct rx_ring *,
 int, size_t);
+void ixgbe_jcl_destroy(struct adapter *,  struct rx_ring *);
 
 #include "ixgbe_bypass.h"
 #include "ixgbe_fdir.h"

Index: src/sys/dev/pci/ixgbe/ixgbe_netbsd.c
diff -u src/sys/dev/pci/ixgbe/ixgbe_netbsd.c:1.10 src/sys/dev/pci/ixgbe/ixgbe_netbsd.c:1.11
--- src/sys/dev/pci/ixgbe/ixgbe_netbsd.c:1.10	Wed Sep  4 07:29:34 2019
+++ src/sys/dev/pci/ixgbe/ixgbe_netbsd.c	Mon Jan 20 07:19:04 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: ixgbe_netbsd.c,v 1.10 2019/09/04 07:29:34 msaitoh Exp $ */
+/* $NetBSD: ixgbe_netbsd.c,v 1.11 2020/01/20 07:19:04 msaitoh Exp $ */
 /*
  * Copyright (c) 2011 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -161,6 +161,22 @@ post_zalloc_err:
 	return NULL;
 }
 
+static void
+ixgbe_jcl_freeall(struct adapter *adapter, struct rx_ring *rxr)
+{
+	ixgbe_extmem_head_t *eh = >jcl_head;
+	ixgbe_extmem_t *em;
+	bus_dma_tag_t dmat = rxr->ptag->dt_dmat;
+
+	while ((em = ixgbe_getext(eh, 0)) != NULL) {
+		KASSERT(em->em_vaddr != NULL);
+		bus_dmamem_unmap(dmat, em->em_vaddr, em->em_size);
+		bus_dmamem_free(dmat, >em_seg, 1);
+		memset(em, 0, sizeof(*em));
+		kmem_free(em, sizeof(*em));
+	}
+}
+
 void
 ixgbe_jcl_reinit(struct adapter *adapter, bus_dma_tag_t dmat,
 struct rx_ring *rxr, int nbuf, size_t size)
@@ -187,13 +203,7 @@ ixgbe_jcl_reinit(struct adapter *adapter
 		return;
 
 	/* Free all dmamem */
-	while ((em = ixgbe_getext(eh, 0)) != NULL) {
-		KASSERT(em->em_vaddr != NULL);
-		bus_dmamem_unmap(dmat, em->em_vaddr, em->em_size);
-		bus_dmamem_free(dmat, >em_seg, 1);
-		memset(em, 0, sizeof(*em));
-		kmem_free(em, sizeof(*em));
-	}
+	ixgbe_jcl_freeall(adapter, rxr);
 
 	for (i = 0; i < nbuf; i++) {
 		if ((em = ixgbe_newext(eh, dmat, size)) == NULL) {
@@ -210,6 +220,21 @@ ixgbe_jcl_reinit(struct adapter *adapter
 	rxr->last_num_rx_desc = adapter->num_rx_desc;
 }
 
+void
+ixgbe_jcl_destroy(struct adapter *adapter, struct rx_ring *rxr)
+{
+	ixgbe_extmem_head_t *eh = >jcl_head;
+
+	/* Free all dmamem */
+	ixgbe_jcl_freeall(adapter, rxr);
+
+	if (eh->eh_initialized) {
+		mutex_destroy(>eh_mtx);
+		eh->eh_initialized = false;
+	}
+}
+
+
 static void
 ixgbe_jcl_free(struct mbuf *m, void *buf, size_t size, void *arg)
 {



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

2020-01-19 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Mon Jan 20 07:19:04 UTC 2020

Modified Files:
src/sys/dev/pci/ixgbe: ix_txrx.c ixgbe.h ixgbe_netbsd.c

Log Message:
 Free jumbo mem structure correctly. Found by yamaguchi@ using with LOCKDEBUG.


To generate a diff of this commit:
cvs rdiff -u -r1.58 -r1.59 src/sys/dev/pci/ixgbe/ix_txrx.c
cvs rdiff -u -r1.60 -r1.61 src/sys/dev/pci/ixgbe/ixgbe.h
cvs rdiff -u -r1.10 -r1.11 src/sys/dev/pci/ixgbe/ixgbe_netbsd.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/arm/broadcom

2020-01-19 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Jan 20 06:55:35 UTC 2020

Modified Files:
src/sys/arch/arm/broadcom: bcm2835_intr.c

Log Message:
use arm_cpu_mpidr() and fix arm64 builds.


To generate a diff of this commit:
cvs rdiff -u -r1.30 -r1.31 src/sys/arch/arm/broadcom/bcm2835_intr.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/arm/broadcom/bcm2835_intr.c
diff -u src/sys/arch/arm/broadcom/bcm2835_intr.c:1.30 src/sys/arch/arm/broadcom/bcm2835_intr.c:1.31
--- src/sys/arch/arm/broadcom/bcm2835_intr.c:1.30	Sun Jan 19 16:53:20 2020
+++ src/sys/arch/arm/broadcom/bcm2835_intr.c	Mon Jan 20 06:55:35 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: bcm2835_intr.c,v 1.30 2020/01/19 16:53:20 skrll Exp $	*/
+/*	$NetBSD: bcm2835_intr.c,v 1.31 2020/01/20 06:55:35 mrg Exp $	*/
 
 /*-
  * Copyright (c) 2012, 2015, 2019 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: bcm2835_intr.c,v 1.30 2020/01/19 16:53:20 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: bcm2835_intr.c,v 1.31 2020/01/20 06:55:35 mrg Exp $");
 
 #define _INTR_PRIVATE
 
@@ -337,7 +337,7 @@ bcm2835_irq_handler(void *frame)
 {
 	struct cpu_info * const ci = curcpu();
 	const int oldipl = ci->ci_cpl;
-	const cpuid_t cpuid = __SHIFTOUT(ci->ci_mpidr, MPIDR_AFF0);
+	const cpuid_t cpuid = __SHIFTOUT(arm_cpu_mpidr(ci), MPIDR_AFF0);
 	const uint32_t oldipl_mask = __BIT(oldipl);
 	int ipl_mask = 0;
 
@@ -700,7 +700,7 @@ static int
 bcm2836mp_pic_find_pending_irqs(struct pic_softc *pic)
 {
 	struct cpu_info * const ci = curcpu();
-	const cpuid_t cpuid = __SHIFTOUT(ci->ci_mpidr, MPIDR_AFF0);
+	const cpuid_t cpuid = __SHIFTOUT(arm_cpu_mpidr(ci), MPIDR_AFF0);
 	uint32_t lpending;
 	int ipl = 0;
 
@@ -741,7 +741,7 @@ bcm2836mp_pic_source_name(struct pic_sof
 #if defined(MULTIPROCESSOR)
 static void bcm2836mp_cpu_init(struct pic_softc *pic, struct cpu_info *ci)
 {
-	const cpuid_t cpuid = __SHIFTOUT(ci->ci_mpidr, MPIDR_AFF0);
+	const cpuid_t cpuid = __SHIFTOUT(arm_cpu_mpidr(ci), MPIDR_AFF0);
 
 	KASSERT(cpuid < BCM2836_NCPUS);
 
@@ -768,7 +768,7 @@ int
 bcm2836mp_ipi_handler(void *priv)
 {
 	const struct cpu_info *ci = curcpu();
-	const cpuid_t cpuid = __SHIFTOUT(ci->ci_mpidr, MPIDR_AFF0);
+	const cpuid_t cpuid = __SHIFTOUT(arm_cpu_mpidr(ci), MPIDR_AFF0);
 	uint32_t ipimask, bit;
 
 	KASSERT(cpuid < BCM2836_NCPUS);
@@ -817,7 +817,7 @@ bcm2836mp_ipi_handler(void *priv)
 static void
 bcm2836mp_intr_init(void *priv, struct cpu_info *ci)
 {
-	const cpuid_t cpuid = __SHIFTOUT(ci->ci_mpidr, MPIDR_AFF0);
+	const cpuid_t cpuid = __SHIFTOUT(arm_cpu_mpidr(ci), MPIDR_AFF0);
 	struct pic_softc * const pic = _pic[cpuid];
 
 	KASSERT(cpuid < BCM2836_NCPUS);



CVS commit: src/sys/arch/arm/broadcom

2020-01-19 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Jan 20 06:55:35 UTC 2020

Modified Files:
src/sys/arch/arm/broadcom: bcm2835_intr.c

Log Message:
use arm_cpu_mpidr() and fix arm64 builds.


To generate a diff of this commit:
cvs rdiff -u -r1.30 -r1.31 src/sys/arch/arm/broadcom/bcm2835_intr.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/x86/x86

2020-01-19 Thread Michael van Elst
Module Name:src
Committed By:   mlelstv
Date:   Mon Jan 20 06:50:34 UTC 2020

Modified Files:
src/sys/arch/x86/x86: cpu_topology.c

Log Message:
assert smt_bits value only after it is computed.


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/arch/x86/x86/cpu_topology.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/x86/x86/cpu_topology.c
diff -u src/sys/arch/x86/x86/cpu_topology.c:1.17 src/sys/arch/x86/x86/cpu_topology.c:1.18
--- src/sys/arch/x86/x86/cpu_topology.c:1.17	Thu Jan  9 16:35:03 2020
+++ src/sys/arch/x86/x86/cpu_topology.c	Mon Jan 20 06:50:34 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: cpu_topology.c,v 1.17 2020/01/09 16:35:03 ad Exp $	*/
+/*	$NetBSD: cpu_topology.c,v 1.18 2020/01/20 06:50:34 mlelstv Exp $	*/
 
 /*-
  * Copyright (c) 2009 Mindaugas Rasiukevicius ,
@@ -36,7 +36,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: cpu_topology.c,v 1.17 2020/01/09 16:35:03 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cpu_topology.c,v 1.18 2020/01/20 06:50:34 mlelstv Exp $");
 
 #include "acpica.h"
 
@@ -190,8 +190,9 @@ x86_cpu_topology(struct cpu_info *ci)
 		x86_cpuid(0x801e, descs);
 		const u_int threads = ((descs[1] >> 8) & 0xff) + 1;
 
-		KASSERT(smt_bits == 0 && smt_bits <= core_bits);
+		KASSERT(smt_bits == 0);
 		smt_bits = ilog2(threads);
+		KASSERT(smt_bits <= core_bits);
 		core_bits -= smt_bits;
 	}
 



CVS commit: src/sys/arch/x86/x86

2020-01-19 Thread Michael van Elst
Module Name:src
Committed By:   mlelstv
Date:   Mon Jan 20 06:50:34 UTC 2020

Modified Files:
src/sys/arch/x86/x86: cpu_topology.c

Log Message:
assert smt_bits value only after it is computed.


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/arch/x86/x86/cpu_topology.c

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



Re: CVS commit: src/sys

2020-01-19 Thread Paul Goyette

On Mon, 20 Jan 2020, Ryo ONODERA wrote:


Hi,

After this commit, the kernel stalls just before root file system
will be found on my NetBSD/amd64 laptop.

Reverting
src/sys/kern/kern_rwlock.c to r1.60
and
src/sys/sys/rwlock.h to r1.12
in latest -current tree and I can get the kernel that works like
before.

And on another laptop, the problematic kernel stalls before root file
system detection like my laptop.

It may be universal problem.

Could you take a look at this problem?


I ran into the same problem trying to do an ``anita install'' under
qemu.  It got as far as identifying the boot device, and then hang.


++--+---+
| Paul Goyette   | PGP Key fingerprint: | E-mail addresses: |
| (Retired)  | FA29 0E3B 35AF E8AE 6651 | p...@whooppee.com |
| Software Developer | 0786 F758 55DE 53BA 7731 | pgoye...@netbsd.org   |
++--+---+



Re: CVS commit: src/sys

2020-01-19 Thread Ryo ONODERA
Sorry I have note sent this e-mail to you.

Ryo ONODERA  writes:

> Hi,
>
> After this commit, the kernel stalls just before root file system
> will be found on my NetBSD/amd64 laptop.
>
> Reverting
> src/sys/kern/kern_rwlock.c to r1.60
> and
> src/sys/sys/rwlock.h to r1.12
> in latest -current tree and I can get the kernel that works like
> before.
>
> And on another laptop, the problematic kernel stalls before root file
> system detection like my laptop.
>
> It may be universal problem.
>
> Could you take a look at this problem?
>
> Thank you.
>
> "Andrew Doran"  writes:
>
>> Module Name: src
>> Committed By:ad
>> Date:Sun Jan 19 18:34:24 UTC 2020
>>
>> Modified Files:
>>  src/sys/kern: kern_rwlock.c
>>  src/sys/sys: rwlock.h
>>
>> Log Message:
>> Tidy rwlocks a bit, no functional change intended.  Mainly:
>>
>> - rw_downgrade(): do it in a for () loop like all the others.
>> - Explicitly carry around RW_NODEBUG - don't be lazy.
>> - Remove pointless macros.
>> - Don't make assertions conditional on LOCKDEBUG, there's no reason.
>> - Make space for a new flag bit (not added yet).
>>
>>
>> To generate a diff of this commit:
>> cvs rdiff -u -r1.60 -r1.61 src/sys/kern/kern_rwlock.c
>> cvs rdiff -u -r1.12 -r1.13 src/sys/sys/rwlock.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/kern_rwlock.c
>> diff -u src/sys/kern/kern_rwlock.c:1.60 src/sys/kern/kern_rwlock.c:1.61
>> --- src/sys/kern/kern_rwlock.c:1.60  Sun Jan 12 18:37:10 2020
>> +++ src/sys/kern/kern_rwlock.c   Sun Jan 19 18:34:24 2020
>> @@ -1,4 +1,4 @@
>> -/*  $NetBSD: kern_rwlock.c,v 1.60 2020/01/12 18:37:10 ad Exp $  */
>> +/*  $NetBSD: kern_rwlock.c,v 1.61 2020/01/19 18:34:24 ad Exp $  */
>>  
>>  /*-
>>   * Copyright (c) 2002, 2006, 2007, 2008, 2009, 2019, 2020
>> @@ -39,7 +39,9 @@
>>   */
>>  
>>  #include 
>> -__KERNEL_RCSID(0, "$NetBSD: kern_rwlock.c,v 1.60 2020/01/12 18:37:10 ad Exp 
>> $");
>> +__KERNEL_RCSID(0, "$NetBSD: kern_rwlock.c,v 1.61 2020/01/19 18:34:24 ad Exp 
>> $");
>> +
>> +#include "opt_lockdebug.h"
>>  
>>  #define __RWLOCK_PRIVATE
>>  
>> @@ -63,58 +65,32 @@ __KERNEL_RCSID(0, "$NetBSD: kern_rwlock.
>>   * LOCKDEBUG
>>   */
>>  
>> -#if defined(LOCKDEBUG)
>> -
>> -#define RW_WANTLOCK(rw, op) 
>> \
>> -LOCKDEBUG_WANTLOCK(RW_DEBUG_P(rw), (rw),\
>> -(uintptr_t)__builtin_return_address(0), op == RW_READER);
>> -#define RW_LOCKED(rw, op)   
>> \
>> -LOCKDEBUG_LOCKED(RW_DEBUG_P(rw), (rw), NULL,\
>> -(uintptr_t)__builtin_return_address(0), op == RW_READER);
>> -#define RW_UNLOCKED(rw, op) 
>> \
>> -LOCKDEBUG_UNLOCKED(RW_DEBUG_P(rw), (rw),\
>> -(uintptr_t)__builtin_return_address(0), op == RW_READER);
>> -#define RW_DASSERT(rw, cond)
>> \
>> -do {
>> \
>> -if (__predict_false(!(cond)))   \
>> -rw_abort(__func__, __LINE__, rw, "assertion failed: " #cond);\
>> -} while (/* CONSTCOND */ 0);
>> -
>> -#else   /* LOCKDEBUG */
>> -
>> -#define RW_WANTLOCK(rw, op) /* nothing */
>> -#define RW_LOCKED(rw, op)   /* nothing */
>> -#define RW_UNLOCKED(rw, op) /* nothing */
>> -#define RW_DASSERT(rw, cond)/* nothing */
>> +#define RW_DEBUG_P(rw)  (((rw)->rw_owner & RW_NODEBUG) == 0)
>>  
>> -#endif  /* LOCKDEBUG */
>> +#define RW_WANTLOCK(rw, op) \
>> +LOCKDEBUG_WANTLOCK(RW_DEBUG_P(rw), (rw), \
>> +(uintptr_t)__builtin_return_address(0), op == RW_READER);
>> +#define RW_LOCKED(rw, op) \
>> +LOCKDEBUG_LOCKED(RW_DEBUG_P(rw), (rw), NULL, \
>> +(uintptr_t)__builtin_return_address(0), op == RW_READER);
>> +#define RW_UNLOCKED(rw, op) \
>> +LOCKDEBUG_UNLOCKED(RW_DEBUG_P(rw), (rw), \
>> +(uintptr_t)__builtin_return_address(0), op == RW_READER);
>>  
>>  /*
>>   * DIAGNOSTIC
>>   */
>>  
>>  #if defined(DIAGNOSTIC)
>> -
>> -#define RW_ASSERT(rw, cond) 
>> \
>> -do {
>> \
>> -if (__predict_false(!(cond)))   \
>> +#define RW_ASSERT(rw, cond) \
>> +do { \
>> +if (__predict_false(!(cond))) \
>>  rw_abort(__func__, __LINE__, rw, "assertion failed: " #cond);\
>>  } while (/* CONSTCOND */ 0)
>> -
>>  #else
>> -
>>  #define RW_ASSERT(rw, cond) /* nothing */
>> -
>>  #endif  /* DIAGNOSTIC */
>>  
>> -#define RW_SETDEBUG(rw, on) ((rw)->rw_owner |= (on) ? 0 : 
>> RW_NODEBUG)
>> -#define 

Re: CVS commit: src/sys

2020-01-19 Thread Ryo ONODERA
Hi,

After this commit, the kernel stalls just before root file system
will be found on my NetBSD/amd64 laptop.

Reverting
src/sys/kern/kern_rwlock.c to r1.60
and
src/sys/sys/rwlock.h to r1.12
in latest -current tree and I can get the kernel that works like
before.

And on another laptop, the problematic kernel stalls before root file
system detection like my laptop.

It may be universal problem.

Could you take a look at this problem?

Thank you.

"Andrew Doran"  writes:

> Module Name:  src
> Committed By: ad
> Date: Sun Jan 19 18:34:24 UTC 2020
>
> Modified Files:
>   src/sys/kern: kern_rwlock.c
>   src/sys/sys: rwlock.h
>
> Log Message:
> Tidy rwlocks a bit, no functional change intended.  Mainly:
>
> - rw_downgrade(): do it in a for () loop like all the others.
> - Explicitly carry around RW_NODEBUG - don't be lazy.
> - Remove pointless macros.
> - Don't make assertions conditional on LOCKDEBUG, there's no reason.
> - Make space for a new flag bit (not added yet).
>
>
> To generate a diff of this commit:
> cvs rdiff -u -r1.60 -r1.61 src/sys/kern/kern_rwlock.c
> cvs rdiff -u -r1.12 -r1.13 src/sys/sys/rwlock.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/kern_rwlock.c
> diff -u src/sys/kern/kern_rwlock.c:1.60 src/sys/kern/kern_rwlock.c:1.61
> --- src/sys/kern/kern_rwlock.c:1.60   Sun Jan 12 18:37:10 2020
> +++ src/sys/kern/kern_rwlock.cSun Jan 19 18:34:24 2020
> @@ -1,4 +1,4 @@
> -/*   $NetBSD: kern_rwlock.c,v 1.60 2020/01/12 18:37:10 ad Exp $  */
> +/*   $NetBSD: kern_rwlock.c,v 1.61 2020/01/19 18:34:24 ad Exp $  */
>  
>  /*-
>   * Copyright (c) 2002, 2006, 2007, 2008, 2009, 2019, 2020
> @@ -39,7 +39,9 @@
>   */
>  
>  #include 
> -__KERNEL_RCSID(0, "$NetBSD: kern_rwlock.c,v 1.60 2020/01/12 18:37:10 ad Exp 
> $");
> +__KERNEL_RCSID(0, "$NetBSD: kern_rwlock.c,v 1.61 2020/01/19 18:34:24 ad Exp 
> $");
> +
> +#include "opt_lockdebug.h"
>  
>  #define  __RWLOCK_PRIVATE
>  
> @@ -63,58 +65,32 @@ __KERNEL_RCSID(0, "$NetBSD: kern_rwlock.
>   * LOCKDEBUG
>   */
>  
> -#if defined(LOCKDEBUG)
> -
> -#define  RW_WANTLOCK(rw, op) 
> \
> - LOCKDEBUG_WANTLOCK(RW_DEBUG_P(rw), (rw),\
> - (uintptr_t)__builtin_return_address(0), op == RW_READER);
> -#define  RW_LOCKED(rw, op)   
> \
> - LOCKDEBUG_LOCKED(RW_DEBUG_P(rw), (rw), NULL,\
> - (uintptr_t)__builtin_return_address(0), op == RW_READER);
> -#define  RW_UNLOCKED(rw, op) 
> \
> - LOCKDEBUG_UNLOCKED(RW_DEBUG_P(rw), (rw),\
> - (uintptr_t)__builtin_return_address(0), op == RW_READER);
> -#define  RW_DASSERT(rw, cond)
> \
> -do { \
> - if (__predict_false(!(cond)))   \
> - rw_abort(__func__, __LINE__, rw, "assertion failed: " #cond);\
> -} while (/* CONSTCOND */ 0);
> -
> -#else/* LOCKDEBUG */
> -
> -#define  RW_WANTLOCK(rw, op) /* nothing */
> -#define  RW_LOCKED(rw, op)   /* nothing */
> -#define  RW_UNLOCKED(rw, op) /* nothing */
> -#define  RW_DASSERT(rw, cond)/* nothing */
> +#define  RW_DEBUG_P(rw)  (((rw)->rw_owner & RW_NODEBUG) == 0)
>  
> -#endif   /* LOCKDEBUG */
> +#define  RW_WANTLOCK(rw, op) \
> +LOCKDEBUG_WANTLOCK(RW_DEBUG_P(rw), (rw), \
> +(uintptr_t)__builtin_return_address(0), op == RW_READER);
> +#define  RW_LOCKED(rw, op) \
> +LOCKDEBUG_LOCKED(RW_DEBUG_P(rw), (rw), NULL, \
> +(uintptr_t)__builtin_return_address(0), op == RW_READER);
> +#define  RW_UNLOCKED(rw, op) \
> +LOCKDEBUG_UNLOCKED(RW_DEBUG_P(rw), (rw), \
> +(uintptr_t)__builtin_return_address(0), op == RW_READER);
>  
>  /*
>   * DIAGNOSTIC
>   */
>  
>  #if defined(DIAGNOSTIC)
> -
> -#define  RW_ASSERT(rw, cond) 
> \
> -do { \
> - if (__predict_false(!(cond)))   \
> +#define  RW_ASSERT(rw, cond) \
> +do { \
> + if (__predict_false(!(cond))) \
>   rw_abort(__func__, __LINE__, rw, "assertion failed: " #cond);\
>  } while (/* CONSTCOND */ 0)
> -
>  #else
> -
>  #define  RW_ASSERT(rw, cond) /* nothing */
> -
>  #endif   /* DIAGNOSTIC */
>  
> -#define  RW_SETDEBUG(rw, on) ((rw)->rw_owner |= (on) ? 0 : 
> RW_NODEBUG)
> -#define  RW_DEBUG_P(rw)  (((rw)->rw_owner & RW_NODEBUG) 
> == 0)
> -#if defined(LOCKDEBUG)
> -#define  RW_INHERITDEBUG(n, o)   (n) |= (o) & RW_NODEBUG
> -#else /* defined(LOCKDEBUG) */
> -#define  

CVS commit: src/sys/kern

2020-01-19 Thread Chuck Silvers
Module Name:src
Committed By:   chs
Date:   Sun Jan 19 23:49:32 UTC 2020

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

Log Message:
fix assertions about when it is ok for pool_get() to return NULL.


To generate a diff of this commit:
cvs rdiff -u -r1.264 -r1.265 src/sys/kern/subr_pool.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/subr_pool.c
diff -u src/sys/kern/subr_pool.c:1.264 src/sys/kern/subr_pool.c:1.265
--- src/sys/kern/subr_pool.c:1.264	Fri Dec 27 15:49:20 2019
+++ src/sys/kern/subr_pool.c	Sun Jan 19 23:49:32 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: subr_pool.c,v 1.264 2019/12/27 15:49:20 maxv Exp $	*/
+/*	$NetBSD: subr_pool.c,v 1.265 2020/01/19 23:49:32 chs Exp $	*/
 
 /*
  * Copyright (c) 1997, 1999, 2000, 2002, 2007, 2008, 2010, 2014, 2015, 2018
@@ -33,7 +33,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: subr_pool.c,v 1.264 2019/12/27 15:49:20 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: subr_pool.c,v 1.265 2020/01/19 23:49:32 chs Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_ddb.h"
@@ -1145,7 +1145,7 @@ pool_get(struct pool *pp, int flags)
 
 			pp->pr_nfail++;
 			mutex_exit(>pr_lock);
-			KASSERT((flags & (PR_WAITOK|PR_NOWAIT)) == PR_NOWAIT);
+			KASSERT((flags & (PR_NOWAIT|PR_LIMITFAIL)) != 0);
 			return NULL;
 		}
 
@@ -2509,7 +2509,7 @@ pool_cache_get_slow(pool_cache_cpu_t *cc
 	object = pool_get(>pc_pool, flags);
 	*objectp = object;
 	if (__predict_false(object == NULL)) {
-		KASSERT((flags & (PR_WAITOK|PR_NOWAIT)) == PR_NOWAIT);
+		KASSERT((flags & (PR_NOWAIT|PR_LIMITFAIL)) != 0);
 		return false;
 	}
 



CVS commit: src/sys/kern

2020-01-19 Thread Chuck Silvers
Module Name:src
Committed By:   chs
Date:   Sun Jan 19 23:49:32 UTC 2020

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

Log Message:
fix assertions about when it is ok for pool_get() to return NULL.


To generate a diff of this commit:
cvs rdiff -u -r1.264 -r1.265 src/sys/kern/subr_pool.c

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



CVS commit: [ad-namecache] src/sys/sys

2020-01-19 Thread Andrew Doran
Module Name:src
Committed By:   ad
Date:   Sun Jan 19 21:24:01 UTC 2020

Modified Files:
src/sys/sys [ad-namecache]: namei.h

Log Message:
Regen.


To generate a diff of this commit:
cvs rdiff -u -r1.103.2.3 -r1.103.2.4 src/sys/sys/namei.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/namei.h
diff -u src/sys/sys/namei.h:1.103.2.3 src/sys/sys/namei.h:1.103.2.4
--- src/sys/sys/namei.h:1.103.2.3	Fri Jan 17 21:47:37 2020
+++ src/sys/sys/namei.h	Sun Jan 19 21:24:01 2020
@@ -1,11 +1,11 @@
-/*	$NetBSD: namei.h,v 1.103.2.3 2020/01/17 21:47:37 ad Exp $	*/
+/*	$NetBSD: namei.h,v 1.103.2.4 2020/01/19 21:24:01 ad Exp $	*/
 
 
 /*
  * WARNING: GENERATED FILE.  DO NOT EDIT
  * (edit namei.src and run make namei in src/sys/sys)
  *   by:   NetBSD: gennameih.awk,v 1.5 2009/12/23 14:17:19 pooka Exp 
- *   from: NetBSD: namei.src,v 1.47.2.3 2020/01/14 11:07:40 ad Exp 
+ *   from: NetBSD: namei.src,v 1.47.2.5 2020/01/19 21:19:25 ad Exp 
  */
 
 /*
@@ -47,6 +47,7 @@
 
 #ifdef _KERNEL
 #include 
+#include 
 
 /*
  * Abstraction for a single pathname.
@@ -159,13 +160,14 @@ struct nameidata {
 	   (pseudo) */
 #define	EMULROOTSET	0x0080	/* emulation root already
 	   in ni_erootdir */
+#define	LOCKSHARED	0x0100	/* want shared locks if possible */
 #define	NOCHROOT	0x0100	/* no chroot on abs path lookups */
-#define	MODMASK		0x01fc	/* mask of operational modifiers */
+#define	MODMASK		0x010001fc	/* mask of operational modifiers */
 /*
  * Namei parameter descriptors.
  */
-#define	NOCROSSMOUNT	0x100	/* do not cross mount points */
-#define	RDONLY		0x200	/* lookup with read-only semantics */
+#define	NOCROSSMOUNT	0x800	/* do not cross mount points */
+#define	RDONLY		0x0001000	/* lookup with read-only semantics */
 #define	ISDOTDOT	0x0002000	/* current component name is .. */
 #define	MAKEENTRY	0x0004000	/* entry is to be added to name cache */
 #define	ISLASTCN	0x0008000	/* this is last component of pathname */
@@ -173,7 +175,7 @@ struct nameidata {
 #define	DOWHITEOUT	0x004	/* do whiteouts */
 #define	REQUIREDIR	0x008	/* must be a directory */
 #define	CREATEDIR	0x020	/* trailing slashes are ok */
-#define	PARAMASK	0x02ee300	/* mask of parameter descriptors */
+#define	PARAMASK	0x02ef800	/* mask of parameter descriptors */
 
 /*
  * Initialization of a nameidata structure.
@@ -209,7 +211,8 @@ struct nameidata {
  *
  * This structure describes the elements in the cache of recent names looked
  * up by namei.  It's carefully sized to take up 128 bytes on _LP64, to make
- * good use of space and the CPU caches.
+ * good use of space and the CPU caches; nc_name is aligned on an 8-byte
+ * boundary to make string comparisons cheaper.
  *
  * Field markings and their corresponding locks:
  *
@@ -219,16 +222,19 @@ struct nameidata {
  * l  protected by cache_lru_lock
  * u  accesses are unlocked, no serialization applied
  */
+struct nchnode;
 struct namecache {
-	struct rb_node nc_node;		/* d  red-black tree node */
+	struct	rb_node nc_tree;	/* d  red-black tree, must be first */
+	TAILQ_ENTRY(namecache) nc_list;	/* v  vp's list of cache entries */
 	TAILQ_ENTRY(namecache) nc_lru;	/* l  pseudo-lru chain */
-	TAILQ_ENTRY(namecache) nc_vlist;/* v  vp's list of cache entries */
-	struct	vnode *nc_dvp;		/* -  vnode of parent of name */
+	struct	nchnode *nc_dnn;	/* -  nchnode of parent of name */
+	struct	nchnode *nc_nn;		/* -  nchnode the name refers to */
 	struct	vnode *nc_vp;		/* -  vnode the name refers to */
+	int64_t	nc_key;			/* -  hash key */
 	int	nc_lrulist;		/* l  which LRU list its on */
-	u_short	nc_nlen;		/* -  length of name */
-	bool	nc_whiteout;		/* -  true if a whiteout */
-	char	nc_name[49];		/* -  segment name */
+	short	nc_nlen;		/* -  length of the name */
+	char	nc_whiteout;		/* -  true if a whiteout */
+	char	nc_name[33];		/* -  segment name */
 };
 #endif
 
@@ -292,9 +298,16 @@ bool	cache_lookup(struct vnode *, const 
 			int *, struct vnode **);
 bool	cache_lookup_raw(struct vnode *, const char *, size_t, uint32_t,
 			int *, struct vnode **);
-int	cache_revlookup(struct vnode *, struct vnode **, char **, char *);
+bool	cache_lookup_linked(struct vnode *, const char *, size_t,
+			struct vnode **, krwlock_t **, kauth_cred_t);
+int	cache_revlookup(struct vnode *, struct vnode **, char **, char *,
+			bool, int);
+int	cache_diraccess(struct vnode *, int);
 void	cache_enter(struct vnode *, struct vnode *,
 			const char *, size_t, uint32_t);
+void	cache_set_id(struct vnode *, mode_t, uid_t, gid_t);
+void	cache_update_id(struct vnode *, mode_t, uid_t, gid_t);
+bool	cache_have_id(struct vnode *);
 void	cache_vnode_init(struct vnode * );
 void	cache_vnode_fini(struct vnode * );
 void	cache_cpu_init(struct cpu_info *);
@@ -326,6 +339,10 @@ void	namecache_print(struct vnode *, voi
 	type	ncs_2passes;	/* number of times we attempt it (U) */	\
 	

CVS commit: [ad-namecache] src/sys/sys

2020-01-19 Thread Andrew Doran
Module Name:src
Committed By:   ad
Date:   Sun Jan 19 21:24:01 UTC 2020

Modified Files:
src/sys/sys [ad-namecache]: namei.h

Log Message:
Regen.


To generate a diff of this commit:
cvs rdiff -u -r1.103.2.3 -r1.103.2.4 src/sys/sys/namei.h

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



CVS commit: [ad-namecache] src/sys/kern

2020-01-19 Thread Andrew Doran
Module Name:src
Committed By:   ad
Date:   Sun Jan 19 21:23:36 UTC 2020

Modified Files:
src/sys/kern [ad-namecache]: vfs_syscalls.c vfs_vnops.c

Log Message:
Use LOCKLEAF in the few cases it's useful for ffs/tmpfs/nullfs.  Others need
to be checked.


To generate a diff of this commit:
cvs rdiff -u -r1.539.2.1 -r1.539.2.2 src/sys/kern/vfs_syscalls.c
cvs rdiff -u -r1.204.2.1 -r1.204.2.2 src/sys/kern/vfs_vnops.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/vfs_syscalls.c
diff -u src/sys/kern/vfs_syscalls.c:1.539.2.1 src/sys/kern/vfs_syscalls.c:1.539.2.2
--- src/sys/kern/vfs_syscalls.c:1.539.2.1	Fri Jan 17 21:47:35 2020
+++ src/sys/kern/vfs_syscalls.c	Sun Jan 19 21:23:36 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: vfs_syscalls.c,v 1.539.2.1 2020/01/17 21:47:35 ad Exp $	*/
+/*	$NetBSD: vfs_syscalls.c,v 1.539.2.2 2020/01/19 21:23:36 ad Exp $	*/
 
 /*-
  * Copyright (c) 2008, 2009, 2019 The NetBSD Foundation, Inc.
@@ -70,7 +70,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: vfs_syscalls.c,v 1.539.2.1 2020/01/17 21:47:35 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vfs_syscalls.c,v 1.539.2.2 2020/01/19 21:23:36 ad Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_fileassoc.h"
@@ -1532,7 +1532,7 @@ chdir_lookup(const char *path, int where
 	if (error) {
 		return error;
 	}
-	NDINIT(, LOOKUP, FOLLOW | LOCKLEAF | TRYEMULROOT, pb);
+	NDINIT(, LOOKUP, FOLLOW | LOCKLEAF | LOCKSHARED | TRYEMULROOT, pb);
 	if ((error = namei()) != 0) {
 		pathbuf_destroy(pb);
 		return error;
@@ -2996,7 +2996,7 @@ do_sys_accessat(struct lwp *l, int fdat,
 		return EINVAL;
 	}
 
-	nd_flag = FOLLOW | LOCKLEAF | TRYEMULROOT;
+	nd_flag = FOLLOW | LOCKLEAF | LOCKSHARED | TRYEMULROOT;
 	if (flags & AT_SYMLINK_NOFOLLOW)
 		nd_flag &= ~FOLLOW;
 
@@ -3222,7 +3222,7 @@ do_sys_readlinkat(struct lwp *l, int fda
 	if (error) {
 		return error;
 	}
-	NDINIT(, LOOKUP, NOFOLLOW | LOCKLEAF | TRYEMULROOT, pb);
+	NDINIT(, LOOKUP, NOFOLLOW | LOCKLEAF | LOCKSHARED | TRYEMULROOT, pb);
 	if ((error = fd_nameiat(l, fdat, )) != 0) {
 		pathbuf_destroy(pb);
 		return error;

Index: src/sys/kern/vfs_vnops.c
diff -u src/sys/kern/vfs_vnops.c:1.204.2.1 src/sys/kern/vfs_vnops.c:1.204.2.2
--- src/sys/kern/vfs_vnops.c:1.204.2.1	Fri Jan 17 21:47:35 2020
+++ src/sys/kern/vfs_vnops.c	Sun Jan 19 21:23:36 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: vfs_vnops.c,v 1.204.2.1 2020/01/17 21:47:35 ad Exp $	*/
+/*	$NetBSD: vfs_vnops.c,v 1.204.2.2 2020/01/19 21:23:36 ad Exp $	*/
 
 /*-
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -66,7 +66,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: vfs_vnops.c,v 1.204.2.1 2020/01/17 21:47:35 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vfs_vnops.c,v 1.204.2.2 2020/01/19 21:23:36 ad Exp $");
 
 #include "veriexec.h"
 
@@ -163,7 +163,10 @@ vn_open(struct nameidata *ndp, int fmode
 			ndp->ni_cnd.cn_flags |= FOLLOW;
 	} else {
 		ndp->ni_cnd.cn_nameiop = LOOKUP;
-		ndp->ni_cnd.cn_flags |= LOCKLEAF;
+		if ((fmode & O_TRUNC) == 0) /* XXXAD check nfs etc */
+			ndp->ni_cnd.cn_flags |= LOCKLEAF | LOCKSHARED;
+		else
+			ndp->ni_cnd.cn_flags |= LOCKLEAF;
 		if ((fmode & O_NOFOLLOW) == 0)
 			ndp->ni_cnd.cn_flags |= FOLLOW;
 	}



CVS commit: [ad-namecache] src/sys/kern

2020-01-19 Thread Andrew Doran
Module Name:src
Committed By:   ad
Date:   Sun Jan 19 21:23:36 UTC 2020

Modified Files:
src/sys/kern [ad-namecache]: vfs_syscalls.c vfs_vnops.c

Log Message:
Use LOCKLEAF in the few cases it's useful for ffs/tmpfs/nullfs.  Others need
to be checked.


To generate a diff of this commit:
cvs rdiff -u -r1.539.2.1 -r1.539.2.2 src/sys/kern/vfs_syscalls.c
cvs rdiff -u -r1.204.2.1 -r1.204.2.2 src/sys/kern/vfs_vnops.c

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



CVS commit: [ad-namecache] src/sys

2020-01-19 Thread Andrew Doran
Module Name:src
Committed By:   ad
Date:   Sun Jan 19 21:21:56 UTC 2020

Modified Files:
src/sys/fs/cd9660 [ad-namecache]: cd9660_lookup.c cd9660_vfsops.c
src/sys/fs/msdosfs [ad-namecache]: msdosfs_lookup.c msdosfs_vfsops.c
src/sys/fs/tmpfs [ad-namecache]: tmpfs_vfsops.c
src/sys/miscfs/genfs [ad-namecache]: layer_vnops.c
src/sys/miscfs/nullfs [ad-namecache]: null_vfsops.c
src/sys/miscfs/procfs [ad-namecache]: procfs_vfsops.c
src/sys/ufs/chfs [ad-namecache]: chfs_vnops.c
src/sys/ufs/ext2fs [ad-namecache]: ext2fs_lookup.c ext2fs_vfsops.c
src/sys/ufs/ffs [ad-namecache]: ffs_vfsops.c
src/sys/ufs/lfs [ad-namecache]: lfs_vfsops.c ulfs_lookup.c
src/sys/ufs/ufs [ad-namecache]: ufs_lookup.c

Log Message:
Set IMNT_SHRLOOKUP and use it for the in-cache case.  Need to check what
more can be done with tmpfs though, it can probably do the whole lookup.


To generate a diff of this commit:
cvs rdiff -u -r1.30 -r1.30.24.1 src/sys/fs/cd9660/cd9660_lookup.c
cvs rdiff -u -r1.93.18.1 -r1.93.18.2 src/sys/fs/cd9660/cd9660_vfsops.c
cvs rdiff -u -r1.35 -r1.35.24.1 src/sys/fs/msdosfs/msdosfs_lookup.c
cvs rdiff -u -r1.130.6.1 -r1.130.6.2 src/sys/fs/msdosfs/msdosfs_vfsops.c
cvs rdiff -u -r1.75.2.1 -r1.75.2.2 src/sys/fs/tmpfs/tmpfs_vfsops.c
cvs rdiff -u -r1.67 -r1.67.12.1 src/sys/miscfs/genfs/layer_vnops.c
cvs rdiff -u -r1.96 -r1.96.2.1 src/sys/miscfs/nullfs/null_vfsops.c
cvs rdiff -u -r1.101.6.1 -r1.101.6.2 src/sys/miscfs/procfs/procfs_vfsops.c
cvs rdiff -u -r1.34.4.1 -r1.34.4.2 src/sys/ufs/chfs/chfs_vnops.c
cvs rdiff -u -r1.88 -r1.88.22.1 src/sys/ufs/ext2fs/ext2fs_lookup.c
cvs rdiff -u -r1.214.4.1 -r1.214.4.2 src/sys/ufs/ext2fs/ext2fs_vfsops.c
cvs rdiff -u -r1.362.4.2 -r1.362.4.3 src/sys/ufs/ffs/ffs_vfsops.c
cvs rdiff -u -r1.367.2.1 -r1.367.2.2 src/sys/ufs/lfs/lfs_vfsops.c
cvs rdiff -u -r1.41 -r1.41.12.1 src/sys/ufs/lfs/ulfs_lookup.c
cvs rdiff -u -r1.150 -r1.150.4.1 src/sys/ufs/ufs/ufs_lookup.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/fs/cd9660/cd9660_lookup.c
diff -u src/sys/fs/cd9660/cd9660_lookup.c:1.30 src/sys/fs/cd9660/cd9660_lookup.c:1.30.24.1
--- src/sys/fs/cd9660/cd9660_lookup.c:1.30	Sat Mar 28 19:24:05 2015
+++ src/sys/fs/cd9660/cd9660_lookup.c	Sun Jan 19 21:21:54 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: cd9660_lookup.c,v 1.30 2015/03/28 19:24:05 maxv Exp $	*/
+/*	$NetBSD: cd9660_lookup.c,v 1.30.24.1 2020/01/19 21:21:54 ad Exp $	*/
 
 /*-
  * Copyright (c) 1989, 1993, 1994
@@ -39,7 +39,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: cd9660_lookup.c,v 1.30 2015/03/28 19:24:05 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cd9660_lookup.c,v 1.30.24.1 2020/01/19 21:21:54 ad Exp $");
 
 #include 
 #include 
@@ -152,6 +152,9 @@ cd9660_lookup(void *v)
 			 cnp->cn_nameiop, cnp->cn_flags, NULL, vpp)) {
 		return *vpp == NULLVP ? ENOENT : 0;
 	}
+	/* May need to restart the lookup with an exclusive lock. */
+	if (VOP_ISLOCKED(vdp) != LK_EXCLUSIVE)
+		return ENOLCK;
 
 	len = cnp->cn_namelen;
 	name = cnp->cn_nameptr;

Index: src/sys/fs/cd9660/cd9660_vfsops.c
diff -u src/sys/fs/cd9660/cd9660_vfsops.c:1.93.18.1 src/sys/fs/cd9660/cd9660_vfsops.c:1.93.18.2
--- src/sys/fs/cd9660/cd9660_vfsops.c:1.93.18.1	Fri Jan 17 21:47:33 2020
+++ src/sys/fs/cd9660/cd9660_vfsops.c	Sun Jan 19 21:21:54 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: cd9660_vfsops.c,v 1.93.18.1 2020/01/17 21:47:33 ad Exp $	*/
+/*	$NetBSD: cd9660_vfsops.c,v 1.93.18.2 2020/01/19 21:21:54 ad Exp $	*/
 
 /*-
  * Copyright (c) 1994
@@ -37,7 +37,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: cd9660_vfsops.c,v 1.93.18.1 2020/01/17 21:47:33 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cd9660_vfsops.c,v 1.93.18.2 2020/01/19 21:21:54 ad Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_compat_netbsd.h"
@@ -444,7 +444,7 @@ iso_mountfs(struct vnode *devvp, struct 
 	mp->mnt_stat.f_fsid = mp->mnt_stat.f_fsidx.__fsid_val[0];
 	mp->mnt_stat.f_namemax = ISO_MAXNAMLEN;
 	mp->mnt_flag |= MNT_LOCAL;
-	mp->mnt_iflag |= IMNT_MPSAFE;
+	mp->mnt_iflag |= IMNT_MPSAFE | IMNT_SHRLOOKUP;
 	mp->mnt_dev_bshift = iso_bsize;
 	mp->mnt_fs_bshift = isomp->im_bshift;
 	isomp->im_mountp = mp;

Index: src/sys/fs/msdosfs/msdosfs_lookup.c
diff -u src/sys/fs/msdosfs/msdosfs_lookup.c:1.35 src/sys/fs/msdosfs/msdosfs_lookup.c:1.35.24.1
--- src/sys/fs/msdosfs/msdosfs_lookup.c:1.35	Sat Jan 30 09:59:27 2016
+++ src/sys/fs/msdosfs/msdosfs_lookup.c	Sun Jan 19 21:21:54 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: msdosfs_lookup.c,v 1.35 2016/01/30 09:59:27 mlelstv Exp $	*/
+/*	$NetBSD: msdosfs_lookup.c,v 1.35.24.1 2020/01/19 21:21:54 ad Exp $	*/
 
 /*-
  * Copyright (C) 1994, 1995, 1997 Wolfgang Solfrank.
@@ -52,7 +52,7 @@
 #endif
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: msdosfs_lookup.c,v 1.35 2016/01/30 09:59:27 mlelstv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: msdosfs_lookup.c,v 1.35.24.1 2020/01/19 21:21:54 ad Exp $");
 
 #include 
 
@@ -161,6 

CVS commit: [ad-namecache] src/sys

2020-01-19 Thread Andrew Doran
Module Name:src
Committed By:   ad
Date:   Sun Jan 19 21:21:56 UTC 2020

Modified Files:
src/sys/fs/cd9660 [ad-namecache]: cd9660_lookup.c cd9660_vfsops.c
src/sys/fs/msdosfs [ad-namecache]: msdosfs_lookup.c msdosfs_vfsops.c
src/sys/fs/tmpfs [ad-namecache]: tmpfs_vfsops.c
src/sys/miscfs/genfs [ad-namecache]: layer_vnops.c
src/sys/miscfs/nullfs [ad-namecache]: null_vfsops.c
src/sys/miscfs/procfs [ad-namecache]: procfs_vfsops.c
src/sys/ufs/chfs [ad-namecache]: chfs_vnops.c
src/sys/ufs/ext2fs [ad-namecache]: ext2fs_lookup.c ext2fs_vfsops.c
src/sys/ufs/ffs [ad-namecache]: ffs_vfsops.c
src/sys/ufs/lfs [ad-namecache]: lfs_vfsops.c ulfs_lookup.c
src/sys/ufs/ufs [ad-namecache]: ufs_lookup.c

Log Message:
Set IMNT_SHRLOOKUP and use it for the in-cache case.  Need to check what
more can be done with tmpfs though, it can probably do the whole lookup.


To generate a diff of this commit:
cvs rdiff -u -r1.30 -r1.30.24.1 src/sys/fs/cd9660/cd9660_lookup.c
cvs rdiff -u -r1.93.18.1 -r1.93.18.2 src/sys/fs/cd9660/cd9660_vfsops.c
cvs rdiff -u -r1.35 -r1.35.24.1 src/sys/fs/msdosfs/msdosfs_lookup.c
cvs rdiff -u -r1.130.6.1 -r1.130.6.2 src/sys/fs/msdosfs/msdosfs_vfsops.c
cvs rdiff -u -r1.75.2.1 -r1.75.2.2 src/sys/fs/tmpfs/tmpfs_vfsops.c
cvs rdiff -u -r1.67 -r1.67.12.1 src/sys/miscfs/genfs/layer_vnops.c
cvs rdiff -u -r1.96 -r1.96.2.1 src/sys/miscfs/nullfs/null_vfsops.c
cvs rdiff -u -r1.101.6.1 -r1.101.6.2 src/sys/miscfs/procfs/procfs_vfsops.c
cvs rdiff -u -r1.34.4.1 -r1.34.4.2 src/sys/ufs/chfs/chfs_vnops.c
cvs rdiff -u -r1.88 -r1.88.22.1 src/sys/ufs/ext2fs/ext2fs_lookup.c
cvs rdiff -u -r1.214.4.1 -r1.214.4.2 src/sys/ufs/ext2fs/ext2fs_vfsops.c
cvs rdiff -u -r1.362.4.2 -r1.362.4.3 src/sys/ufs/ffs/ffs_vfsops.c
cvs rdiff -u -r1.367.2.1 -r1.367.2.2 src/sys/ufs/lfs/lfs_vfsops.c
cvs rdiff -u -r1.41 -r1.41.12.1 src/sys/ufs/lfs/ulfs_lookup.c
cvs rdiff -u -r1.150 -r1.150.4.1 src/sys/ufs/ufs/ufs_lookup.c

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



CVS commit: [ad-namecache] src/sys

2020-01-19 Thread Andrew Doran
Module Name:src
Committed By:   ad
Date:   Sun Jan 19 21:19:25 UTC 2020

Modified Files:
src/sys/kern [ad-namecache]: vfs_cache.c vfs_getcwd.c vfs_lookup.c
src/sys/sys [ad-namecache]: fstypes.h namei.src

Log Message:
- Add a LOCKSHARED flag to namei (matching FreeBSD) indicating that we want
  the leaf locked with LK_SHARED.

- Add an IMNT_SHRLOOKUP flag to struct mount indicating that the file
  system can do VOP_LOOKUP() with an shared lock.  If it encounters
  something tricky, VOP_LOOKUP() is free to return ENOLCK and namei() will
  retry the lookup with an exclusive lock.  If the file system has this flag
  set, namei() will try with shared locks for all of the "read only"
  lookups, i.e. nameiop=LOOKUP or !ISLASTCN.

- vfs_getcwd: only take vnode locks when really needed, take shared locks if
  possible, and where the namecache has identify info for the directories,
  do it all in the namecache.

- vfs_lookup: when crossing mountpoints take only a shared lock on the
  covered vnode; don't need anything else.


To generate a diff of this commit:
cvs rdiff -u -r1.126.2.8 -r1.126.2.9 src/sys/kern/vfs_cache.c
cvs rdiff -u -r1.53.2.2 -r1.53.2.3 src/sys/kern/vfs_getcwd.c
cvs rdiff -u -r1.212.4.3 -r1.212.4.4 src/sys/kern/vfs_lookup.c
cvs rdiff -u -r1.37 -r1.37.6.1 src/sys/sys/fstypes.h
cvs rdiff -u -r1.47.2.4 -r1.47.2.5 src/sys/sys/namei.src

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



CVS commit: [ad-namecache] src/sys

2020-01-19 Thread Andrew Doran
Module Name:src
Committed By:   ad
Date:   Sun Jan 19 21:19:25 UTC 2020

Modified Files:
src/sys/kern [ad-namecache]: vfs_cache.c vfs_getcwd.c vfs_lookup.c
src/sys/sys [ad-namecache]: fstypes.h namei.src

Log Message:
- Add a LOCKSHARED flag to namei (matching FreeBSD) indicating that we want
  the leaf locked with LK_SHARED.

- Add an IMNT_SHRLOOKUP flag to struct mount indicating that the file
  system can do VOP_LOOKUP() with an shared lock.  If it encounters
  something tricky, VOP_LOOKUP() is free to return ENOLCK and namei() will
  retry the lookup with an exclusive lock.  If the file system has this flag
  set, namei() will try with shared locks for all of the "read only"
  lookups, i.e. nameiop=LOOKUP or !ISLASTCN.

- vfs_getcwd: only take vnode locks when really needed, take shared locks if
  possible, and where the namecache has identify info for the directories,
  do it all in the namecache.

- vfs_lookup: when crossing mountpoints take only a shared lock on the
  covered vnode; don't need anything else.


To generate a diff of this commit:
cvs rdiff -u -r1.126.2.8 -r1.126.2.9 src/sys/kern/vfs_cache.c
cvs rdiff -u -r1.53.2.2 -r1.53.2.3 src/sys/kern/vfs_getcwd.c
cvs rdiff -u -r1.212.4.3 -r1.212.4.4 src/sys/kern/vfs_lookup.c
cvs rdiff -u -r1.37 -r1.37.6.1 src/sys/sys/fstypes.h
cvs rdiff -u -r1.47.2.4 -r1.47.2.5 src/sys/sys/namei.src

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/vfs_cache.c
diff -u src/sys/kern/vfs_cache.c:1.126.2.8 src/sys/kern/vfs_cache.c:1.126.2.9
--- src/sys/kern/vfs_cache.c:1.126.2.8	Sat Jan 18 17:16:20 2020
+++ src/sys/kern/vfs_cache.c	Sun Jan 19 21:19:25 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: vfs_cache.c,v 1.126.2.8 2020/01/18 17:16:20 ad Exp $	*/
+/*	$NetBSD: vfs_cache.c,v 1.126.2.9 2020/01/19 21:19:25 ad Exp $	*/
 
 /*-
  * Copyright (c) 2008, 2019, 2020 The NetBSD Foundation, Inc.
@@ -148,7 +148,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: vfs_cache.c,v 1.126.2.8 2020/01/18 17:16:20 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vfs_cache.c,v 1.126.2.9 2020/01/19 21:19:25 ad Exp $");
 
 #define __NAMECACHE_PRIVATE
 #ifdef _KERNEL_OPT
@@ -326,11 +326,15 @@ cache_key(const char *name, size_t nlen)
 	KASSERT(nlen <= USHRT_MAX);
 
 	key = hash32_buf(name, nlen, HASH32_STR_INIT);
-	return (key << 16) | nlen;
+	return (key << 32) | nlen;
 }
 
 /*
- * Like memcmp() but tuned for small strings of equal length.
+ * Like bcmp() but tuned for the use case here which is:
+ *
+ * - always of equal length both sides
+ * - almost always the same string both sides
+ * - small strings
  */
 static inline int
 cache_namecmp(struct namecache *nc, const char *name, size_t namelen)
@@ -743,7 +747,8 @@ cache_lookup_linked(struct vnode *dvp, c
  * Returns 0 on success, -1 on cache miss, positive errno on failure.
  */
 int
-cache_revlookup(struct vnode *vp, struct vnode **dvpp, char **bpp, char *bufp)
+cache_revlookup(struct vnode *vp, struct vnode **dvpp, char **bpp, char *bufp,
+bool checkaccess, int perms)
 {
 	struct nchnode *nn = VNODE_TO_VIMPL(vp)->vi_ncache;
 	struct namecache *nc;
@@ -757,6 +762,27 @@ cache_revlookup(struct vnode *vp, struct
 		goto out;
 
 	rw_enter(>nn_listlock, RW_READER);
+	if (checkaccess) {
+		/*
+		 * Check if the user is allowed to see.  NOTE: this is
+		 * checking for access on the "wrong" directory.  getcwd()
+		 * wants to see that there is access on every component
+		 * along the way, not that there is access to any individual
+		 * component.
+		 */
+		KASSERT(nn->nn_mode != VNOVAL && nn->nn_uid != VNOVAL &&
+		nn->nn_gid != VNOVAL);
+		error = kauth_authorize_vnode(curlwp->l_cred,
+		KAUTH_ACCESS_ACTION(VEXEC, vp->v_type, nn->nn_mode &
+		ALLPERMS), vp, NULL, genfs_can_access(vp->v_type,
+		nn->nn_mode & ALLPERMS, nn->nn_uid, nn->nn_gid,
+		perms, curlwp->l_cred));
+		if (error != 0) {
+			rw_exit(>nn_listlock);
+			COUNT(ncs_denied);
+			return EACCES;
+		}
+	}
 	TAILQ_FOREACH(nc, >nn_list, nc_list) {
 		KASSERT(nc->nc_nn == nn);
 		KASSERT(nc->nc_dnn != NULL);
@@ -931,12 +957,14 @@ cache_set_id(struct vnode *dvp, mode_t m
 
 	if (dvp->v_type == VDIR) {
 		rw_enter(>nn_lock, RW_WRITER);
+		rw_enter(>nn_listlock, RW_WRITER);
 		KASSERT(nn->nn_mode == VNOVAL);
 		KASSERT(nn->nn_uid == VNOVAL);
 		KASSERT(nn->nn_gid == VNOVAL);
 		nn->nn_mode = mode;
 		nn->nn_uid = uid;
 		nn->nn_gid = gid;
+		rw_exit(>nn_listlock);
 		rw_exit(>nn_lock);
 	}
 }
@@ -953,16 +981,30 @@ cache_update_id(struct vnode *dvp, mode_
 
 	if (dvp->v_type == VDIR) {
 		rw_enter(>nn_lock, RW_WRITER);
+		rw_enter(>nn_listlock, RW_WRITER);
 		if (nn->nn_mode != VNOVAL) {
 			nn->nn_mode = mode;
 			nn->nn_uid = uid;
 			nn->nn_gid = gid;
 		}
+		rw_exit(>nn_listlock);
 		rw_exit(>nn_lock);
 	}
 }
 
 /*
+ * Return true if we have identity for the given vnode.
+ */
+bool
+cache_have_id(struct vnode *dvp)
+{
+	struct nchnode *nn = 

CVS commit: [ad-namecache] src/sys/arch

2020-01-19 Thread Andrew Doran
Module Name:src
Committed By:   ad
Date:   Sun Jan 19 21:11:00 UTC 2020

Modified Files:
src/sys/arch/amd64/include [ad-namecache]: rwlock.h
src/sys/arch/i386/include [ad-namecache]: rwlock.h
src/sys/arch/x86/include [ad-namecache]: rwlock.h

Log Message:
empty these; remove later.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.2.144.1 src/sys/arch/amd64/include/rwlock.h
cvs rdiff -u -r1.2 -r1.2.144.1 src/sys/arch/i386/include/rwlock.h
cvs rdiff -u -r1.6 -r1.6.2.1 src/sys/arch/x86/include/rwlock.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/arch/amd64/include/rwlock.h
diff -u src/sys/arch/amd64/include/rwlock.h:1.2 src/sys/arch/amd64/include/rwlock.h:1.2.144.1
--- src/sys/arch/amd64/include/rwlock.h:1.2	Fri Feb  9 21:55:01 2007
+++ src/sys/arch/amd64/include/rwlock.h	Sun Jan 19 21:11:00 2020
@@ -1,3 +0,0 @@
-/*	$NetBSD: rwlock.h,v 1.2 2007/02/09 21:55:01 ad Exp $	*/
-
-#include 

Index: src/sys/arch/i386/include/rwlock.h
diff -u src/sys/arch/i386/include/rwlock.h:1.2 src/sys/arch/i386/include/rwlock.h:1.2.144.1
--- src/sys/arch/i386/include/rwlock.h:1.2	Fri Feb  9 21:55:05 2007
+++ src/sys/arch/i386/include/rwlock.h	Sun Jan 19 21:10:59 2020
@@ -1,3 +0,0 @@
-/*	$NetBSD: rwlock.h,v 1.2 2007/02/09 21:55:05 ad Exp $	*/
-
-#include 

Index: src/sys/arch/x86/include/rwlock.h
diff -u src/sys/arch/x86/include/rwlock.h:1.6 src/sys/arch/x86/include/rwlock.h:1.6.2.1
--- src/sys/arch/x86/include/rwlock.h:1.6	Fri Nov 29 20:04:54 2019
+++ src/sys/arch/x86/include/rwlock.h	Sun Jan 19 21:11:00 2020
@@ -1,37 +0,0 @@
-/*	$NetBSD: rwlock.h,v 1.6 2019/11/29 20:04:54 riastradh Exp $	*/
-
-/*-
- * Copyright (c) 2002, 2006 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Jason R. Thorpe and Andrew Doran.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *notice, this list of conditions and the following disclaimer in the
- *documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _X86_RWLOCK_H_
-#define	_X86_RWLOCK_H_
-
-#define	__HAVE_RW_STUBS			1
-
-#endif /* _X86_RWLOCK_H_ */



CVS commit: [ad-namecache] src/sys/arch

2020-01-19 Thread Andrew Doran
Module Name:src
Committed By:   ad
Date:   Sun Jan 19 21:11:00 UTC 2020

Modified Files:
src/sys/arch/amd64/include [ad-namecache]: rwlock.h
src/sys/arch/i386/include [ad-namecache]: rwlock.h
src/sys/arch/x86/include [ad-namecache]: rwlock.h

Log Message:
empty these; remove later.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.2.144.1 src/sys/arch/amd64/include/rwlock.h
cvs rdiff -u -r1.2 -r1.2.144.1 src/sys/arch/i386/include/rwlock.h
cvs rdiff -u -r1.6 -r1.6.2.1 src/sys/arch/x86/include/rwlock.h

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



CVS commit: [ad-namecache] src/sys

2020-01-19 Thread Andrew Doran
Module Name:src
Committed By:   ad
Date:   Sun Jan 19 21:08:30 UTC 2020

Modified Files:
src/sys/arch/amd64/amd64 [ad-namecache]: genassym.cf lock_stubs.S
src/sys/arch/i386/i386 [ad-namecache]: genassym.cf lock_stubs.S
src/sys/kern [ad-namecache]: kern_rwlock.c kern_synch.c
src/sys/sys [ad-namecache]: lwp.h

Log Message:
Adaptive rwlocks proposed on tech-kern and working well on this branch
with vnode locks.


To generate a diff of this commit:
cvs rdiff -u -r1.80.2.1 -r1.80.2.2 src/sys/arch/amd64/amd64/genassym.cf
cvs rdiff -u -r1.35 -r1.35.2.1 src/sys/arch/amd64/amd64/lock_stubs.S
cvs rdiff -u -r1.117.2.1 -r1.117.2.2 src/sys/arch/i386/i386/genassym.cf
cvs rdiff -u -r1.32 -r1.32.2.1 src/sys/arch/i386/i386/lock_stubs.S
cvs rdiff -u -r1.59.2.2 -r1.59.2.3 src/sys/kern/kern_rwlock.c
cvs rdiff -u -r1.334.2.1 -r1.334.2.2 src/sys/kern/kern_synch.c
cvs rdiff -u -r1.192.2.1 -r1.192.2.2 src/sys/sys/lwp.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/arch/amd64/amd64/genassym.cf
diff -u src/sys/arch/amd64/amd64/genassym.cf:1.80.2.1 src/sys/arch/amd64/amd64/genassym.cf:1.80.2.2
--- src/sys/arch/amd64/amd64/genassym.cf:1.80.2.1	Fri Jan 17 21:47:22 2020
+++ src/sys/arch/amd64/amd64/genassym.cf	Sun Jan 19 21:08:29 2020
@@ -1,4 +1,4 @@
-#	$NetBSD: genassym.cf,v 1.80.2.1 2020/01/17 21:47:22 ad Exp $
+#	$NetBSD: genassym.cf,v 1.80.2.2 2020/01/19 21:08:29 ad Exp $
 
 #
 # Copyright (c) 1998, 2006, 2007, 2008 The NetBSD Foundation, Inc.
@@ -78,7 +78,6 @@ include 
 include 
 include 
 include 
-include 
 include 
 include 
 include 
@@ -346,15 +345,6 @@ define	MTX_IPL			offsetof(struct kmutex,
 define	MTX_LOCK		offsetof(struct kmutex, u.s.mtxs_lock)
 define	MTX_OWNER		offsetof(struct kmutex, u.mtxa_owner)
 
-define	RW_OWNER		offsetof(struct krwlock, rw_owner)
-define	RW_WRITE_LOCKED		RW_WRITE_LOCKED
-define	RW_WRITE_WANTED		RW_WRITE_WANTED
-define	RW_READ_INCR		RW_READ_INCR
-define	RW_HAS_WAITERS		RW_HAS_WAITERS
-define	RW_THREAD		RW_THREAD
-define	RW_READER		RW_READER
-define	RW_WRITER		RW_WRITER
-
 define	EV_COUNT		offsetof(struct evcnt, ev_count)
 
 define	OPTERON_MSR_PASSCODE	OPTERON_MSR_PASSCODE

Index: src/sys/arch/amd64/amd64/lock_stubs.S
diff -u src/sys/arch/amd64/amd64/lock_stubs.S:1.35 src/sys/arch/amd64/amd64/lock_stubs.S:1.35.2.1
--- src/sys/arch/amd64/amd64/lock_stubs.S:1.35	Sun Dec  8 20:00:56 2019
+++ src/sys/arch/amd64/amd64/lock_stubs.S	Sun Jan 19 21:08:29 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: lock_stubs.S,v 1.35 2019/12/08 20:00:56 ad Exp $	*/
+/*	$NetBSD: lock_stubs.S,v 1.35.2.1 2020/01/19 21:08:29 ad Exp $	*/
 
 /*
  * Copyright (c) 2006, 2007, 2008, 2009 The NetBSD Foundation, Inc.
@@ -185,126 +185,6 @@ ENTRY(mutex_spin_exit)
 
 END(mutex_spin_exit)
 
-/*
- * void	rw_enter(krwlock_t *rwl, krw_t op);
- *
- * Acquire one hold on a RW lock.
- */
-ENTRY(rw_enter)
-	cmpl	$RW_READER, %esi
-	jne	2f
-
-	/*
-	 * Reader: this is the most common case.
-	 */
-	movq	(%rdi), %rax
-0:
-	testb	$(RW_WRITE_LOCKED|RW_WRITE_WANTED), %al
-	jnz	3f
-	leaq	RW_READ_INCR(%rax), %rdx
-	LOCK
-	cmpxchgq %rdx, (%rdi)
-	jnz	1f
-	RET
-1:
-	jmp	0b
-
-	/*
-	 * Writer: if the compare-and-set fails, don't bother retrying.
-	 */
-2:	movq	CPUVAR(CURLWP), %rcx
-	xorq	%rax, %rax
-	orq	$RW_WRITE_LOCKED, %rcx
-	LOCK
-	cmpxchgq %rcx, (%rdi)
-	jnz	3f
-	RET
-3:
-	jmp	_C_LABEL(rw_vector_enter)
-END(rw_enter)
-
-/*
- * void	rw_exit(krwlock_t *rwl);
- *
- * Release one hold on a RW lock.
- */
-ENTRY(rw_exit)
-	movq	(%rdi), %rax
-	testb	$RW_WRITE_LOCKED, %al
-	jnz	2f
-
-	/*
-	 * Reader
-	 */
-0:	testb	$RW_HAS_WAITERS, %al
-	jnz	3f
-	cmpq	$RW_READ_INCR, %rax
-	jb	3f
-	leaq	-RW_READ_INCR(%rax), %rdx
-	LOCK
-	cmpxchgq %rdx, (%rdi)
-	jnz	1f
-	ret
-1:
-	jmp	0b
-
-	/*
-	 * Writer
-	 */
-2:	leaq	-RW_WRITE_LOCKED(%rax), %rdx
-	subq	CPUVAR(CURLWP), %rdx
-	jnz	3f
-	LOCK
-	cmpxchgq %rdx, (%rdi)
-	jnz	3f
-	ret
-
-3:	jmp	_C_LABEL(rw_vector_exit)
-END(rw_exit)
-
-/*
- * int	rw_tryenter(krwlock_t *rwl, krw_t op);
- *
- * Try to acquire one hold on a RW lock.
- */
-ENTRY(rw_tryenter)
-	cmpl	$RW_READER, %esi
-	jne	2f
-
-	/*
-	 * Reader: this is the most common case.
-	 */
-	movq	(%rdi), %rax
-0:
-	testb	$(RW_WRITE_LOCKED|RW_WRITE_WANTED), %al
-	jnz	4f
-	leaq	RW_READ_INCR(%rax), %rdx
-	LOCK
-	cmpxchgq %rdx, (%rdi)
-	jnz	1f
-	movl	%edx, %eax			/* nonzero */
-	RET
-1:
-	jmp	0b
-
-	/*
-	 * Writer: if the compare-and-set fails, don't bother retrying.
-	 */
-2:	movq	CPUVAR(CURLWP), %rcx
-	xorq	%rax, %rax
-	orq	$RW_WRITE_LOCKED, %rcx
-	LOCK
-	cmpxchgq %rcx, (%rdi)
-	movl	$0, %eax
-	setz	%al
-3:
-	RET
-	ret
-4:
-	xorl	%eax, %eax
-	jmp	3b
-END(rw_tryenter)
-
 #endif	/* LOCKDEBUG */
 
 /*

Index: src/sys/arch/i386/i386/genassym.cf
diff -u src/sys/arch/i386/i386/genassym.cf:1.117.2.1 src/sys/arch/i386/i386/genassym.cf:1.117.2.2
--- src/sys/arch/i386/i386/genassym.cf:1.117.2.1	Fri Jan 17 21:47:25 2020
+++ src/sys/arch/i386/i386/genassym.cf	Sun 

CVS commit: [ad-namecache] src/sys

2020-01-19 Thread Andrew Doran
Module Name:src
Committed By:   ad
Date:   Sun Jan 19 21:08:30 UTC 2020

Modified Files:
src/sys/arch/amd64/amd64 [ad-namecache]: genassym.cf lock_stubs.S
src/sys/arch/i386/i386 [ad-namecache]: genassym.cf lock_stubs.S
src/sys/kern [ad-namecache]: kern_rwlock.c kern_synch.c
src/sys/sys [ad-namecache]: lwp.h

Log Message:
Adaptive rwlocks proposed on tech-kern and working well on this branch
with vnode locks.


To generate a diff of this commit:
cvs rdiff -u -r1.80.2.1 -r1.80.2.2 src/sys/arch/amd64/amd64/genassym.cf
cvs rdiff -u -r1.35 -r1.35.2.1 src/sys/arch/amd64/amd64/lock_stubs.S
cvs rdiff -u -r1.117.2.1 -r1.117.2.2 src/sys/arch/i386/i386/genassym.cf
cvs rdiff -u -r1.32 -r1.32.2.1 src/sys/arch/i386/i386/lock_stubs.S
cvs rdiff -u -r1.59.2.2 -r1.59.2.3 src/sys/kern/kern_rwlock.c
cvs rdiff -u -r1.334.2.1 -r1.334.2.2 src/sys/kern/kern_synch.c
cvs rdiff -u -r1.192.2.1 -r1.192.2.2 src/sys/sys/lwp.h

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



CVS commit: src/sys/netinet

2020-01-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Jan 19 20:51:13 UTC 2020

Modified Files:
src/sys/netinet: sctp_pcb.c sctp_pcb.h sctputil.c sctputil.h

Log Message:
Replace kooky sctp random number generation by cprng_strong32().


To generate a diff of this commit:
cvs rdiff -u -r1.19 -r1.20 src/sys/netinet/sctp_pcb.c
cvs rdiff -u -r1.2 -r1.3 src/sys/netinet/sctp_pcb.h \
src/sys/netinet/sctputil.h
cvs rdiff -u -r1.15 -r1.16 src/sys/netinet/sctputil.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/netinet/sctp_pcb.c
diff -u src/sys/netinet/sctp_pcb.c:1.19 src/sys/netinet/sctp_pcb.c:1.20
--- src/sys/netinet/sctp_pcb.c:1.19	Thu Dec 26 04:44:10 2019
+++ src/sys/netinet/sctp_pcb.c	Sun Jan 19 20:51:13 2020
@@ -1,5 +1,5 @@
 /* $KAME: sctp_pcb.c,v 1.39 2005/06/16 18:29:25 jinmei Exp $ */
-/* $NetBSD: sctp_pcb.c,v 1.19 2019/12/26 04:44:10 msaitoh Exp $ */
+/* $NetBSD: sctp_pcb.c,v 1.20 2020/01/19 20:51:13 riastradh Exp $ */
 
 /*
  * Copyright (c) 2001, 2002, 2003, 2004 Cisco Systems, Inc.
@@ -33,7 +33,7 @@
  * SUCH DAMAGE.
  */
 #include 
-__KERNEL_RCSID(0, "$NetBSD: sctp_pcb.c,v 1.19 2019/12/26 04:44:10 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sctp_pcb.c,v 1.20 2020/01/19 20:51:13 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -1465,29 +1465,6 @@ sctp_inpcb_alloc(struct socket *so)
 	/* Add adaption cookie */
 	m->adaption_layer_indicator = 0x504C5253;
 
-	/* seed random number generator */
-	m->random_counter = 1;
-	m->store_at = SCTP_SIGNATURE_SIZE;
-#if NRND > 0
-	rnd_extract_data(m->random_numbers, sizeof(m->random_numbers),
-			 RND_EXTRACT_ANY);
-#else
-	{
-		u_int32_t *ranm, *ranp;
-		ranp = (u_int32_t *)>random_numbers;
-		ranm = ranp + (SCTP_SIGNATURE_ALOC_SIZE/sizeof(u_int32_t));
-		if ((u_long)ranp % 4) {
-			/* not a even boundary? */
-			ranp = (u_int32_t *)SCTP_SIZE32((u_long)ranp);
-		}
-		while (ranp < ranm) {
-			*ranp = random();
-			ranp++;
-		}
-	}
-#endif
-	sctp_fill_random_store(m);
-
 	/* Minimum cookie size */
 	m->size_of_a_cookie = (sizeof(struct sctp_init_msg) * 2) +
 		sizeof(struct sctp_state_cookie);

Index: src/sys/netinet/sctp_pcb.h
diff -u src/sys/netinet/sctp_pcb.h:1.2 src/sys/netinet/sctp_pcb.h:1.3
--- src/sys/netinet/sctp_pcb.h:1.2	Sat Jun  8 23:23:34 2019
+++ src/sys/netinet/sctp_pcb.h	Sun Jan 19 20:51:13 2020
@@ -1,5 +1,5 @@
 /*	$KAME: sctp_pcb.h,v 1.21 2005/07/16 01:18:47 suz Exp $	*/
-/*	$NetBSD: sctp_pcb.h,v 1.2 2019/06/08 23:23:34 rjs Exp $ */
+/*	$NetBSD: sctp_pcb.h,v 1.3 2020/01/19 20:51:13 riastradh Exp $ */
 
 #ifndef __SCTP_PCB_H__
 #define __SCTP_PCB_H__
@@ -250,11 +250,6 @@ struct sctp_pcb {
 	uint16_t pre_open_stream_count;
 	uint16_t max_open_streams_intome;
 
-	/* random number generator */
-	uint32_t random_counter;
-	uint8_t random_numbers[SCTP_SIGNATURE_ALOC_SIZE];
-	uint8_t random_store[SCTP_SIGNATURE_ALOC_SIZE];
-
 	/*
 	 * This timer is kept running per endpoint.  When it fires it
 	 * will change the secret key.  The default is once a hour
@@ -265,7 +260,6 @@ struct sctp_pcb {
 	int auto_close_time;
 	uint32_t initial_sequence_debug;
 	uint32_t adaption_layer_indicator;
-	char store_at;
 	uint8_t max_burst;
 	char current_secret_number;
 	char last_secret_number;
@@ -447,7 +441,7 @@ void SCTP_INP_INFO_WLOCK(void);
 
 /* The INP locks we will use for locking an SCTP endpoint, so for
  * example if we want to change something at the endpoint level for
- * example random_store or cookie secrets we lock the INP level.
+ * example cookie secrets we lock the INP level.
  */
 #define SCTP_INP_LOCK_INIT(_inp) \
 	mtx_init(&(_inp)->inp_mtx, "sctp", "inp", MTX_DEF | MTX_DUPOK)
@@ -556,7 +550,7 @@ void SCTP_INP_WLOCK(struct sctp_inpcb *)
 
 /* The INP locks we will use for locking an SCTP endpoint, so for
  * example if we want to change something at the endpoint level for
- * example random_store or cookie secrets we lock the INP level.
+ * example cookie secrets we lock the INP level.
  */
 #define SCTP_INP_LOCK_INIT(_inp) \
 	mutex_init(&(_inp)->inp_mtx, MUTEX_DEFAULT, IPL_NET)
Index: src/sys/netinet/sctputil.h
diff -u src/sys/netinet/sctputil.h:1.2 src/sys/netinet/sctputil.h:1.3
--- src/sys/netinet/sctputil.h:1.2	Sun May 22 23:04:27 2016
+++ src/sys/netinet/sctputil.h	Sun Jan 19 20:51:13 2020
@@ -1,5 +1,5 @@
 /*	$KAME: sctputil.h,v 1.15 2005/03/06 16:04:19 itojun Exp $	*/
-/*	$NetBSD: sctputil.h,v 1.2 2016/05/22 23:04:27 rjs Exp $ */
+/*	$NetBSD: sctputil.h,v 1.3 2020/01/19 20:51:13 riastradh Exp $ */
 
 #ifndef __SCTPUTIL_H__
 #define __SCTPUTIL_H__
@@ -141,8 +141,6 @@ u_int32_t sctp_select_a_tag(struct sctp_
 
 int sctp_init_asoc(struct sctp_inpcb *, struct sctp_association *, int, uint32_t);
 
-void sctp_fill_random_store(struct sctp_pcb *);
-
 int sctp_timer_start(int, struct sctp_inpcb *, struct sctp_tcb *,
 	struct sctp_nets *);
 

Index: src/sys/netinet/sctputil.c
diff -u src/sys/netinet/sctputil.c:1.15 

CVS commit: src/sys/netinet

2020-01-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Jan 19 20:51:13 UTC 2020

Modified Files:
src/sys/netinet: sctp_pcb.c sctp_pcb.h sctputil.c sctputil.h

Log Message:
Replace kooky sctp random number generation by cprng_strong32().


To generate a diff of this commit:
cvs rdiff -u -r1.19 -r1.20 src/sys/netinet/sctp_pcb.c
cvs rdiff -u -r1.2 -r1.3 src/sys/netinet/sctp_pcb.h \
src/sys/netinet/sctputil.h
cvs rdiff -u -r1.15 -r1.16 src/sys/netinet/sctputil.c

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



CVS commit: src

2020-01-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Jan 19 20:41:19 UTC 2020

Modified Files:
src/distrib/sets/lists/base: mi
src/distrib/sets/lists/comp: mi
src/distrib/sets/lists/man: mi
src/etc: MAKEDEV.tmpl
src/etc/mtree: NetBSD.dist.base
src/share/man/man4: Makefile
src/sys/arch/amd64/conf: ALL
src/sys/arch/i386/conf: ALL
src/sys/conf: files majors
src/sys/dev: Makefile
src/sys/modules: Makefile
Removed Files:
src/share/man/man4: filemon.4
src/sys/dev/filemon: Makefile filemon.c filemon.h filemon_wrapper.c
mknod-sh
src/sys/modules/filemon: Makefile filemon.ioconf

Log Message:
Remove filemon(4).

Discussed on tech-kern:
https://mail-index.NetBSD.org/tech-kern/2020/01/13/msg025938.html

This was never (intentionally) enabled by default, and the design has
some shortcomings.  You can get mostly the same results with ktrace,
as in usr.bin/make/filemon/filemon_ktrace.c which is now used instead
of filemon for make's meta mode.

If applications require higher performance than ktrace, or nesting
that ktrace doesn't support, we might consider adding something back
into the vfs system calls themselves, without hijacking the syscall
table.  (Might want a more reliable output format too, e.g. one that
can handle newlines in file names.)


To generate a diff of this commit:
cvs rdiff -u -r1.1225 -r1.1226 src/distrib/sets/lists/base/mi
cvs rdiff -u -r1.2303 -r1.2304 src/distrib/sets/lists/comp/mi
cvs rdiff -u -r1.1673 -r1.1674 src/distrib/sets/lists/man/mi
cvs rdiff -u -r1.212 -r1.213 src/etc/MAKEDEV.tmpl
cvs rdiff -u -r1.208 -r1.209 src/etc/mtree/NetBSD.dist.base
cvs rdiff -u -r1.697 -r1.698 src/share/man/man4/Makefile
cvs rdiff -u -r1.21 -r0 src/share/man/man4/filemon.4
cvs rdiff -u -r1.139 -r1.140 src/sys/arch/amd64/conf/ALL
cvs rdiff -u -r1.483 -r1.484 src/sys/arch/i386/conf/ALL
cvs rdiff -u -r1.1251 -r1.1252 src/sys/conf/files
cvs rdiff -u -r1.92 -r1.93 src/sys/conf/majors
cvs rdiff -u -r1.43 -r1.44 src/sys/dev/Makefile
cvs rdiff -u -r1.3 -r0 src/sys/dev/filemon/Makefile \
src/sys/dev/filemon/mknod-sh
cvs rdiff -u -r1.33 -r0 src/sys/dev/filemon/filemon.c
cvs rdiff -u -r1.11 -r0 src/sys/dev/filemon/filemon.h
cvs rdiff -u -r1.14 -r0 src/sys/dev/filemon/filemon_wrapper.c
cvs rdiff -u -r1.235 -r1.236 src/sys/modules/Makefile
cvs rdiff -u -r1.6 -r0 src/sys/modules/filemon/Makefile
cvs rdiff -u -r1.3 -r0 src/sys/modules/filemon/filemon.ioconf

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

Modified files:

Index: src/distrib/sets/lists/base/mi
diff -u src/distrib/sets/lists/base/mi:1.1225 src/distrib/sets/lists/base/mi:1.1226
--- src/distrib/sets/lists/base/mi:1.1225	Sun Jan 19 06:55:22 2020
+++ src/distrib/sets/lists/base/mi	Sun Jan 19 20:41:17 2020
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.1225 2020/01/19 06:55:22 thorpej Exp $
+# $NetBSD: mi,v 1.1226 2020/01/19 20:41:17 riastradh Exp $
 #
 # Note:	Don't delete entries from here - mark them as "obsolete" instead,
 #	unless otherwise stated below.
@@ -1114,7 +1114,7 @@
 ./usr/include/dev/dmover			base-c-usr
 ./usr/include/dev/dtvbase-c-usr
 ./usr/include/dev/eisabase-obsolete		obsolete
-./usr/include/dev/filemon			base-c-usr
+./usr/include/dev/filemon			base-obsolete		obsolete
 ./usr/include/dev/hdaudio			base-c-usr
 ./usr/include/dev/hdmicec			base-c-usr
 ./usr/include/dev/hidbase-c-usr

Index: src/distrib/sets/lists/comp/mi
diff -u src/distrib/sets/lists/comp/mi:1.2303 src/distrib/sets/lists/comp/mi:1.2304
--- src/distrib/sets/lists/comp/mi:1.2303	Sun Jan 19 20:00:36 2020
+++ src/distrib/sets/lists/comp/mi	Sun Jan 19 20:41:17 2020
@@ -1,4 +1,4 @@
-#	$NetBSD: mi,v 1.2303 2020/01/19 20:00:36 thorpej Exp $
+#	$NetBSD: mi,v 1.2304 2020/01/19 20:41:17 riastradh Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 ./etc/mtree/set.compcomp-sys-root
@@ -411,7 +411,7 @@
 ./usr/include/dev/eisa/eisadevs_data.h		comp-obsolete		obsolete
 ./usr/include/dev/eisa/eisareg.h		comp-obsolete		obsolete
 ./usr/include/dev/eisa/eisavar.h		comp-obsolete		obsolete
-./usr/include/dev/filemon/filemon.h		comp-c-include
+./usr/include/dev/filemon/filemon.h		comp-obsolete		obsolete
 ./usr/include/dev/fssvar.h			comp-c-include
 ./usr/include/dev/hdaudio/hdaudioio.h		comp-c-include
 ./usr/include/dev/hdaudio/hdaudioreg.h		comp-c-include

Index: src/distrib/sets/lists/man/mi
diff -u src/distrib/sets/lists/man/mi:1.1673 src/distrib/sets/lists/man/mi:1.1674
--- src/distrib/sets/lists/man/mi:1.1673	Sun Jan 19 20:00:36 2020
+++ src/distrib/sets/lists/man/mi	Sun Jan 19 20:41:17 2020
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.1673 2020/01/19 20:00:36 thorpej Exp $
+# $NetBSD: mi,v 1.1674 2020/01/19 20:41:17 riastradh Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -1105,7 +1105,7 @@
 ./usr/share/man/cat4/fast_ipsec.0		

CVS commit: src

2020-01-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Jan 19 20:41:19 UTC 2020

Modified Files:
src/distrib/sets/lists/base: mi
src/distrib/sets/lists/comp: mi
src/distrib/sets/lists/man: mi
src/etc: MAKEDEV.tmpl
src/etc/mtree: NetBSD.dist.base
src/share/man/man4: Makefile
src/sys/arch/amd64/conf: ALL
src/sys/arch/i386/conf: ALL
src/sys/conf: files majors
src/sys/dev: Makefile
src/sys/modules: Makefile
Removed Files:
src/share/man/man4: filemon.4
src/sys/dev/filemon: Makefile filemon.c filemon.h filemon_wrapper.c
mknod-sh
src/sys/modules/filemon: Makefile filemon.ioconf

Log Message:
Remove filemon(4).

Discussed on tech-kern:
https://mail-index.NetBSD.org/tech-kern/2020/01/13/msg025938.html

This was never (intentionally) enabled by default, and the design has
some shortcomings.  You can get mostly the same results with ktrace,
as in usr.bin/make/filemon/filemon_ktrace.c which is now used instead
of filemon for make's meta mode.

If applications require higher performance than ktrace, or nesting
that ktrace doesn't support, we might consider adding something back
into the vfs system calls themselves, without hijacking the syscall
table.  (Might want a more reliable output format too, e.g. one that
can handle newlines in file names.)


To generate a diff of this commit:
cvs rdiff -u -r1.1225 -r1.1226 src/distrib/sets/lists/base/mi
cvs rdiff -u -r1.2303 -r1.2304 src/distrib/sets/lists/comp/mi
cvs rdiff -u -r1.1673 -r1.1674 src/distrib/sets/lists/man/mi
cvs rdiff -u -r1.212 -r1.213 src/etc/MAKEDEV.tmpl
cvs rdiff -u -r1.208 -r1.209 src/etc/mtree/NetBSD.dist.base
cvs rdiff -u -r1.697 -r1.698 src/share/man/man4/Makefile
cvs rdiff -u -r1.21 -r0 src/share/man/man4/filemon.4
cvs rdiff -u -r1.139 -r1.140 src/sys/arch/amd64/conf/ALL
cvs rdiff -u -r1.483 -r1.484 src/sys/arch/i386/conf/ALL
cvs rdiff -u -r1.1251 -r1.1252 src/sys/conf/files
cvs rdiff -u -r1.92 -r1.93 src/sys/conf/majors
cvs rdiff -u -r1.43 -r1.44 src/sys/dev/Makefile
cvs rdiff -u -r1.3 -r0 src/sys/dev/filemon/Makefile \
src/sys/dev/filemon/mknod-sh
cvs rdiff -u -r1.33 -r0 src/sys/dev/filemon/filemon.c
cvs rdiff -u -r1.11 -r0 src/sys/dev/filemon/filemon.h
cvs rdiff -u -r1.14 -r0 src/sys/dev/filemon/filemon_wrapper.c
cvs rdiff -u -r1.235 -r1.236 src/sys/modules/Makefile
cvs rdiff -u -r1.6 -r0 src/sys/modules/filemon/Makefile
cvs rdiff -u -r1.3 -r0 src/sys/modules/filemon/filemon.ioconf

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



CVS commit: src/usr.bin/make/filemon

2020-01-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Jan 19 20:22:57 UTC 2020

Modified Files:
src/usr.bin/make/filemon: filemon_ktrace.c

Log Message:
Missed a spot -- define _KERNTYPES to get register_t.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/usr.bin/make/filemon/filemon_ktrace.c

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



CVS commit: src/usr.bin/make/filemon

2020-01-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Jan 19 20:22:57 UTC 2020

Modified Files:
src/usr.bin/make/filemon: filemon_ktrace.c

Log Message:
Missed a spot -- define _KERNTYPES to get register_t.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/usr.bin/make/filemon/filemon_ktrace.c

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

Modified files:

Index: src/usr.bin/make/filemon/filemon_ktrace.c
diff -u src/usr.bin/make/filemon/filemon_ktrace.c:1.1 src/usr.bin/make/filemon/filemon_ktrace.c:1.2
--- src/usr.bin/make/filemon/filemon_ktrace.c:1.1	Sun Jan 19 19:49:37 2020
+++ src/usr.bin/make/filemon/filemon_ktrace.c	Sun Jan 19 20:22:57 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: filemon_ktrace.c,v 1.1 2020/01/19 19:49:37 riastradh Exp $	*/
+/*	$NetBSD: filemon_ktrace.c,v 1.2 2020/01/19 20:22:57 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2019 The NetBSD Foundation, Inc.
@@ -29,6 +29,8 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */
 
+#define	_KERNTYPES		/* register_t */
+
 #include "filemon.h"
 
 #include 



CVS commit: src/doc

2020-01-19 Thread Jason R Thorpe
Module Name:src
Committed By:   thorpej
Date:   Sun Jan 19 20:02:24 UTC 2020

Modified Files:
src/doc: TODO.smpnet

Log Message:
Token Ring has been removed.


To generate a diff of this commit:
cvs rdiff -u -r1.32 -r1.33 src/doc/TODO.smpnet

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

Modified files:

Index: src/doc/TODO.smpnet
diff -u src/doc/TODO.smpnet:1.32 src/doc/TODO.smpnet:1.33
--- src/doc/TODO.smpnet:1.32	Sun Jan 19 16:58:22 2020
+++ src/doc/TODO.smpnet	Sun Jan 19 20:02:23 2020
@@ -1,4 +1,4 @@
-$NetBSD: TODO.smpnet,v 1.32 2020/01/19 16:58:22 thorpej Exp $
+$NetBSD: TODO.smpnet,v 1.33 2020/01/19 20:02:23 thorpej Exp $
 
 MP-safe components
 ==
@@ -65,7 +65,6 @@ Unprotected ones
- FDDI (if_fddisubr.c)
- IEEE 1394 (if_ieee1394subr.c)
- IEEE 802.11 (ieee80211(4))
-   - Token ring (if_tokensubr.c)
  - Layer 3
- IPSELSRC
- MROUTING



CVS commit: src/doc

2020-01-19 Thread Jason R Thorpe
Module Name:src
Committed By:   thorpej
Date:   Sun Jan 19 20:01:49 UTC 2020

Modified Files:
src/doc: CHANGES

Log Message:
Note removal of Token Ring support.


To generate a diff of this commit:
cvs rdiff -u -r1.2639 -r1.2640 src/doc/CHANGES

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



CVS commit: src/doc

2020-01-19 Thread Jason R Thorpe
Module Name:src
Committed By:   thorpej
Date:   Sun Jan 19 20:02:24 UTC 2020

Modified Files:
src/doc: TODO.smpnet

Log Message:
Token Ring has been removed.


To generate a diff of this commit:
cvs rdiff -u -r1.32 -r1.33 src/doc/TODO.smpnet

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



CVS commit: src/doc

2020-01-19 Thread Jason R Thorpe
Module Name:src
Committed By:   thorpej
Date:   Sun Jan 19 20:01:49 UTC 2020

Modified Files:
src/doc: CHANGES

Log Message:
Note removal of Token Ring support.


To generate a diff of this commit:
cvs rdiff -u -r1.2639 -r1.2640 src/doc/CHANGES

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
diff -u src/doc/CHANGES:1.2639 src/doc/CHANGES:1.2640
--- src/doc/CHANGES:1.2639	Sun Jan 19 17:54:19 2020
+++ src/doc/CHANGES	Sun Jan 19 20:01:49 2020
@@ -1,4 +1,4 @@
-# LIST OF CHANGES FROM LAST RELEASE:			<$Revision: 1.2639 $>
+# LIST OF CHANGES FROM LAST RELEASE:			<$Revision: 1.2640 $>
 #
 #
 # [Note: This file does not mention every change made to the NetBSD source tree.
@@ -101,3 +101,4 @@ Changes from NetBSD 9.0 to NetBSD 10.0:
 	strip(4): Removed from the tree. [thorpej 20200118]
 	hippi and esh(4): Removed from the tree. [thorpej 20200118]
 	de(4): Removed from the tree. [thorpej 20200119]
+	token ring and tr(4): Removed from the tree. [20200119]



CVS commit: src

2020-01-19 Thread Jason R Thorpe
Module Name:src
Committed By:   thorpej
Date:   Sun Jan 19 20:00:38 UTC 2020

Modified Files:
src/distrib/sets/lists/comp: mi
src/distrib/sets/lists/man: mi
src/share/man/man4: Makefile
src/sys/arch/amd64/conf: ALL GENERIC
src/sys/arch/evbarm/conf: LUBBOCK MPCSA_GENERIC TWINTAIL
src/sys/arch/evbppc/conf: OPENBLOCKS266_OPT
src/sys/arch/i386/conf: ALL GENERIC GENERIC_PS2TINY INSTALL_FLOPPY
src/sys/arch/sparc64/conf: GENERIC
src/sys/conf: files
src/sys/dev/isa: files.isa
src/sys/dev/isapnp: files.isapnp
src/sys/dev/mca: files.mca
src/sys/dev/pcmcia: files.pcmcia
src/sys/net: Makefile files.net if.c
src/sys/netinet: if_arp.c ip_carp.c
Removed Files:
src/share/man/man4: tr.4
src/sys/dev/ic: tropic.c tropicreg.h tropicvar.h
src/sys/dev/isa: if_tr_isa.c if_tribm_isa.c if_trtcm_isa.c
src/sys/dev/isapnp: if_tr_isapnp.c
src/sys/dev/mca: if_tr_mca.c
src/sys/dev/pcmcia: if_tr_pcmcia.c
src/sys/net: if_token.h if_tokensubr.c

Log Message:
Remove Token Ring support.


To generate a diff of this commit:
cvs rdiff -u -r1.2302 -r1.2303 src/distrib/sets/lists/comp/mi
cvs rdiff -u -r1.1672 -r1.1673 src/distrib/sets/lists/man/mi
cvs rdiff -u -r1.696 -r1.697 src/share/man/man4/Makefile
cvs rdiff -u -r1.15 -r0 src/share/man/man4/tr.4
cvs rdiff -u -r1.138 -r1.139 src/sys/arch/amd64/conf/ALL
cvs rdiff -u -r1.556 -r1.557 src/sys/arch/amd64/conf/GENERIC
cvs rdiff -u -r1.60 -r1.61 src/sys/arch/evbarm/conf/LUBBOCK
cvs rdiff -u -r1.68 -r1.69 src/sys/arch/evbarm/conf/MPCSA_GENERIC
cvs rdiff -u -r1.76 -r1.77 src/sys/arch/evbarm/conf/TWINTAIL
cvs rdiff -u -r1.27 -r1.28 src/sys/arch/evbppc/conf/OPENBLOCKS266_OPT
cvs rdiff -u -r1.482 -r1.483 src/sys/arch/i386/conf/ALL
cvs rdiff -u -r1.1220 -r1.1221 src/sys/arch/i386/conf/GENERIC
cvs rdiff -u -r1.80 -r1.81 src/sys/arch/i386/conf/GENERIC_PS2TINY
cvs rdiff -u -r1.51 -r1.52 src/sys/arch/i386/conf/INSTALL_FLOPPY
cvs rdiff -u -r1.220 -r1.221 src/sys/arch/sparc64/conf/GENERIC
cvs rdiff -u -r1.1250 -r1.1251 src/sys/conf/files
cvs rdiff -u -r1.53 -r0 src/sys/dev/ic/tropic.c
cvs rdiff -u -r1.6 -r0 src/sys/dev/ic/tropicreg.h
cvs rdiff -u -r1.14 -r0 src/sys/dev/ic/tropicvar.h
cvs rdiff -u -r1.174 -r1.175 src/sys/dev/isa/files.isa
cvs rdiff -u -r1.26 -r0 src/sys/dev/isa/if_tr_isa.c
cvs rdiff -u -r1.14 -r0 src/sys/dev/isa/if_tribm_isa.c
cvs rdiff -u -r1.20 -r0 src/sys/dev/isa/if_trtcm_isa.c
cvs rdiff -u -r1.39 -r1.40 src/sys/dev/isapnp/files.isapnp
cvs rdiff -u -r1.22 -r0 src/sys/dev/isapnp/if_tr_isapnp.c
cvs rdiff -u -r1.22 -r1.23 src/sys/dev/mca/files.mca
cvs rdiff -u -r1.24 -r0 src/sys/dev/mca/if_tr_mca.c
cvs rdiff -u -r1.59 -r1.60 src/sys/dev/pcmcia/files.pcmcia
cvs rdiff -u -r1.29 -r0 src/sys/dev/pcmcia/if_tr_pcmcia.c
cvs rdiff -u -r1.39 -r1.40 src/sys/net/Makefile
cvs rdiff -u -r1.22 -r1.23 src/sys/net/files.net
cvs rdiff -u -r1.466 -r1.467 src/sys/net/if.c
cvs rdiff -u -r1.17 -r0 src/sys/net/if_token.h
cvs rdiff -u -r1.84 -r0 src/sys/net/if_tokensubr.c
cvs rdiff -u -r1.289 -r1.290 src/sys/netinet/if_arp.c
cvs rdiff -u -r1.105 -r1.106 src/sys/netinet/ip_carp.c

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



CVS commit: src

2020-01-19 Thread Jason R Thorpe
Module Name:src
Committed By:   thorpej
Date:   Sun Jan 19 20:00:38 UTC 2020

Modified Files:
src/distrib/sets/lists/comp: mi
src/distrib/sets/lists/man: mi
src/share/man/man4: Makefile
src/sys/arch/amd64/conf: ALL GENERIC
src/sys/arch/evbarm/conf: LUBBOCK MPCSA_GENERIC TWINTAIL
src/sys/arch/evbppc/conf: OPENBLOCKS266_OPT
src/sys/arch/i386/conf: ALL GENERIC GENERIC_PS2TINY INSTALL_FLOPPY
src/sys/arch/sparc64/conf: GENERIC
src/sys/conf: files
src/sys/dev/isa: files.isa
src/sys/dev/isapnp: files.isapnp
src/sys/dev/mca: files.mca
src/sys/dev/pcmcia: files.pcmcia
src/sys/net: Makefile files.net if.c
src/sys/netinet: if_arp.c ip_carp.c
Removed Files:
src/share/man/man4: tr.4
src/sys/dev/ic: tropic.c tropicreg.h tropicvar.h
src/sys/dev/isa: if_tr_isa.c if_tribm_isa.c if_trtcm_isa.c
src/sys/dev/isapnp: if_tr_isapnp.c
src/sys/dev/mca: if_tr_mca.c
src/sys/dev/pcmcia: if_tr_pcmcia.c
src/sys/net: if_token.h if_tokensubr.c

Log Message:
Remove Token Ring support.


To generate a diff of this commit:
cvs rdiff -u -r1.2302 -r1.2303 src/distrib/sets/lists/comp/mi
cvs rdiff -u -r1.1672 -r1.1673 src/distrib/sets/lists/man/mi
cvs rdiff -u -r1.696 -r1.697 src/share/man/man4/Makefile
cvs rdiff -u -r1.15 -r0 src/share/man/man4/tr.4
cvs rdiff -u -r1.138 -r1.139 src/sys/arch/amd64/conf/ALL
cvs rdiff -u -r1.556 -r1.557 src/sys/arch/amd64/conf/GENERIC
cvs rdiff -u -r1.60 -r1.61 src/sys/arch/evbarm/conf/LUBBOCK
cvs rdiff -u -r1.68 -r1.69 src/sys/arch/evbarm/conf/MPCSA_GENERIC
cvs rdiff -u -r1.76 -r1.77 src/sys/arch/evbarm/conf/TWINTAIL
cvs rdiff -u -r1.27 -r1.28 src/sys/arch/evbppc/conf/OPENBLOCKS266_OPT
cvs rdiff -u -r1.482 -r1.483 src/sys/arch/i386/conf/ALL
cvs rdiff -u -r1.1220 -r1.1221 src/sys/arch/i386/conf/GENERIC
cvs rdiff -u -r1.80 -r1.81 src/sys/arch/i386/conf/GENERIC_PS2TINY
cvs rdiff -u -r1.51 -r1.52 src/sys/arch/i386/conf/INSTALL_FLOPPY
cvs rdiff -u -r1.220 -r1.221 src/sys/arch/sparc64/conf/GENERIC
cvs rdiff -u -r1.1250 -r1.1251 src/sys/conf/files
cvs rdiff -u -r1.53 -r0 src/sys/dev/ic/tropic.c
cvs rdiff -u -r1.6 -r0 src/sys/dev/ic/tropicreg.h
cvs rdiff -u -r1.14 -r0 src/sys/dev/ic/tropicvar.h
cvs rdiff -u -r1.174 -r1.175 src/sys/dev/isa/files.isa
cvs rdiff -u -r1.26 -r0 src/sys/dev/isa/if_tr_isa.c
cvs rdiff -u -r1.14 -r0 src/sys/dev/isa/if_tribm_isa.c
cvs rdiff -u -r1.20 -r0 src/sys/dev/isa/if_trtcm_isa.c
cvs rdiff -u -r1.39 -r1.40 src/sys/dev/isapnp/files.isapnp
cvs rdiff -u -r1.22 -r0 src/sys/dev/isapnp/if_tr_isapnp.c
cvs rdiff -u -r1.22 -r1.23 src/sys/dev/mca/files.mca
cvs rdiff -u -r1.24 -r0 src/sys/dev/mca/if_tr_mca.c
cvs rdiff -u -r1.59 -r1.60 src/sys/dev/pcmcia/files.pcmcia
cvs rdiff -u -r1.29 -r0 src/sys/dev/pcmcia/if_tr_pcmcia.c
cvs rdiff -u -r1.39 -r1.40 src/sys/net/Makefile
cvs rdiff -u -r1.22 -r1.23 src/sys/net/files.net
cvs rdiff -u -r1.466 -r1.467 src/sys/net/if.c
cvs rdiff -u -r1.17 -r0 src/sys/net/if_token.h
cvs rdiff -u -r1.84 -r0 src/sys/net/if_tokensubr.c
cvs rdiff -u -r1.289 -r1.290 src/sys/netinet/if_arp.c
cvs rdiff -u -r1.105 -r1.106 src/sys/netinet/ip_carp.c

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

Modified files:

Index: src/distrib/sets/lists/comp/mi
diff -u src/distrib/sets/lists/comp/mi:1.2302 src/distrib/sets/lists/comp/mi:1.2303
--- src/distrib/sets/lists/comp/mi:1.2302	Sun Jan 19 10:50:25 2020
+++ src/distrib/sets/lists/comp/mi	Sun Jan 19 20:00:36 2020
@@ -1,4 +1,4 @@
-#	$NetBSD: mi,v 1.2302 2020/01/19 10:50:25 martin Exp $
+#	$NetBSD: mi,v 1.2303 2020/01/19 20:00:36 thorpej Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 ./etc/mtree/set.compcomp-sys-root
@@ -2366,7 +2366,7 @@
 ./usr/include/net/if_stf.h			comp-c-include
 ./usr/include/net/if_stripvar.h			comp-obsolete		obsolete
 ./usr/include/net/if_tap.h			comp-c-include
-./usr/include/net/if_token.h			comp-c-include
+./usr/include/net/if_token.h			comp-obsolete		obsolete
 ./usr/include/net/if_tun.h			comp-c-include
 ./usr/include/net/if_types.h			comp-c-include
 ./usr/include/net/if_vlanvar.h			comp-c-include

Index: src/distrib/sets/lists/man/mi
diff -u src/distrib/sets/lists/man/mi:1.1672 src/distrib/sets/lists/man/mi:1.1673
--- src/distrib/sets/lists/man/mi:1.1672	Sun Jan 19 17:53:15 2020
+++ src/distrib/sets/lists/man/mi	Sun Jan 19 20:00:36 2020
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.1672 2020/01/19 17:53:15 thorpej Exp $
+# $NetBSD: mi,v 1.1673 2020/01/19 20:00:36 thorpej Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -1845,7 +1845,7 @@
 ./usr/share/man/cat4/tprof.0			man-sys-catman		.cat
 ./usr/share/man/cat4/tps65217pmic.0		man-sys-catman		.cat
 ./usr/share/man/cat4/tqphy.0			man-sys-catman		.cat
-./usr/share/man/cat4/tr.0			man-sys-catman		.cat
+./usr/share/man/cat4/tr.0			man-obsolete		

CVS commit: src/usr.bin/make

2020-01-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Jan 19 19:50:54 UTC 2020

Modified Files:
src/usr.bin/make: Makefile

Log Message:
Tweak makefile for USE_FILEMON=dev, from sjg.


To generate a diff of this commit:
cvs rdiff -u -r1.67 -r1.68 src/usr.bin/make/Makefile

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



CVS commit: src/usr.bin/make

2020-01-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Jan 19 19:50:54 UTC 2020

Modified Files:
src/usr.bin/make: Makefile

Log Message:
Tweak makefile for USE_FILEMON=dev, from sjg.


To generate a diff of this commit:
cvs rdiff -u -r1.67 -r1.68 src/usr.bin/make/Makefile

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

Modified files:

Index: src/usr.bin/make/Makefile
diff -u src/usr.bin/make/Makefile:1.67 src/usr.bin/make/Makefile:1.68
--- src/usr.bin/make/Makefile:1.67	Sun Jan 19 19:49:36 2020
+++ src/usr.bin/make/Makefile	Sun Jan 19 19:50:54 2020
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.67 2020/01/19 19:49:36 riastradh Exp $
+#	$NetBSD: Makefile,v 1.68 2020/01/19 19:50:54 riastradh Exp $
 #	@(#)Makefile	5.2 (Berkeley) 12/28/90
 
 PROG=	make
@@ -15,15 +15,27 @@ SRCS += lstPrev.c
 
 USE_META ?= yes
 .if ${USE_META:tl} != "no"
+
 SRCS+=	meta.c
 CPPFLAGS+= -DUSE_META
+
 USE_FILEMON ?= ktrace
 .if ${USE_FILEMON:tl} != "no"
+
 .PATH:	${.CURDIR}/filemon
 SRCS+=	filemon_${USE_FILEMON}.c
 CPPFLAGS+= -DUSE_FILEMON
+
+.if ${USE_FILEMON} == "dev"
+FILEMON_H ?= /usr/include/dev/filemon/filemon.h
+.if exists(${FILEMON_H}) && ${FILEMON_H:T} == "filemon.h"
+COPTS.filemon_dev.c += -DHAVE_FILEMON_H -I${FILEMON_H:H}
 .endif
-.endif
+.endif# USE_FILEMON == dev
+
+.endif# USE_FILEMON
+
+.endif# USE_META
 
 .PATH:	${.CURDIR}/lst.lib
 SUBDIR.roff+=	PSD.doc



CVS commit: src/usr.bin/make

2020-01-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Jan 19 19:49:37 UTC 2020

Modified Files:
src/usr.bin/make: Makefile meta.c
Added Files:
src/usr.bin/make/filemon: filemon.h filemon_dev.c filemon_ktrace.c
Removed Files:
src/usr.bin/make: filemon.c filemon.h

Log Message:
Per sjg's suggestion, split filemon API into separate back ends.

By default we use the ktrace back end, but the /dev/filemon back end
is available as a compile-time option, by setting USE_FILEMON=dev in
make.  sjg raised concerns about ktrace performance and would like to
continue using /dev/filemon on FreeBSD (which has seen more
maintenance kernel-side) without forking make.


To generate a diff of this commit:
cvs rdiff -u -r1.66 -r1.67 src/usr.bin/make/Makefile
cvs rdiff -u -r1.1 -r0 src/usr.bin/make/filemon.c src/usr.bin/make/filemon.h
cvs rdiff -u -r1.74 -r1.75 src/usr.bin/make/meta.c
cvs rdiff -u -r0 -r1.1 src/usr.bin/make/filemon/filemon.h \
src/usr.bin/make/filemon/filemon_dev.c \
src/usr.bin/make/filemon/filemon_ktrace.c

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

Modified files:

Index: src/usr.bin/make/Makefile
diff -u src/usr.bin/make/Makefile:1.66 src/usr.bin/make/Makefile:1.67
--- src/usr.bin/make/Makefile:1.66	Sun Jan 19 19:42:32 2020
+++ src/usr.bin/make/Makefile	Sun Jan 19 19:49:36 2020
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.66 2020/01/19 19:42:32 riastradh Exp $
+#	$NetBSD: Makefile,v 1.67 2020/01/19 19:49:36 riastradh Exp $
 #	@(#)Makefile	5.2 (Berkeley) 12/28/90
 
 PROG=	make
@@ -17,9 +17,10 @@ USE_META ?= yes
 .if ${USE_META:tl} != "no"
 SRCS+=	meta.c
 CPPFLAGS+= -DUSE_META
-USE_FILEMON ?= yes
+USE_FILEMON ?= ktrace
 .if ${USE_FILEMON:tl} != "no"
-SRCS+=	filemon.c
+.PATH:	${.CURDIR}/filemon
+SRCS+=	filemon_${USE_FILEMON}.c
 CPPFLAGS+= -DUSE_FILEMON
 .endif
 .endif

Index: src/usr.bin/make/meta.c
diff -u src/usr.bin/make/meta.c:1.74 src/usr.bin/make/meta.c:1.75
--- src/usr.bin/make/meta.c:1.74	Sun Jan 19 19:42:32 2020
+++ src/usr.bin/make/meta.c	Sun Jan 19 19:49:37 2020
@@ -1,4 +1,4 @@
-/*  $NetBSD: meta.c,v 1.74 2020/01/19 19:42:32 riastradh Exp $ */
+/*  $NetBSD: meta.c,v 1.75 2020/01/19 19:49:37 riastradh Exp $ */
 
 /*
  * Implement 'meta' mode.
@@ -46,7 +46,7 @@
 #include "job.h"
 
 #ifdef USE_FILEMON
-#include "filemon.h"
+#include "filemon/filemon.h"
 #endif
 
 static BuildMon Mybm;			/* for compat */
@@ -130,7 +130,7 @@ meta_open_filemon(BuildMon *pbm)
 pbm->filemon = filemon_open();
 if (pbm->filemon == NULL) {
 	useFilemon = FALSE;
-	warn("Could not open filemon");
+	warn("Could not open filemon %s", filemon_path());
 	return;
 }
 
@@ -563,7 +563,7 @@ meta_init(void)
 {
 #ifdef USE_FILEMON
 	/* this allows makefiles to test if we have filemon support */
-	Var_Set(".MAKE.PATH_FILEMON", "ktrace", VAR_GLOBAL, 0); /* XXX */
+	Var_Set(".MAKE.PATH_FILEMON", filemon_path(), VAR_GLOBAL, 0);
 #endif
 }
 

Added files:

Index: src/usr.bin/make/filemon/filemon.h
diff -u /dev/null src/usr.bin/make/filemon/filemon.h:1.1
--- /dev/null	Sun Jan 19 19:49:37 2020
+++ src/usr.bin/make/filemon/filemon.h	Sun Jan 19 19:49:37 2020
@@ -0,0 +1,53 @@
+/*	$NetBSD: filemon.h,v 1.1 2020/01/19 19:49:37 riastradh Exp $	*/
+
+/*-
+ * Copyright (c) 2019 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Taylor R. Campbell.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *notice, this list of conditions and the following disclaimer in the
+ *documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef FILEMON_H
+#define	FILEMON_H
+
+#include 
+
+struct filemon;
+
+const char *
+	filemon_path(void);
+
+struct filemon *
+	filemon_open(void);
+int	filemon_close(struct filemon 

CVS commit: src/usr.bin/make

2020-01-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Jan 19 19:49:37 UTC 2020

Modified Files:
src/usr.bin/make: Makefile meta.c
Added Files:
src/usr.bin/make/filemon: filemon.h filemon_dev.c filemon_ktrace.c
Removed Files:
src/usr.bin/make: filemon.c filemon.h

Log Message:
Per sjg's suggestion, split filemon API into separate back ends.

By default we use the ktrace back end, but the /dev/filemon back end
is available as a compile-time option, by setting USE_FILEMON=dev in
make.  sjg raised concerns about ktrace performance and would like to
continue using /dev/filemon on FreeBSD (which has seen more
maintenance kernel-side) without forking make.


To generate a diff of this commit:
cvs rdiff -u -r1.66 -r1.67 src/usr.bin/make/Makefile
cvs rdiff -u -r1.1 -r0 src/usr.bin/make/filemon.c src/usr.bin/make/filemon.h
cvs rdiff -u -r1.74 -r1.75 src/usr.bin/make/meta.c
cvs rdiff -u -r0 -r1.1 src/usr.bin/make/filemon/filemon.h \
src/usr.bin/make/filemon/filemon_dev.c \
src/usr.bin/make/filemon/filemon_ktrace.c

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



CVS commit: [ad-namecache] src/sys

2020-01-19 Thread Andrew Doran
Module Name:src
Committed By:   ad
Date:   Sun Jan 19 19:44:34 UTC 2020

Modified Files:
src/sys/kern [ad-namecache]: kern_rwlock.c
src/sys/sys [ad-namecache]: rwlock.h

Log Message:
Sync with head.


To generate a diff of this commit:
cvs rdiff -u -r1.59.2.1 -r1.59.2.2 src/sys/kern/kern_rwlock.c
cvs rdiff -u -r1.12 -r1.12.2.1 src/sys/sys/rwlock.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/kern_rwlock.c
diff -u src/sys/kern/kern_rwlock.c:1.59.2.1 src/sys/kern/kern_rwlock.c:1.59.2.2
--- src/sys/kern/kern_rwlock.c:1.59.2.1	Fri Jan 17 21:47:35 2020
+++ src/sys/kern/kern_rwlock.c	Sun Jan 19 19:44:34 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern_rwlock.c,v 1.59.2.1 2020/01/17 21:47:35 ad Exp $	*/
+/*	$NetBSD: kern_rwlock.c,v 1.59.2.2 2020/01/19 19:44:34 ad Exp $	*/
 
 /*-
  * Copyright (c) 2002, 2006, 2007, 2008, 2009, 2019, 2020
@@ -39,7 +39,9 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: kern_rwlock.c,v 1.59.2.1 2020/01/17 21:47:35 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_rwlock.c,v 1.59.2.2 2020/01/19 19:44:34 ad Exp $");
+
+#include "opt_lockdebug.h"
 
 #define	__RWLOCK_PRIVATE
 
@@ -63,58 +65,32 @@ __KERNEL_RCSID(0, "$NetBSD: kern_rwlock.
  * LOCKDEBUG
  */
 
-#if defined(LOCKDEBUG)
-
-#define	RW_WANTLOCK(rw, op)		\
-	LOCKDEBUG_WANTLOCK(RW_DEBUG_P(rw), (rw),			\
-	(uintptr_t)__builtin_return_address(0), op == RW_READER);
-#define	RW_LOCKED(rw, op)		\
-	LOCKDEBUG_LOCKED(RW_DEBUG_P(rw), (rw), NULL,			\
-	(uintptr_t)__builtin_return_address(0), op == RW_READER);
-#define	RW_UNLOCKED(rw, op)		\
-	LOCKDEBUG_UNLOCKED(RW_DEBUG_P(rw), (rw),			\
-	(uintptr_t)__builtin_return_address(0), op == RW_READER);
-#define	RW_DASSERT(rw, cond)		\
-do {	\
-	if (__predict_false(!(cond)))	\
-		rw_abort(__func__, __LINE__, rw, "assertion failed: " #cond);\
-} while (/* CONSTCOND */ 0);
-
-#else	/* LOCKDEBUG */
-
-#define	RW_WANTLOCK(rw, op)	/* nothing */
-#define	RW_LOCKED(rw, op)	/* nothing */
-#define	RW_UNLOCKED(rw, op)	/* nothing */
-#define	RW_DASSERT(rw, cond)	/* nothing */
+#define	RW_DEBUG_P(rw)		(((rw)->rw_owner & RW_NODEBUG) == 0)
 
-#endif	/* LOCKDEBUG */
+#define	RW_WANTLOCK(rw, op) \
+LOCKDEBUG_WANTLOCK(RW_DEBUG_P(rw), (rw), \
+(uintptr_t)__builtin_return_address(0), op == RW_READER);
+#define	RW_LOCKED(rw, op) \
+LOCKDEBUG_LOCKED(RW_DEBUG_P(rw), (rw), NULL, \
+(uintptr_t)__builtin_return_address(0), op == RW_READER);
+#define	RW_UNLOCKED(rw, op) \
+LOCKDEBUG_UNLOCKED(RW_DEBUG_P(rw), (rw), \
+(uintptr_t)__builtin_return_address(0), op == RW_READER);
 
 /*
  * DIAGNOSTIC
  */
 
 #if defined(DIAGNOSTIC)
-
-#define	RW_ASSERT(rw, cond)		\
-do {	\
-	if (__predict_false(!(cond)))	\
+#define	RW_ASSERT(rw, cond) \
+do { \
+	if (__predict_false(!(cond))) \
 		rw_abort(__func__, __LINE__, rw, "assertion failed: " #cond);\
 } while (/* CONSTCOND */ 0)
-
 #else
-
 #define	RW_ASSERT(rw, cond)	/* nothing */
-
 #endif	/* DIAGNOSTIC */
 
-#define	RW_SETDEBUG(rw, on)		((rw)->rw_owner |= (on) ? 0 : RW_NODEBUG)
-#define	RW_DEBUG_P(rw)			(((rw)->rw_owner & RW_NODEBUG) == 0)
-#if defined(LOCKDEBUG)
-#define	RW_INHERITDEBUG(n, o)		(n) |= (o) & RW_NODEBUG
-#else /* defined(LOCKDEBUG) */
-#define	RW_INHERITDEBUG(n, o)		/* nothing */
-#endif /* defined(LOCKDEBUG) */
-
 /*
  * Memory barriers.
  */
@@ -128,29 +104,6 @@ do {	\
 #define	RW_MEMBAR_PRODUCER()		membar_producer()
 #endif
 
-static void	rw_abort(const char *, size_t, krwlock_t *, const char *);
-static void	rw_dump(const volatile void *, lockop_printer_t);
-static lwp_t	*rw_owner(wchan_t);
-
-static inline uintptr_t
-rw_cas(krwlock_t *rw, uintptr_t o, uintptr_t n)
-{
-
-	RW_INHERITDEBUG(n, o);
-	return (uintptr_t)atomic_cas_ptr((volatile void *)>rw_owner,
-	(void *)o, (void *)n);
-}
-
-static inline void
-rw_swap(krwlock_t *rw, uintptr_t o, uintptr_t n)
-{
-
-	RW_INHERITDEBUG(n, o);
-	n = (uintptr_t)atomic_swap_ptr((volatile void *)>rw_owner,
-	(void *)n);
-	RW_DASSERT(rw, n == o);
-}
-
 /*
  * For platforms that do not provide stubs, or for the LOCKDEBUG case.
  */
@@ -164,6 +117,10 @@ __strong_alias(rw_exit,rw_vector_exit);
 __strong_alias(rw_tryenter,rw_vector_tryenter);
 #endif
 
+static void	rw_abort(const char *, size_t, krwlock_t *, const char *);
+static void	rw_dump(const volatile void *, lockop_printer_t);
+static lwp_t	*rw_owner(wchan_t);
+
 lockops_t rwlock_lockops = {
 	.lo_name = "Reader / writer lock",
 	.lo_type = LOCKOPS_SLEEP,
@@ -179,6 +136,37 @@ syncobj_t rw_syncobj = {
 };
 
 /*
+ * rw_cas:
+ *
+ *	Do an atomic compare-and-swap on the lock word.
+ */
+static inline uintptr_t
+rw_cas(krwlock_t *rw, uintptr_t o, uintptr_t n)
+{
+
+	return (uintptr_t)atomic_cas_ptr((volatile void *)>rw_owner,
+	(void *)o, (void *)n);
+}
+
+/*
+ * rw_swap:
+ *
+ *	Do an atomic swap of the lock word.  This is used only when it's
+ *	

CVS commit: [ad-namecache] src/sys

2020-01-19 Thread Andrew Doran
Module Name:src
Committed By:   ad
Date:   Sun Jan 19 19:44:34 UTC 2020

Modified Files:
src/sys/kern [ad-namecache]: kern_rwlock.c
src/sys/sys [ad-namecache]: rwlock.h

Log Message:
Sync with head.


To generate a diff of this commit:
cvs rdiff -u -r1.59.2.1 -r1.59.2.2 src/sys/kern/kern_rwlock.c
cvs rdiff -u -r1.12 -r1.12.2.1 src/sys/sys/rwlock.h

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



CVS commit: src/usr.bin/make

2020-01-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Jan 19 19:42:32 UTC 2020

Modified Files:
src/usr.bin/make: Makefile compat.c job.c meta.c meta.h
Added Files:
src/usr.bin/make: filemon.c filemon.h

Log Message:
Reimplement make(1) meta mode without filemon(4).


To generate a diff of this commit:
cvs rdiff -u -r1.65 -r1.66 src/usr.bin/make/Makefile
cvs rdiff -u -r1.109 -r1.110 src/usr.bin/make/compat.c
cvs rdiff -u -r0 -r1.1 src/usr.bin/make/filemon.c src/usr.bin/make/filemon.h
cvs rdiff -u -r1.195 -r1.196 src/usr.bin/make/job.c
cvs rdiff -u -r1.73 -r1.74 src/usr.bin/make/meta.c
cvs rdiff -u -r1.5 -r1.6 src/usr.bin/make/meta.h

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

Modified files:

Index: src/usr.bin/make/Makefile
diff -u src/usr.bin/make/Makefile:1.65 src/usr.bin/make/Makefile:1.66
--- src/usr.bin/make/Makefile:1.65	Thu Dec 19 07:14:07 2019
+++ src/usr.bin/make/Makefile	Sun Jan 19 19:42:32 2020
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.65 2019/12/19 07:14:07 maxv Exp $
+#	$NetBSD: Makefile,v 1.66 2020/01/19 19:42:32 riastradh Exp $
 #	@(#)Makefile	5.2 (Berkeley) 12/28/90
 
 PROG=	make
@@ -17,9 +17,10 @@ USE_META ?= yes
 .if ${USE_META:tl} != "no"
 SRCS+=	meta.c
 CPPFLAGS+= -DUSE_META
-FILEMON_H ?= ${.CURDIR:H:H}/sys/dev/filemon/filemon.h
-.if exists(${FILEMON_H}) && ${FILEMON_H:T} == "filemon.h"
-COPTS.meta.c += -DHAVE_FILEMON_H -I${FILEMON_H:H}
+USE_FILEMON ?= yes
+.if ${USE_FILEMON:tl} != "no"
+SRCS+=	filemon.c
+CPPFLAGS+= -DUSE_FILEMON
 .endif
 .endif
 

Index: src/usr.bin/make/compat.c
diff -u src/usr.bin/make/compat.c:1.109 src/usr.bin/make/compat.c:1.110
--- src/usr.bin/make/compat.c:1.109	Thu Dec 19 07:14:07 2019
+++ src/usr.bin/make/compat.c	Sun Jan 19 19:42:32 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: compat.c,v 1.109 2019/12/19 07:14:07 maxv Exp $	*/
+/*	$NetBSD: compat.c,v 1.110 2020/01/19 19:42:32 riastradh Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -70,14 +70,14 @@
  */
 
 #ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: compat.c,v 1.109 2019/12/19 07:14:07 maxv Exp $";
+static char rcsid[] = "$NetBSD: compat.c,v 1.110 2020/01/19 19:42:32 riastradh Exp $";
 #else
 #include 
 #ifndef lint
 #if 0
 static char sccsid[] = "@(#)compat.c	8.2 (Berkeley) 3/19/94";
 #else
-__RCSID("$NetBSD: compat.c,v 1.109 2019/12/19 07:14:07 maxv Exp $");
+__RCSID("$NetBSD: compat.c,v 1.110 2020/01/19 19:42:32 riastradh Exp $");
 #endif
 #endif /* not lint */
 #endif
@@ -404,7 +404,7 @@ again:
 
 #ifdef USE_META
 if (useMeta) {
-	meta_compat_parent();
+	meta_compat_parent(cpid);
 }
 #endif
 

Index: src/usr.bin/make/job.c
diff -u src/usr.bin/make/job.c:1.195 src/usr.bin/make/job.c:1.196
--- src/usr.bin/make/job.c:1.195	Sun May 13 22:13:28 2018
+++ src/usr.bin/make/job.c	Sun Jan 19 19:42:32 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: job.c,v 1.195 2018/05/13 22:13:28 sjg Exp $	*/
+/*	$NetBSD: job.c,v 1.196 2020/01/19 19:42:32 riastradh Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -70,14 +70,14 @@
  */
 
 #ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: job.c,v 1.195 2018/05/13 22:13:28 sjg Exp $";
+static char rcsid[] = "$NetBSD: job.c,v 1.196 2020/01/19 19:42:32 riastradh Exp $";
 #else
 #include 
 #ifndef lint
 #if 0
 static char sccsid[] = "@(#)job.c	8.2 (Berkeley) 3/19/94";
 #else
-__RCSID("$NetBSD: job.c,v 1.195 2018/05/13 22:13:28 sjg Exp $");
+__RCSID("$NetBSD: job.c,v 1.196 2020/01/19 19:42:32 riastradh Exp $");
 #endif
 #endif /* not lint */
 #endif
@@ -329,6 +329,8 @@ static Job childExitJob;	/* child exit p
 #define	CHILD_EXIT	"."
 #define	DO_JOB_RESUME	"R"
 
+static const int npseudojobs = 2; /* number of pseudo-jobs */
+
 #define TARG_FMT  "%s %s ---\n" /* Default format */
 #define MESSAGE(fp, gn) \
 	if (maxJobs != 1 && targPrefix && *targPrefix) \
@@ -357,6 +359,16 @@ static void JobSigReset(void);
 
 const char *malloc_options="A";
 
+static unsigned
+nfds_per_job(void)
+{
+#ifdef USE_META
+if (useMeta)
+	return 2;
+#endif
+return 1;
+}
+
 static void
 job_table_dump(const char *where)
 {
@@ -1439,6 +1451,12 @@ JobExec(Job *job, char **argv)
 
 Trace_Log(JOBSTART, job);
 
+#ifdef USE_META
+if (useMeta) {
+	meta_job_parent(job, cpid);
+}
+#endif
+
 /*
  * Set the current position in the buffer to the beginning
  * and mark another stream to watch in the outputs mask
@@ -2121,12 +2139,24 @@ Job_CatchOutput(void)
 if (nready == 0)
 	return;
 
-for (i = 2; i < nfds; i++) {
+for (i = npseudojobs*nfds_per_job(); i < nfds; i++) {
 	if (!fds[i].revents)
 	continue;
 	job = jobfds[i];
 	if (job->job_state == JOB_ST_RUNNING)
 	JobDoOutput(job, FALSE);
+#ifdef USE_META
+	/*
+	 * With meta mode, we may have activity on the job's filemon
+	 * descriptor too, which at the moment is any pollfd other than
+	 * job->inPollfd.
+	 */
+	if (useMeta && 

CVS commit: src/usr.bin/make

2020-01-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Jan 19 19:42:32 UTC 2020

Modified Files:
src/usr.bin/make: Makefile compat.c job.c meta.c meta.h
Added Files:
src/usr.bin/make: filemon.c filemon.h

Log Message:
Reimplement make(1) meta mode without filemon(4).


To generate a diff of this commit:
cvs rdiff -u -r1.65 -r1.66 src/usr.bin/make/Makefile
cvs rdiff -u -r1.109 -r1.110 src/usr.bin/make/compat.c
cvs rdiff -u -r0 -r1.1 src/usr.bin/make/filemon.c src/usr.bin/make/filemon.h
cvs rdiff -u -r1.195 -r1.196 src/usr.bin/make/job.c
cvs rdiff -u -r1.73 -r1.74 src/usr.bin/make/meta.c
cvs rdiff -u -r1.5 -r1.6 src/usr.bin/make/meta.h

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



CVS commit: src/sys

2020-01-19 Thread Andrew Doran
Module Name:src
Committed By:   ad
Date:   Sun Jan 19 18:34:24 UTC 2020

Modified Files:
src/sys/kern: kern_rwlock.c
src/sys/sys: rwlock.h

Log Message:
Tidy rwlocks a bit, no functional change intended.  Mainly:

- rw_downgrade(): do it in a for () loop like all the others.
- Explicitly carry around RW_NODEBUG - don't be lazy.
- Remove pointless macros.
- Don't make assertions conditional on LOCKDEBUG, there's no reason.
- Make space for a new flag bit (not added yet).


To generate a diff of this commit:
cvs rdiff -u -r1.60 -r1.61 src/sys/kern/kern_rwlock.c
cvs rdiff -u -r1.12 -r1.13 src/sys/sys/rwlock.h

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



CVS commit: src/sys

2020-01-19 Thread Andrew Doran
Module Name:src
Committed By:   ad
Date:   Sun Jan 19 18:34:24 UTC 2020

Modified Files:
src/sys/kern: kern_rwlock.c
src/sys/sys: rwlock.h

Log Message:
Tidy rwlocks a bit, no functional change intended.  Mainly:

- rw_downgrade(): do it in a for () loop like all the others.
- Explicitly carry around RW_NODEBUG - don't be lazy.
- Remove pointless macros.
- Don't make assertions conditional on LOCKDEBUG, there's no reason.
- Make space for a new flag bit (not added yet).


To generate a diff of this commit:
cvs rdiff -u -r1.60 -r1.61 src/sys/kern/kern_rwlock.c
cvs rdiff -u -r1.12 -r1.13 src/sys/sys/rwlock.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/kern_rwlock.c
diff -u src/sys/kern/kern_rwlock.c:1.60 src/sys/kern/kern_rwlock.c:1.61
--- src/sys/kern/kern_rwlock.c:1.60	Sun Jan 12 18:37:10 2020
+++ src/sys/kern/kern_rwlock.c	Sun Jan 19 18:34:24 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern_rwlock.c,v 1.60 2020/01/12 18:37:10 ad Exp $	*/
+/*	$NetBSD: kern_rwlock.c,v 1.61 2020/01/19 18:34:24 ad Exp $	*/
 
 /*-
  * Copyright (c) 2002, 2006, 2007, 2008, 2009, 2019, 2020
@@ -39,7 +39,9 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: kern_rwlock.c,v 1.60 2020/01/12 18:37:10 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_rwlock.c,v 1.61 2020/01/19 18:34:24 ad Exp $");
+
+#include "opt_lockdebug.h"
 
 #define	__RWLOCK_PRIVATE
 
@@ -63,58 +65,32 @@ __KERNEL_RCSID(0, "$NetBSD: kern_rwlock.
  * LOCKDEBUG
  */
 
-#if defined(LOCKDEBUG)
-
-#define	RW_WANTLOCK(rw, op)		\
-	LOCKDEBUG_WANTLOCK(RW_DEBUG_P(rw), (rw),			\
-	(uintptr_t)__builtin_return_address(0), op == RW_READER);
-#define	RW_LOCKED(rw, op)		\
-	LOCKDEBUG_LOCKED(RW_DEBUG_P(rw), (rw), NULL,			\
-	(uintptr_t)__builtin_return_address(0), op == RW_READER);
-#define	RW_UNLOCKED(rw, op)		\
-	LOCKDEBUG_UNLOCKED(RW_DEBUG_P(rw), (rw),			\
-	(uintptr_t)__builtin_return_address(0), op == RW_READER);
-#define	RW_DASSERT(rw, cond)		\
-do {	\
-	if (__predict_false(!(cond)))	\
-		rw_abort(__func__, __LINE__, rw, "assertion failed: " #cond);\
-} while (/* CONSTCOND */ 0);
-
-#else	/* LOCKDEBUG */
-
-#define	RW_WANTLOCK(rw, op)	/* nothing */
-#define	RW_LOCKED(rw, op)	/* nothing */
-#define	RW_UNLOCKED(rw, op)	/* nothing */
-#define	RW_DASSERT(rw, cond)	/* nothing */
+#define	RW_DEBUG_P(rw)		(((rw)->rw_owner & RW_NODEBUG) == 0)
 
-#endif	/* LOCKDEBUG */
+#define	RW_WANTLOCK(rw, op) \
+LOCKDEBUG_WANTLOCK(RW_DEBUG_P(rw), (rw), \
+(uintptr_t)__builtin_return_address(0), op == RW_READER);
+#define	RW_LOCKED(rw, op) \
+LOCKDEBUG_LOCKED(RW_DEBUG_P(rw), (rw), NULL, \
+(uintptr_t)__builtin_return_address(0), op == RW_READER);
+#define	RW_UNLOCKED(rw, op) \
+LOCKDEBUG_UNLOCKED(RW_DEBUG_P(rw), (rw), \
+(uintptr_t)__builtin_return_address(0), op == RW_READER);
 
 /*
  * DIAGNOSTIC
  */
 
 #if defined(DIAGNOSTIC)
-
-#define	RW_ASSERT(rw, cond)		\
-do {	\
-	if (__predict_false(!(cond)))	\
+#define	RW_ASSERT(rw, cond) \
+do { \
+	if (__predict_false(!(cond))) \
 		rw_abort(__func__, __LINE__, rw, "assertion failed: " #cond);\
 } while (/* CONSTCOND */ 0)
-
 #else
-
 #define	RW_ASSERT(rw, cond)	/* nothing */
-
 #endif	/* DIAGNOSTIC */
 
-#define	RW_SETDEBUG(rw, on)		((rw)->rw_owner |= (on) ? 0 : RW_NODEBUG)
-#define	RW_DEBUG_P(rw)			(((rw)->rw_owner & RW_NODEBUG) == 0)
-#if defined(LOCKDEBUG)
-#define	RW_INHERITDEBUG(n, o)		(n) |= (o) & RW_NODEBUG
-#else /* defined(LOCKDEBUG) */
-#define	RW_INHERITDEBUG(n, o)		/* nothing */
-#endif /* defined(LOCKDEBUG) */
-
 /*
  * Memory barriers.
  */
@@ -128,29 +104,6 @@ do {	\
 #define	RW_MEMBAR_PRODUCER()		membar_producer()
 #endif
 
-static void	rw_abort(const char *, size_t, krwlock_t *, const char *);
-static void	rw_dump(const volatile void *, lockop_printer_t);
-static lwp_t	*rw_owner(wchan_t);
-
-static inline uintptr_t
-rw_cas(krwlock_t *rw, uintptr_t o, uintptr_t n)
-{
-
-	RW_INHERITDEBUG(n, o);
-	return (uintptr_t)atomic_cas_ptr((volatile void *)>rw_owner,
-	(void *)o, (void *)n);
-}
-
-static inline void
-rw_swap(krwlock_t *rw, uintptr_t o, uintptr_t n)
-{
-
-	RW_INHERITDEBUG(n, o);
-	n = (uintptr_t)atomic_swap_ptr((volatile void *)>rw_owner,
-	(void *)n);
-	RW_DASSERT(rw, n == o);
-}
-
 /*
  * For platforms that do not provide stubs, or for the LOCKDEBUG case.
  */
@@ -164,6 +117,10 @@ __strong_alias(rw_exit,rw_vector_exit);
 __strong_alias(rw_tryenter,rw_vector_tryenter);
 #endif
 
+static void	rw_abort(const char *, size_t, krwlock_t *, const char *);
+static void	rw_dump(const volatile void *, lockop_printer_t);
+static lwp_t	*rw_owner(wchan_t);
+
 lockops_t rwlock_lockops = {
 	.lo_name = "Reader / writer lock",
 	.lo_type = LOCKOPS_SLEEP,
@@ -179,6 +136,37 @@ syncobj_t rw_syncobj = {
 };
 
 /*
+ * rw_cas:
+ *
+ *	Do an atomic compare-and-swap on the lock word.
+ */
+static inline uintptr_t

CVS commit: src/doc

2020-01-19 Thread Jason R Thorpe
Module Name:src
Committed By:   thorpej
Date:   Sun Jan 19 17:54:19 UTC 2020

Modified Files:
src/doc: CHANGES

Log Message:
Note removal of the de(4) driver.


To generate a diff of this commit:
cvs rdiff -u -r1.2638 -r1.2639 src/doc/CHANGES

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
diff -u src/doc/CHANGES:1.2638 src/doc/CHANGES:1.2639
--- src/doc/CHANGES:1.2638	Sun Jan 19 11:29:42 2020
+++ src/doc/CHANGES	Sun Jan 19 17:54:19 2020
@@ -1,4 +1,4 @@
-# LIST OF CHANGES FROM LAST RELEASE:			<$Revision: 1.2638 $>
+# LIST OF CHANGES FROM LAST RELEASE:			<$Revision: 1.2639 $>
 #
 #
 # [Note: This file does not mention every change made to the NetBSD source tree.
@@ -100,3 +100,4 @@ Changes from NetBSD 9.0 to NetBSD 10.0:
 	uyurex(4): Removed from the tree. [maya 20200117]
 	strip(4): Removed from the tree. [thorpej 20200118]
 	hippi and esh(4): Removed from the tree. [thorpej 20200118]
+	de(4): Removed from the tree. [thorpej 20200119]



CVS commit: src/doc

2020-01-19 Thread Jason R Thorpe
Module Name:src
Committed By:   thorpej
Date:   Sun Jan 19 17:54:19 UTC 2020

Modified Files:
src/doc: CHANGES

Log Message:
Note removal of the de(4) driver.


To generate a diff of this commit:
cvs rdiff -u -r1.2638 -r1.2639 src/doc/CHANGES

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



CVS commit: src

2020-01-19 Thread Jason R Thorpe
Module Name:src
Committed By:   thorpej
Date:   Sun Jan 19 17:53:15 UTC 2020

Modified Files:
src/distrib/sets/lists/man: mi
src/share/man/man4: Makefile
src/sys/dev/pci: files.pci
Removed Files:
src/share/man/man4: de.4
src/sys/dev/pci: if_de.c if_devar.h

Log Message:
Remove the de(4) driver, which has long since been supplanted by the
tlp(4) driver, which supports more chips and more board variants.


To generate a diff of this commit:
cvs rdiff -u -r1.1671 -r1.1672 src/distrib/sets/lists/man/mi
cvs rdiff -u -r1.695 -r1.696 src/share/man/man4/Makefile
cvs rdiff -u -r1.10 -r0 src/share/man/man4/de.4
cvs rdiff -u -r1.422 -r1.423 src/sys/dev/pci/files.pci
cvs rdiff -u -r1.165 -r0 src/sys/dev/pci/if_de.c
cvs rdiff -u -r1.63 -r0 src/sys/dev/pci/if_devar.h

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

Modified files:

Index: src/distrib/sets/lists/man/mi
diff -u src/distrib/sets/lists/man/mi:1.1671 src/distrib/sets/lists/man/mi:1.1672
--- src/distrib/sets/lists/man/mi:1.1671	Sun Jan 19 10:50:26 2020
+++ src/distrib/sets/lists/man/mi	Sun Jan 19 17:53:15 2020
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.1671 2020/01/19 10:50:26 martin Exp $
+# $NetBSD: mi,v 1.1672 2020/01/19 17:53:15 thorpej Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -1017,7 +1017,7 @@
 ./usr/share/man/cat4/dbcool.0			man-sys-catman		.cat
 ./usr/share/man/cat4/ddb.0			man-sys-catman		.cat
 ./usr/share/man/cat4/ddc.0			man-sys-catman		.cat
-./usr/share/man/cat4/de.0			man-sys-catman		.cat
+./usr/share/man/cat4/de.0			man-obsolete		obsolete
 ./usr/share/man/cat4/depca.0			man-sys-catman		.cat
 ./usr/share/man/cat4/dge.0			man-sys-catman		.cat
 ./usr/share/man/cat4/dk.0			man-sys-catman		.cat
@@ -4201,7 +4201,7 @@
 ./usr/share/man/html4/dbcool.html		man-sys-htmlman		html
 ./usr/share/man/html4/ddb.html			man-sys-htmlman		html
 ./usr/share/man/html4/ddc.html			man-sys-htmlman		html
-./usr/share/man/html4/de.html			man-sys-htmlman		html
+./usr/share/man/html4/de.html			man-obsolete		obsolete
 ./usr/share/man/html4/depca.html		man-sys-htmlman		html
 ./usr/share/man/html4/dge.html			man-sys-htmlman		html
 ./usr/share/man/html4/dk.html			man-sys-htmlman		html
@@ -7157,7 +7157,7 @@
 ./usr/share/man/man4/dbcool.4			man-sys-man		.man
 ./usr/share/man/man4/ddb.4			man-sys-man		.man
 ./usr/share/man/man4/ddc.4			man-sys-man		.man
-./usr/share/man/man4/de.4			man-sys-man		.man
+./usr/share/man/man4/de.4			man-obsolete		obsolete
 ./usr/share/man/man4/depca.4			man-sys-man		.man
 ./usr/share/man/man4/dge.4			man-sys-man		.man
 ./usr/share/man/man4/dk.4			man-sys-man		.man

Index: src/share/man/man4/Makefile
diff -u src/share/man/man4/Makefile:1.695 src/share/man/man4/Makefile:1.696
--- src/share/man/man4/Makefile:1.695	Sun Jan 19 01:25:03 2020
+++ src/share/man/man4/Makefile	Sun Jan 19 17:53:15 2020
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.695 2020/01/19 01:25:03 thorpej Exp $
+#	$NetBSD: Makefile,v 1.696 2020/01/19 17:53:15 thorpej Exp $
 #	@(#)Makefile	8.1 (Berkeley) 6/18/93
 
 MAN=	aac.4 ac97.4 acardide.4 aceride.4 acphy.4 \
@@ -19,7 +19,7 @@ MAN=	aac.4 ac97.4 acardide.4 aceride.4 a
 	cec.4 cgd.4 cfb.4 ch.4 chipsfb.4 ciphy.4 ciss.4 clcs.4 clct.4 \
 	clockctl.4 cmdide.4 cmpci.4 cms.4 cnw.4 \
 	com.4 coram.4 crypto.4 cs80bus.4 cuda.4 cypide.4 cxdtv.4 \
-	ddb.4 ddc.4 de.4 dge.4 dk.4 dm.4 dmoverio.4 \
+	ddb.4 ddc.4 dge.4 dk.4 dm.4 dmoverio.4 \
 	dmphy.4 dpt.4 dpti.4 drm.4 drum.4 drvctl.4 dtv.4 dtviic.4 dwctwo.4 \
 	eap.4 ebus.4 edc.4 elmc.4 emuxki.4 ena.4 envsys.4 ep.4 esh.4 \
 	esa.4 esiop.4 esm.4 eso.4 et.4 etphy.4 exphy.4 \

Index: src/sys/dev/pci/files.pci
diff -u src/sys/dev/pci/files.pci:1.422 src/sys/dev/pci/files.pci:1.423
--- src/sys/dev/pci/files.pci:1.422	Sun Jan 19 06:55:21 2020
+++ src/sys/dev/pci/files.pci	Sun Jan 19 17:53:15 2020
@@ -1,4 +1,4 @@
-#	$NetBSD: files.pci,v 1.422 2020/01/19 06:55:21 thorpej Exp $
+#	$NetBSD: files.pci,v 1.423 2020/01/19 17:53:15 thorpej Exp $
 #
 # Config file and device description for machine-independent PCI code.
 # Included by ports that need it.  Requires that the SCSI files be
@@ -173,11 +173,6 @@ attach	aq at pci
 file	dev/pci/if_aq.c			aq
 defflag opt_if_aq.h	AQ_EVENT_COUNTERS
 
-# Ethernet driver for DC21040-based boards
-device	de: ether, ifnet, arp
-attach	de at pci
-file	dev/pci/if_de.c			de
-
 # 3Com 3c590 and 3c595 Ethernet controllers
 # device declaration in sys/conf/files
 attach	ep at pci with ep_pci



CVS commit: src

2020-01-19 Thread Jason R Thorpe
Module Name:src
Committed By:   thorpej
Date:   Sun Jan 19 17:53:15 UTC 2020

Modified Files:
src/distrib/sets/lists/man: mi
src/share/man/man4: Makefile
src/sys/dev/pci: files.pci
Removed Files:
src/share/man/man4: de.4
src/sys/dev/pci: if_de.c if_devar.h

Log Message:
Remove the de(4) driver, which has long since been supplanted by the
tlp(4) driver, which supports more chips and more board variants.


To generate a diff of this commit:
cvs rdiff -u -r1.1671 -r1.1672 src/distrib/sets/lists/man/mi
cvs rdiff -u -r1.695 -r1.696 src/share/man/man4/Makefile
cvs rdiff -u -r1.10 -r0 src/share/man/man4/de.4
cvs rdiff -u -r1.422 -r1.423 src/sys/dev/pci/files.pci
cvs rdiff -u -r1.165 -r0 src/sys/dev/pci/if_de.c
cvs rdiff -u -r1.63 -r0 src/sys/dev/pci/if_devar.h

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



CVS commit: src/tests

2020-01-19 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Jan 19 17:36:57 UTC 2020

Modified Files:
src/tests/lib/libarchive: Makefile
src/tests/usr.bin/cpio: Makefile
src/tests/usr.bin/tar: Makefile

Log Message:
Fix static linking (sun2)


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/tests/lib/libarchive/Makefile
cvs rdiff -u -r1.3 -r1.4 src/tests/usr.bin/cpio/Makefile
cvs rdiff -u -r1.3 -r1.4 src/tests/usr.bin/tar/Makefile

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

Modified files:

Index: src/tests/lib/libarchive/Makefile
diff -u src/tests/lib/libarchive/Makefile:1.3 src/tests/lib/libarchive/Makefile:1.4
--- src/tests/lib/libarchive/Makefile:1.3	Sat Jan 18 10:16:47 2020
+++ src/tests/lib/libarchive/Makefile	Sun Jan 19 12:36:57 2020
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.3 2020/01/18 15:16:47 christos Exp $
+# $NetBSD: Makefile,v 1.4 2020/01/19 17:36:57 christos Exp $
 
 NOMAN=
 
@@ -16,9 +16,9 @@ CPPFLAGS+=-I${LIBARCHIVE}/libarchive/tes
 
 .PATH: ${LIBARCHIVE}/libarchive/test ${LIBARCHIVE}/test_utils
 
-LDADD+=-larchive
-DPADD+=${LIBARCHIVE}
-
+DPADD+=	${LIBARCHIVE} ${LIBEXPAT} ${LIBBZ2} ${LIBLZMA} ${LIBZ} \
+	${LIBCRYPTO} ${LIBPTHREAD}
+LDADD+=	-larchive -lexpat -lbz2 -llzma -lz -lcrypto -lpthread
 
 SRCS.h_libarchive= \
 test_main.c \

Index: src/tests/usr.bin/cpio/Makefile
diff -u src/tests/usr.bin/cpio/Makefile:1.3 src/tests/usr.bin/cpio/Makefile:1.4
--- src/tests/usr.bin/cpio/Makefile:1.3	Sat Jan 18 10:16:48 2020
+++ src/tests/usr.bin/cpio/Makefile	Sun Jan 19 12:36:57 2020
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.3 2020/01/18 15:16:48 christos Exp $
+# $NetBSD: Makefile,v 1.4 2020/01/19 17:36:57 christos Exp $
 
 NOMAN=
 
@@ -19,10 +19,9 @@ CPPFLAGS+=-DPLATFORM_CONFIG_H='"config_n
 .PATH:  ${LIBARCHIVE}/cpio/test ${LIBARCHIVE}/test_utils ${LIBARCHIVE}/cpio \
 	${LIBARCHIVE}/libarchive_fe
 
-
-LDADD+=-larchive
-DPADD+=${LIBARCHIVE}
-
+DPADD+=	${LIBARCHIVE} ${LIBEXPAT} ${LIBBZ2} ${LIBLZMA} ${LIBZ} \
+	${LIBCRYPTO} ${LIBPTHREAD}
+LDADD+=	-larchive -lexpat -lbz2 -llzma -lz -lcrypto -lpthread  
 
 SRCS.h_cpio= \
 test_main.c \

Index: src/tests/usr.bin/tar/Makefile
diff -u src/tests/usr.bin/tar/Makefile:1.3 src/tests/usr.bin/tar/Makefile:1.4
--- src/tests/usr.bin/tar/Makefile:1.3	Sat Jan 18 10:16:48 2020
+++ src/tests/usr.bin/tar/Makefile	Sun Jan 19 12:36:57 2020
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.3 2020/01/18 15:16:48 christos Exp $
+# $NetBSD: Makefile,v 1.4 2020/01/19 17:36:57 christos Exp $
 
 NOMAN=
 
@@ -17,9 +17,9 @@ CPPFLAGS+=-I${LIBARCHIVE}/libarchive
 
 .PATH: ${LIBARCHIVE}/tar/test ${LIBARCHIVE}/test_utils
 
-LDADD+=-larchive
-DPADD+=${LIBARCHIVE}
-
+DPADD+=	${LIBARCHIVE} ${LIBEXPAT} ${LIBBZ2} ${LIBLZMA} ${LIBZ} \
+	${LIBCRYPTO} ${LIBPTHREAD}
+LDADD+=	-larchive -lexpat -lbz2 -llzma -lz -lcrypto -lpthread  
 
 SRCS.h_tar= \
 test_main.c \



CVS commit: src/tests

2020-01-19 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Jan 19 17:36:57 UTC 2020

Modified Files:
src/tests/lib/libarchive: Makefile
src/tests/usr.bin/cpio: Makefile
src/tests/usr.bin/tar: Makefile

Log Message:
Fix static linking (sun2)


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/tests/lib/libarchive/Makefile
cvs rdiff -u -r1.3 -r1.4 src/tests/usr.bin/cpio/Makefile
cvs rdiff -u -r1.3 -r1.4 src/tests/usr.bin/tar/Makefile

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



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

2020-01-19 Thread Jason R Thorpe
Module Name:src
Committed By:   thorpej
Date:   Sun Jan 19 17:26:57 UTC 2020

Modified Files:
src/sys/arch/cats/conf: INSTALL

Log Message:
Remove commented out "de* at pci? ..." (this is the only kernel config
in the tree with any reference to that driver).


To generate a diff of this commit:
cvs rdiff -u -r1.111 -r1.112 src/sys/arch/cats/conf/INSTALL

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/cats/conf/INSTALL
diff -u src/sys/arch/cats/conf/INSTALL:1.111 src/sys/arch/cats/conf/INSTALL:1.112
--- src/sys/arch/cats/conf/INSTALL:1.111	Sun Jan 19 06:55:23 2020
+++ src/sys/arch/cats/conf/INSTALL	Sun Jan 19 17:26:57 2020
@@ -1,4 +1,4 @@
-#	$NetBSD: INSTALL,v 1.111 2020/01/19 06:55:23 thorpej Exp $
+#	$NetBSD: INSTALL,v 1.112 2020/01/19 17:26:57 thorpej Exp $
 #
 #	CATSINST -- CHALTECH CATS Install kernel
 #
@@ -241,7 +241,6 @@ ne*	at pci? dev ? function ?	# NE2000 co
 #ntwoc*	at pci? dev ? function ?	# Riscom/N2 PCI Sync Serial
 sip*	at pci? dev ? function ?	# SiS 900 Ethernet
 #tl*	at pci? dev ? function ?	# ThunderLAN-based Ethernet
-#de*	at pci? dev ? function ?	# DECchip 21x4x and clones
 tlp*	at pci? dev ? function ?	# DECchip 21x4x and clones
 vr*	at pci? dev ? function ?	# VIA Rhine Fast Ethernet
 rtk*	at pci? dev ? function ?	# Realtek 8129/8139



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

2020-01-19 Thread Jason R Thorpe
Module Name:src
Committed By:   thorpej
Date:   Sun Jan 19 17:26:57 UTC 2020

Modified Files:
src/sys/arch/cats/conf: INSTALL

Log Message:
Remove commented out "de* at pci? ..." (this is the only kernel config
in the tree with any reference to that driver).


To generate a diff of this commit:
cvs rdiff -u -r1.111 -r1.112 src/sys/arch/cats/conf/INSTALL

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



CVS commit: src/doc

2020-01-19 Thread Jason R Thorpe
Module Name:src
Committed By:   thorpej
Date:   Sun Jan 19 16:58:23 UTC 2020

Modified Files:
src/doc: TODO.smpnet

Log Message:
HIPPI has been removed.


To generate a diff of this commit:
cvs rdiff -u -r1.31 -r1.32 src/doc/TODO.smpnet

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



CVS commit: src/doc

2020-01-19 Thread Jason R Thorpe
Module Name:src
Committed By:   thorpej
Date:   Sun Jan 19 16:58:23 UTC 2020

Modified Files:
src/doc: TODO.smpnet

Log Message:
HIPPI has been removed.


To generate a diff of this commit:
cvs rdiff -u -r1.31 -r1.32 src/doc/TODO.smpnet

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

Modified files:

Index: src/doc/TODO.smpnet
diff -u src/doc/TODO.smpnet:1.31 src/doc/TODO.smpnet:1.32
--- src/doc/TODO.smpnet:1.31	Mon Jan  6 15:21:29 2020
+++ src/doc/TODO.smpnet	Sun Jan 19 16:58:22 2020
@@ -1,4 +1,4 @@
-$NetBSD: TODO.smpnet,v 1.31 2020/01/06 15:21:29 msaitoh Exp $
+$NetBSD: TODO.smpnet,v 1.32 2020/01/19 16:58:22 thorpej Exp $
 
 MP-safe components
 ==
@@ -63,7 +63,6 @@ Unprotected ones
- ARCNET (if_arcsubr.c)
- BRIDGE_IPF
- FDDI (if_fddisubr.c)
-   - HIPPI (if_hippisubr.c)
- IEEE 1394 (if_ieee1394subr.c)
- IEEE 802.11 (ieee80211(4))
- Token ring (if_tokensubr.c)



CVS commit: src/sys/arch/arm/broadcom

2020-01-19 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sun Jan 19 16:53:20 UTC 2020

Modified Files:
src/sys/arch/arm/broadcom: bcm2835_intr.c

Log Message:
ci_core_id isn't setup early enough after recent arm_cpu_topology
changes, so use ci_mpidr as a stop gap fix for cpuid


To generate a diff of this commit:
cvs rdiff -u -r1.29 -r1.30 src/sys/arch/arm/broadcom/bcm2835_intr.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/arm/broadcom/bcm2835_intr.c
diff -u src/sys/arch/arm/broadcom/bcm2835_intr.c:1.29 src/sys/arch/arm/broadcom/bcm2835_intr.c:1.30
--- src/sys/arch/arm/broadcom/bcm2835_intr.c:1.29	Thu Dec 26 11:09:11 2019
+++ src/sys/arch/arm/broadcom/bcm2835_intr.c	Sun Jan 19 16:53:20 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: bcm2835_intr.c,v 1.29 2019/12/26 11:09:11 skrll Exp $	*/
+/*	$NetBSD: bcm2835_intr.c,v 1.30 2020/01/19 16:53:20 skrll Exp $	*/
 
 /*-
  * Copyright (c) 2012, 2015, 2019 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: bcm2835_intr.c,v 1.29 2019/12/26 11:09:11 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: bcm2835_intr.c,v 1.30 2020/01/19 16:53:20 skrll Exp $");
 
 #define _INTR_PRIVATE
 
@@ -337,7 +337,7 @@ bcm2835_irq_handler(void *frame)
 {
 	struct cpu_info * const ci = curcpu();
 	const int oldipl = ci->ci_cpl;
-	const cpuid_t cpuid = ci->ci_core_id;
+	const cpuid_t cpuid = __SHIFTOUT(ci->ci_mpidr, MPIDR_AFF0);
 	const uint32_t oldipl_mask = __BIT(oldipl);
 	int ipl_mask = 0;
 
@@ -700,7 +700,7 @@ static int
 bcm2836mp_pic_find_pending_irqs(struct pic_softc *pic)
 {
 	struct cpu_info * const ci = curcpu();
-	const cpuid_t cpuid = ci->ci_core_id;
+	const cpuid_t cpuid = __SHIFTOUT(ci->ci_mpidr, MPIDR_AFF0);
 	uint32_t lpending;
 	int ipl = 0;
 
@@ -741,7 +741,7 @@ bcm2836mp_pic_source_name(struct pic_sof
 #if defined(MULTIPROCESSOR)
 static void bcm2836mp_cpu_init(struct pic_softc *pic, struct cpu_info *ci)
 {
-	const cpuid_t cpuid = ci->ci_core_id;
+	const cpuid_t cpuid = __SHIFTOUT(ci->ci_mpidr, MPIDR_AFF0);
 
 	KASSERT(cpuid < BCM2836_NCPUS);
 
@@ -768,7 +768,7 @@ int
 bcm2836mp_ipi_handler(void *priv)
 {
 	const struct cpu_info *ci = curcpu();
-	const cpuid_t cpuid = ci->ci_core_id;
+	const cpuid_t cpuid = __SHIFTOUT(ci->ci_mpidr, MPIDR_AFF0);
 	uint32_t ipimask, bit;
 
 	KASSERT(cpuid < BCM2836_NCPUS);
@@ -817,7 +817,7 @@ bcm2836mp_ipi_handler(void *priv)
 static void
 bcm2836mp_intr_init(void *priv, struct cpu_info *ci)
 {
-	const cpuid_t cpuid = ci->ci_core_id;
+	const cpuid_t cpuid = __SHIFTOUT(ci->ci_mpidr, MPIDR_AFF0);
 	struct pic_softc * const pic = _pic[cpuid];
 
 	KASSERT(cpuid < BCM2836_NCPUS);



CVS commit: src/sys/arch/arm/broadcom

2020-01-19 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sun Jan 19 16:53:20 UTC 2020

Modified Files:
src/sys/arch/arm/broadcom: bcm2835_intr.c

Log Message:
ci_core_id isn't setup early enough after recent arm_cpu_topology
changes, so use ci_mpidr as a stop gap fix for cpuid


To generate a diff of this commit:
cvs rdiff -u -r1.29 -r1.30 src/sys/arch/arm/broadcom/bcm2835_intr.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/aarch64

2020-01-19 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sun Jan 19 16:12:56 UTC 2020

Modified Files:
src/sys/arch/aarch64/aarch64: locore.S start.S
src/sys/arch/aarch64/include: asm.h

Log Message:
Replace the two copies of the ADDR macro with a centralised adrl macro.
The adrl name matches the one used by armasm.


To generate a diff of this commit:
cvs rdiff -u -r1.52 -r1.53 src/sys/arch/aarch64/aarch64/locore.S
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/aarch64/aarch64/start.S
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/aarch64/include/asm.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/arch/aarch64/aarch64/locore.S
diff -u src/sys/arch/aarch64/aarch64/locore.S:1.52 src/sys/arch/aarch64/aarch64/locore.S:1.53
--- src/sys/arch/aarch64/aarch64/locore.S:1.52	Wed Jan 15 08:34:04 2020
+++ src/sys/arch/aarch64/aarch64/locore.S	Sun Jan 19 16:12:56 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: locore.S,v 1.52 2020/01/15 08:34:04 mrg Exp $	*/
+/*	$NetBSD: locore.S,v 1.53 2020/01/19 16:12:56 skrll Exp $	*/
 
 /*
  * Copyright (c) 2017 Ryo Shimizu 
@@ -38,7 +38,7 @@
 #include 
 #include "assym.h"
 
-RCSID("$NetBSD: locore.S,v 1.52 2020/01/15 08:34:04 mrg Exp $")
+RCSID("$NetBSD: locore.S,v 1.53 2020/01/19 16:12:56 skrll Exp $")
 
 #ifdef AARCH64_DEVICE_MEM_STRONGLY_ORDERED
 #define	MAIR_DEVICE_MEM		MAIR_DEVICE_nGnRnE
@@ -80,12 +80,6 @@ RCSID("$NetBSD: locore.S,v 1.52 2020/01/
 #define PRINT(string)	bl xprint; .asciz string; .align 2
 
 
-/* load far effective address (pc relative) */
-.macro	ADDR, reg, addr
-	adrp	\reg, \addr
-	add	\reg, \reg, #:lo12:\addr
-.endm
-
 	.text
 	.align	3
 ASENTRY_NP(aarch64_start)
@@ -94,7 +88,7 @@ ASENTRY_NP(aarch64_start)
 	mov	x28, sp
 
 	/* set stack pointer for boot */
-	ADDR	x0, bootstk
+	adrl	x0, bootstk
 	mov	sp, x0
 
 	bl	clear_bss
@@ -165,11 +159,11 @@ vstart:
 	DPRINTREG("PC   = ", x20)
 
 	/* set exception vector */
-	ADDR	x0, _C_LABEL(el1_vectors)
+	adrl	x0, _C_LABEL(el1_vectors)
 	msr	vbar_el1, x0
 
 	/* set lwp0 stack */
-	ADDR	x0, lwp0uspace
+	adrl	x0, lwp0uspace
 	add	x0, x0, #(UPAGES * PAGE_SIZE)
 	sub	x0, x0, #TF_SIZE	/* lwp0space + USPACE - TF_SIZE */
 	mov	sp, x0			/* define lwp0 ksp bottom */
@@ -180,7 +174,7 @@ vstart:
 	msr	tpidrro_el0, xzr
 
 	/* set curcpu() */
-	ADDR	x0, cpu_info_store	/* cpu_info_store is cpu_info[0] */
+	adrl	x0, cpu_info_store	/* cpu_info_store is cpu_info[0] */
 	msr	tpidr_el1, x0		/* curcpu is cpu_info[0] */
 	DPRINTREG("curcpu   = ", x0);
 
@@ -193,7 +187,7 @@ vstart:
 	bl	aarch64_getcacheinfo
 
 #ifdef KASAN
-	ADDR	x0, lwp0uspace
+	adrl	x0, lwp0uspace
 	bl	_C_LABEL(kasan_early_init)
 #endif
 
@@ -216,8 +210,8 @@ ASEND(aarch64_start)
 
 ASENTRY_NP(clear_bss)
 	/* Zero the BSS. The size must be aligned 16, usually it should be. */
-	ADDR	x14, __bss_start__
-	ADDR	x15, __bss_end__
+	adrl	x14, __bss_start__
+	adrl	x15, __bss_end__
 	b	2f
 1:	stp	xzr, xzr, [x14], #16
 2:	cmp	x14, x15
@@ -267,7 +261,7 @@ locore_lock_enter:
 	mov	x3, xzr			/* x3 = level */
 levelloop:
 	/* lock_level[] and lock_turn[] are always accessed via PA(devmap) */
-	ADDR	x0, kern_vtopdiff
+	adrl	x0, kern_vtopdiff
 	ldr	x0, [x0]
 	ldr	x4, =lock_level
 	sub	x4, x4, x0
@@ -308,7 +302,7 @@ nextlevel:
 locore_lock_exit:
 #ifdef DEBUG_LOCORE_PRINT_LOCK
 	/* lock_level[] and lock_turn[] are always accessed via PA(devmap) */
-	ADDR	x0, kern_vtopdiff
+	adrl	x0, kern_vtopdiff
 	ldr	x0, [x0]
 	ldr	x1, =lock_level
 	sub	x1, x1, x0
@@ -369,7 +363,7 @@ ENTRY_NP(cpu_mpstart)
 	 * resolve own cpuindex. my mpidr is stored in
 	 * extern uint64_t cpu_mpidr[MAXCPUS]
 	 */
-	ADDR	x0, _C_LABEL(cpu_mpidr)
+	adrl	x0, _C_LABEL(cpu_mpidr)
 	mov	x1, xzr
 1:
 	add	x1, x1, #1
@@ -388,7 +382,7 @@ ENTRY_NP(cpu_mpstart)
 	/* set stack pointer for boot */
 	mov	x1, #BOOT_AP_STACKSIZE
 	mul	x1, x1, x27
-	ADDR	x0, bootstk
+	adrl	x0, bootstk
 	add	sp, x0, x1  /* sp = bootstk + (BOOT_AP_STACKSIZE * cpuindex) */
 
 	bl	1f
@@ -434,7 +428,7 @@ mp_vstart:
 	CPU_DPRINTREG("PC   = ", x20)
 
 	/* set exception vector */
-	ADDR	x0, _C_LABEL(el1_vectors)
+	adrl	x0, _C_LABEL(el1_vectors)
 	msr	vbar_el1, x0
 
 	/* lwp-private = NULL */
@@ -444,7 +438,7 @@ mp_vstart:
 	/* set curcpu(), and fill curcpu()->ci_{midr,mpidr} */
 	mov	x0, #CPU_INFO_SIZE
 	mul	x0, x27, x0
-	ADDR	x1, _C_LABEL(cpu_info_store)
+	adrl	x1, _C_LABEL(cpu_info_store)
 	add	x0, x0, x1		/* x0 = _info_store[cpuindex] */
 	msr	tpidr_el1, x0		/* tpidr_el1 = curcpu() = x0 */
 
@@ -455,7 +449,7 @@ mp_vstart:
 
 	mov	x0, #32
 	udiv	x1, x27, x0
-	ADDR	x0, _C_LABEL(aarch64_cpu_hatched)
+	adrl	x0, _C_LABEL(aarch64_cpu_hatched)
 	add	x28, x0, x1, lsl #2	/* x28 = _cpu_hatched[cpuindex/32] */
 	mov	x0, #1
 	mov	x2, #32
@@ -474,7 +468,7 @@ mp_vstart:
 
 	mov	x0, #32
 	udiv	x1, x27, x0
-	ADDR	x0, _C_LABEL(aarch64_cpu_mbox)
+	adrl	x0, _C_LABEL(aarch64_cpu_mbox)
 	add	x28, x0, x1, lsl #2	/* x28 = _cpu_mbox[cpuindex/32] */
 
 	/* wait for 

CVS commit: src/sys/arch/aarch64

2020-01-19 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sun Jan 19 16:12:56 UTC 2020

Modified Files:
src/sys/arch/aarch64/aarch64: locore.S start.S
src/sys/arch/aarch64/include: asm.h

Log Message:
Replace the two copies of the ADDR macro with a centralised adrl macro.
The adrl name matches the one used by armasm.


To generate a diff of this commit:
cvs rdiff -u -r1.52 -r1.53 src/sys/arch/aarch64/aarch64/locore.S
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/aarch64/aarch64/start.S
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/aarch64/include/asm.h

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/include/drm

2020-01-19 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sun Jan 19 16:12:00 UTC 2020

Modified Files:
src/sys/external/bsd/drm2/dist/include/drm: drm_cache.h

Log Message:
Pull in drm_os_netbsd.h for CONFIG_ defines


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 \
src/sys/external/bsd/drm2/dist/include/drm/drm_cache.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/external/bsd/drm2/dist/include/drm/drm_cache.h
diff -u src/sys/external/bsd/drm2/dist/include/drm/drm_cache.h:1.3 src/sys/external/bsd/drm2/dist/include/drm/drm_cache.h:1.4
--- src/sys/external/bsd/drm2/dist/include/drm/drm_cache.h:1.3	Sun Jan 19 12:03:27 2020
+++ src/sys/external/bsd/drm2/dist/include/drm/drm_cache.h	Sun Jan 19 16:12:00 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: drm_cache.h,v 1.3 2020/01/19 12:03:27 jmcneill Exp $	*/
+/*	$NetBSD: drm_cache.h,v 1.4 2020/01/19 16:12:00 jmcneill Exp $	*/
 
 /**
  *
@@ -35,6 +35,10 @@
 #ifndef _DRM_CACHE_H_
 #define _DRM_CACHE_H_
 
+#ifdef __NetBSD__
+#include 
+#endif
+
 void drm_clflush_pages(struct page *pages[], unsigned long num_pages);
 
 static inline bool drm_arch_can_wc_memory(void)



CVS commit: src/sys/external/bsd/drm2/dist/include/drm

2020-01-19 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sun Jan 19 16:12:00 UTC 2020

Modified Files:
src/sys/external/bsd/drm2/dist/include/drm: drm_cache.h

Log Message:
Pull in drm_os_netbsd.h for CONFIG_ defines


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 \
src/sys/external/bsd/drm2/dist/include/drm/drm_cache.h

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/include/linux

2020-01-19 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sun Jan 19 15:31:56 UTC 2020

Modified Files:
src/sys/external/bsd/drm2/include/linux: mm.h

Log Message:
Fix build on aarch64 by including uvm_object.h.

OK from Riastradh


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/sys/external/bsd/drm2/include/linux/mm.h

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/include/linux

2020-01-19 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sun Jan 19 15:31:56 UTC 2020

Modified Files:
src/sys/external/bsd/drm2/include/linux: mm.h

Log Message:
Fix build on aarch64 by including uvm_object.h.

OK from Riastradh


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/sys/external/bsd/drm2/include/linux/mm.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/external/bsd/drm2/include/linux/mm.h
diff -u src/sys/external/bsd/drm2/include/linux/mm.h:1.11 src/sys/external/bsd/drm2/include/linux/mm.h:1.12
--- src/sys/external/bsd/drm2/include/linux/mm.h:1.11	Fri Jan 17 20:09:47 2020
+++ src/sys/external/bsd/drm2/include/linux/mm.h	Sun Jan 19 15:31:56 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: mm.h,v 1.11 2020/01/17 20:09:47 ad Exp $	*/
+/*	$NetBSD: mm.h,v 1.12 2020/01/19 15:31:56 skrll Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -35,6 +35,7 @@
 #include 
 
 #include 
+#include 
 
 #include 
 #include 



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

2020-01-19 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sun Jan 19 15:08:43 UTC 2020

Modified Files:
src/sys/arch/aarch64/aarch64: start.S

Log Message:
Style.  NFCI


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/aarch64/aarch64/start.S

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



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

2020-01-19 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sun Jan 19 15:08:43 UTC 2020

Modified Files:
src/sys/arch/aarch64/aarch64: start.S

Log Message:
Style.  NFCI


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/aarch64/aarch64/start.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/aarch64/aarch64/start.S
diff -u src/sys/arch/aarch64/aarch64/start.S:1.5 src/sys/arch/aarch64/aarch64/start.S:1.6
--- src/sys/arch/aarch64/aarch64/start.S:1.5	Sat Dec 14 17:24:30 2019
+++ src/sys/arch/aarch64/aarch64/start.S	Sun Jan 19 15:08:43 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: start.S,v 1.5 2019/12/14 17:24:30 skrll Exp $	*/
+/*	$NetBSD: start.S,v 1.6 2020/01/19 15:08:43 skrll Exp $	*/
 
 /*
  * Copyright (c) 2017 Ryo Shimizu 
@@ -32,7 +32,7 @@
 
 #include 
 
-RCSID("$NetBSD: start.S,v 1.5 2019/12/14 17:24:30 skrll Exp $")
+RCSID("$NetBSD: start.S,v 1.6 2020/01/19 15:08:43 skrll Exp $")
 
 /* load far effective address (pc relative) */
 .macro	ADDR, reg, addr
@@ -41,9 +41,10 @@ RCSID("$NetBSD: start.S,v 1.5 2019/12/14
 .endm
 
 /*
- * Padding at start of kernel image to make room for 64-byte header (non-ELF booting)
+ * Padding at start of kernel image to make room for 64-byte header
+ * (non-ELF booting)
  */
-.space	64, 0x0
+	.space	64, 0x0
 
 /*
  * Kernel start routine for aarch64 boards.



CVS commit: src/sys/external/bsd/drm2

2020-01-19 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sun Jan 19 12:03:27 UTC 2020

Modified Files:
src/sys/external/bsd/drm2/dist/include/drm: drm_cache.h
src/sys/external/bsd/drm2/include/drm: drm_os_netbsd.h

Log Message:
Disable the use of WC memory on Arm and Arm64. From Linux:

 * The DRM driver stack is designed to work with cache coherent devices
 * only, but permits an optimization to be enabled in some cases, where
 * for some buffers, both the CPU and the GPU use uncached mappings,
 * removing the need for DMA snooping and allocation in the CPU caches.
 *
 * The use of uncached GPU mappings relies on the correct implementation
 * of the PCIe NoSnoop TLP attribute by the platform, otherwise the GPU
 * will use cached mappings nonetheless. On x86 platforms, this does not
 * seem to matter, as uncached CPU mappings will snoop the caches in any
 * case. However, on ARM and arm64, enabling this optimization on a
 * platform where NoSnoop is ignored results in loss of coherency, which
 * breaks correct operation of the device. Since we have no way of
 * detecting whether NoSnoop works or not, just disable this
 * optimization entirely for ARM and arm64.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
src/sys/external/bsd/drm2/dist/include/drm/drm_cache.h
cvs rdiff -u -r1.15 -r1.16 \
src/sys/external/bsd/drm2/include/drm/drm_os_netbsd.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/external/bsd/drm2/dist/include/drm/drm_cache.h
diff -u src/sys/external/bsd/drm2/dist/include/drm/drm_cache.h:1.2 src/sys/external/bsd/drm2/dist/include/drm/drm_cache.h:1.3
--- src/sys/external/bsd/drm2/dist/include/drm/drm_cache.h:1.2	Mon Aug 27 04:58:37 2018
+++ src/sys/external/bsd/drm2/dist/include/drm/drm_cache.h	Sun Jan 19 12:03:27 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: drm_cache.h,v 1.2 2018/08/27 04:58:37 riastradh Exp $	*/
+/*	$NetBSD: drm_cache.h,v 1.3 2020/01/19 12:03:27 jmcneill Exp $	*/
 
 /**
  *
@@ -43,6 +43,8 @@ static inline bool drm_arch_can_wc_memor
 	return false;
 #elif defined(CONFIG_MIPS) && defined(CONFIG_CPU_LOONGSON3)
 	return false;
+#elif defined(CONFIG_ARM) || defined(CONFIG_ARM64)
+	return false;
 #else
 	return true;
 #endif

Index: src/sys/external/bsd/drm2/include/drm/drm_os_netbsd.h
diff -u src/sys/external/bsd/drm2/include/drm/drm_os_netbsd.h:1.15 src/sys/external/bsd/drm2/include/drm/drm_os_netbsd.h:1.16
--- src/sys/external/bsd/drm2/include/drm/drm_os_netbsd.h:1.15	Tue Nov  5 23:29:28 2019
+++ src/sys/external/bsd/drm2/include/drm/drm_os_netbsd.h	Sun Jan 19 12:03:27 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: drm_os_netbsd.h,v 1.15 2019/11/05 23:29:28 jmcneill Exp $	*/
+/*	$NetBSD: drm_os_netbsd.h,v 1.16 2020/01/19 12:03:27 jmcneill Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -41,6 +41,14 @@
 #define	CONFIG_X86_PAT	1
 #endif
 
+#if defined(__arm__)
+#define CONFIG_ARM	1
+#endif
+
+#if defined(__aarch64__)
+#define CONFIG_ARM64	1
+#endif
+
 /*
  * Nothing meaningfully depends on this; defining this avoids patching
  * away some conditionalization in drmP.h.



CVS commit: src/sys/external/bsd/drm2

2020-01-19 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sun Jan 19 12:03:27 UTC 2020

Modified Files:
src/sys/external/bsd/drm2/dist/include/drm: drm_cache.h
src/sys/external/bsd/drm2/include/drm: drm_os_netbsd.h

Log Message:
Disable the use of WC memory on Arm and Arm64. From Linux:

 * The DRM driver stack is designed to work with cache coherent devices
 * only, but permits an optimization to be enabled in some cases, where
 * for some buffers, both the CPU and the GPU use uncached mappings,
 * removing the need for DMA snooping and allocation in the CPU caches.
 *
 * The use of uncached GPU mappings relies on the correct implementation
 * of the PCIe NoSnoop TLP attribute by the platform, otherwise the GPU
 * will use cached mappings nonetheless. On x86 platforms, this does not
 * seem to matter, as uncached CPU mappings will snoop the caches in any
 * case. However, on ARM and arm64, enabling this optimization on a
 * platform where NoSnoop is ignored results in loss of coherency, which
 * breaks correct operation of the device. Since we have no way of
 * detecting whether NoSnoop works or not, just disable this
 * optimization entirely for ARM and arm64.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
src/sys/external/bsd/drm2/dist/include/drm/drm_cache.h
cvs rdiff -u -r1.15 -r1.16 \
src/sys/external/bsd/drm2/include/drm/drm_os_netbsd.h

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



CVS commit: src/doc

2020-01-19 Thread Leonardo Taccari
Module Name:src
Committed By:   leot
Date:   Sun Jan 19 11:29:42 UTC 2020

Modified Files:
src/doc: CHANGES

Log Message:
Fix a typo


To generate a diff of this commit:
cvs rdiff -u -r1.2637 -r1.2638 src/doc/CHANGES

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



CVS commit: src/doc

2020-01-19 Thread Leonardo Taccari
Module Name:src
Committed By:   leot
Date:   Sun Jan 19 11:29:42 UTC 2020

Modified Files:
src/doc: CHANGES

Log Message:
Fix a typo


To generate a diff of this commit:
cvs rdiff -u -r1.2637 -r1.2638 src/doc/CHANGES

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
diff -u src/doc/CHANGES:1.2637 src/doc/CHANGES:1.2638
--- src/doc/CHANGES:1.2637	Sun Jan 19 06:57:39 2020
+++ src/doc/CHANGES	Sun Jan 19 11:29:42 2020
@@ -1,4 +1,4 @@
-# LIST OF CHANGES FROM LAST RELEASE:			<$Revision: 1.2637 $>
+# LIST OF CHANGES FROM LAST RELEASE:			<$Revision: 1.2638 $>
 #
 #
 # [Note: This file does not mention every change made to the NetBSD source tree.
@@ -99,4 +99,4 @@ Changes from NetBSD 9.0 to NetBSD 10.0:
 		[mrg 20201114]
 	uyurex(4): Removed from the tree. [maya 20200117]
 	strip(4): Removed from the tree. [thorpej 20200118]
-	hippi and esh(4): Removed from the trere. [thorpej 20200118]
+	hippi and esh(4): Removed from the tree. [thorpej 20200118]



CVS commit: src/sys/external/bsd/drm2/dist/drm/radeon

2020-01-19 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sun Jan 19 11:07:00 UTC 2020

Modified Files:
src/sys/external/bsd/drm2/dist/drm/radeon: radeon_vce.c

Log Message:
Fix loading TAHITI VCE firmware.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 \
src/sys/external/bsd/drm2/dist/drm/radeon/radeon_vce.c

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/radeon

2020-01-19 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sun Jan 19 11:07:00 UTC 2020

Modified Files:
src/sys/external/bsd/drm2/dist/drm/radeon: radeon_vce.c

Log Message:
Fix loading TAHITI VCE firmware.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 \
src/sys/external/bsd/drm2/dist/drm/radeon/radeon_vce.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/radeon/radeon_vce.c
diff -u src/sys/external/bsd/drm2/dist/drm/radeon/radeon_vce.c:1.3 src/sys/external/bsd/drm2/dist/drm/radeon/radeon_vce.c:1.4
--- src/sys/external/bsd/drm2/dist/drm/radeon/radeon_vce.c:1.3	Mon Aug 27 04:58:36 2018
+++ src/sys/external/bsd/drm2/dist/drm/radeon/radeon_vce.c	Sun Jan 19 11:07:00 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: radeon_vce.c,v 1.3 2018/08/27 04:58:36 riastradh Exp $	*/
+/*	$NetBSD: radeon_vce.c,v 1.4 2020/01/19 11:07:00 jmcneill Exp $	*/
 
 /*
  * Copyright 2013 Advanced Micro Devices, Inc.
@@ -28,7 +28,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: radeon_vce.c,v 1.3 2018/08/27 04:58:36 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: radeon_vce.c,v 1.4 2020/01/19 11:07:00 jmcneill Exp $");
 
 #include 
 #include 
@@ -53,34 +53,38 @@ static void radeon_vce_idle_work_handler
 
 #ifdef __NetBSD__		/* XXX Ugh!  */
 static bool
-scan_2dec_u8(const char **sp, char delim, uint8_t *u8p)
+scan_2dec_uint(const char **sp, char delim, unsigned int *uintp)
 {
-	char c0, c1;
+	u_int val = 0, n;
+	char c;
 
-	if (!isdigit((unsigned char)(c0 = *(*sp)++)))
-		return false;
-	if (!isdigit((unsigned char)(c1 = *(*sp)++)))
-		return false;
-	if (*(*sp)++ != delim)
+	for (n = 0; n < 2; n++) {
+		c = *(*sp)++;
+		if (!isdigit((unsigned char)c))
+			return false;
+		if (n != 0)
+			val *= 10;
+		val += (c - '0');
+		if (*(*sp) == delim)
+			break;
+	}
+	if (*(*sp) != delim)
 		return false;
 
-	*u8p = ((c0 - '0') * 10) + (c1 - '0');
+	(*sp)++;
+	*uintp = val;
 	return true;
 }
 
 static bool
-scan_2dec_uint(const char **sp, char delim, unsigned int *uintp)
+scan_2dec_u8(const char **sp, char delim, uint8_t *u8p)
 {
-	char c0, c1;
+	unsigned int val;
 
-	if (!isdigit((unsigned char)(c0 = *(*sp)++)))
-		return false;
-	if (!isdigit((unsigned char)(c1 = *(*sp)++)))
-		return false;
-	if (*(*sp)++ != delim)
+	if (!scan_2dec_uint(sp, delim, ))
 		return false;
 
-	*uintp = ((c0 - '0') * 10) + (c1 - '0');
+	*u8p = (uint8_t)val;
 	return true;
 }
 #endif



CVS commit: src/sys/arch/arm/arm32

2020-01-19 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sun Jan 19 10:59:56 UTC 2020

Modified Files:
src/sys/arch/arm/arm32: pmap.c

Log Message:
Fix non-ARM_MMU_EXTENDED buildx


To generate a diff of this commit:
cvs rdiff -u -r1.380 -r1.381 src/sys/arch/arm/arm32/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/arm/arm32/pmap.c
diff -u src/sys/arch/arm/arm32/pmap.c:1.380 src/sys/arch/arm/arm32/pmap.c:1.381
--- src/sys/arch/arm/arm32/pmap.c:1.380	Sat Jan 18 14:40:04 2020
+++ src/sys/arch/arm/arm32/pmap.c	Sun Jan 19 10:59:56 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: pmap.c,v 1.380 2020/01/18 14:40:04 skrll Exp $	*/
+/*	$NetBSD: pmap.c,v 1.381 2020/01/19 10:59:56 skrll Exp $	*/
 
 /*
  * Copyright 2003 Wasabi Systems, Inc.
@@ -221,7 +221,7 @@
 #include 
 #endif
 
-__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.380 2020/01/18 14:40:04 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.381 2020/01/19 10:59:56 skrll Exp $");
 
 //#define PMAP_DEBUG
 #ifdef PMAP_DEBUG
@@ -745,7 +745,6 @@ static void		pmap_use_l1(pmap_t);
 
 static struct l2_bucket *pmap_get_l2_bucket(pmap_t, vaddr_t);
 static struct l2_bucket *pmap_alloc_l2_bucket(pmap_t, vaddr_t);
-static int		pmap_l1tt_ctor(void *, void *, int);
 static void		pmap_free_l2_bucket(pmap_t, struct l2_bucket *, u_int);
 static int		pmap_l2ptp_ctor(void *, void *, int);
 static int		pmap_l2dtable_ctor(void *, void *, int);
@@ -780,18 +779,17 @@ static void		pmap_init_l1(struct l1_ttab
 static vaddr_t		kernel_pt_lookup(paddr_t);
 
 #ifdef ARM_MMU_EXTENDED
-
 static struct pool_cache pmap_l1tt_cache;
 
-static void *pmap_l1tt_alloc(struct pool *, int);
-static void pmap_l1tt_free(struct pool *, void *);
+static int		pmap_l1tt_ctor(void *, void *, int);
+static void *		pmap_l1tt_alloc(struct pool *, int);
+static void		pmap_l1tt_free(struct pool *, void *);
 
 static struct pool_allocator pmap_l1tt_allocator = {
 	.pa_alloc = pmap_l1tt_alloc,
 	.pa_free = pmap_l1tt_free,
 	.pa_pagesz = L1TT_SIZE,
 };
-
 #endif
 
 /*



CVS commit: src/sys/arch/arm/arm32

2020-01-19 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sun Jan 19 10:59:56 UTC 2020

Modified Files:
src/sys/arch/arm/arm32: pmap.c

Log Message:
Fix non-ARM_MMU_EXTENDED buildx


To generate a diff of this commit:
cvs rdiff -u -r1.380 -r1.381 src/sys/arch/arm/arm32/pmap.c

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



CVS commit: src/distrib/sets/lists

2020-01-19 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Sun Jan 19 10:50:26 UTC 2020

Modified Files:
src/distrib/sets/lists/comp: mi
src/distrib/sets/lists/debug: mi
src/distrib/sets/lists/man: mi

Log Message:
Fix set lists after HIPPI removal


To generate a diff of this commit:
cvs rdiff -u -r1.2301 -r1.2302 src/distrib/sets/lists/comp/mi
cvs rdiff -u -r1.291 -r1.292 src/distrib/sets/lists/debug/mi
cvs rdiff -u -r1.1670 -r1.1671 src/distrib/sets/lists/man/mi

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

Modified files:

Index: src/distrib/sets/lists/comp/mi
diff -u src/distrib/sets/lists/comp/mi:1.2301 src/distrib/sets/lists/comp/mi:1.2302
--- src/distrib/sets/lists/comp/mi:1.2301	Sun Jan 19 06:55:22 2020
+++ src/distrib/sets/lists/comp/mi	Sun Jan 19 10:50:25 2020
@@ -1,4 +1,4 @@
-#	$NetBSD: mi,v 1.2301 2020/01/19 06:55:22 thorpej Exp $
+#	$NetBSD: mi,v 1.2302 2020/01/19 10:50:25 martin Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 ./etc/mtree/set.compcomp-sys-root
@@ -2348,7 +2348,7 @@
 ./usr/include/net/if_fddi.h			comp-c-include
 ./usr/include/net/if_gif.h			comp-c-include
 ./usr/include/net/if_gre.h			comp-c-include
-./usr/include/net/if_hippi.h			comp-c-include
+./usr/include/net/if_hippi.h			comp-obsolete		obsolete
 ./usr/include/net/if_ieee1394.h			comp-c-include
 ./usr/include/net/if_ieee80211.h		comp-obsolete		obsolete
 ./usr/include/net/if_ipsec.h			comp-c-include

Index: src/distrib/sets/lists/debug/mi
diff -u src/distrib/sets/lists/debug/mi:1.291 src/distrib/sets/lists/debug/mi:1.292
--- src/distrib/sets/lists/debug/mi:1.291	Sat Jan 18 17:18:41 2020
+++ src/distrib/sets/lists/debug/mi	Sun Jan 19 10:50:26 2020
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.291 2020/01/18 17:18:41 kre Exp $
+# $NetBSD: mi,v 1.292 2020/01/19 10:50:26 martin Exp $
 ./etc/mtree/set.debug   comp-sys-root
 ./usr/lib	comp-sys-usr		compatdir
 ./usr/lib/i18n/libBIG5_g.a			comp-c-debuglib		debuglib,compatfile
@@ -1065,7 +1065,7 @@
 ./usr/libdata/debug/usr/sbin/dumplfs.debug	comp-sysutil-debug	debug
 ./usr/libdata/debug/usr/sbin/edquota.debug	comp-sysutil-debug	debug
 ./usr/libdata/debug/usr/sbin/envstat.debug	comp-sysutil-debug	debug
-./usr/libdata/debug/usr/sbin/eshconfig.debug	comp-sysutil-debug	debug
+./usr/libdata/debug/usr/sbin/eshconfig.debug	comp-obsolete		obsolete
 ./usr/libdata/debug/usr/sbin/extattrctl.debug	comp-sysutil-debug	debug
 ./usr/libdata/debug/usr/sbin/faithd.debug	comp-router-debug	inet6,debug
 ./usr/libdata/debug/usr/sbin/fixmount.debug	comp-nfsclient-debug	debug

Index: src/distrib/sets/lists/man/mi
diff -u src/distrib/sets/lists/man/mi:1.1670 src/distrib/sets/lists/man/mi:1.1671
--- src/distrib/sets/lists/man/mi:1.1670	Sun Jan 19 01:25:03 2020
+++ src/distrib/sets/lists/man/mi	Sun Jan 19 10:50:26 2020
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.1670 2020/01/19 01:25:03 thorpej Exp $
+# $NetBSD: mi,v 1.1671 2020/01/19 10:50:26 martin Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -2532,7 +2532,7 @@
 ./usr/share/man/cat8/emips/makedev.0		man-obsolete		obsolete
 ./usr/share/man/cat8/envstat.0			man-sysutil-catman	.cat
 ./usr/share/man/cat8/error.0			man-postfix-catman	postfix,.cat
-./usr/share/man/cat8/eshconfig.0		man-sysutil-catman	.cat
+./usr/share/man/cat8/eshconfig.0		man-obsolete		obsolete
 ./usr/share/man/cat8/etcupdate.0		man-sysutil-catman	.cat
 ./usr/share/man/cat8/evbarm/MAKEDEV.0		man-obsolete		obsolete
 ./usr/share/man/cat8/evbarm/bootmini2440.0	man-sysutil-catman	.cat
@@ -5567,7 +5567,7 @@
 ./usr/share/man/html8/emips/boot.html		man-sys-htmlman		html
 ./usr/share/man/html8/envstat.html		man-sysutil-htmlman	html
 ./usr/share/man/html8/error.html		man-postfix-htmlman	postfix,html
-./usr/share/man/html8/eshconfig.html		man-sysutil-htmlman	html
+./usr/share/man/html8/eshconfig.html		man-obsolete		obsolete
 ./usr/share/man/html8/etcupdate.html		man-sysutil-htmlman	html
 ./usr/share/man/html8/evbarm/bootmini2440.html	man-sysutil-htmlman	html
 ./usr/share/man/html8/evbarm/elftosb.html	man-sysutil-htmlman	html,cxx
@@ -8667,11 +8667,11 @@
 ./usr/share/man/man8/eeprom.8			man-sysutil-man		.man
 ./usr/share/man/man8/emips/MAKEDEV.8		man-obsolete		obsolete
 ./usr/share/man/man8/emips/boot.8		man-sys-man		.man
-./usr/share/man/man8/emips/installboot.8		man-obsolete		obsolete
+./usr/share/man/man8/emips/installboot.8	man-obsolete		obsolete
 ./usr/share/man/man8/emips/makedev.8		man-obsolete		obsolete
 ./usr/share/man/man8/envstat.8			man-sysutil-man		.man
 ./usr/share/man/man8/error.8			man-postfix-man		postfix,.man
-./usr/share/man/man8/eshconfig.8		man-sysutil-man		.man
+./usr/share/man/man8/eshconfig.8		man-obsolete		obsolete
 ./usr/share/man/man8/etcupdate.8		man-sysutil-man		.man
 ./usr/share/man/man8/evbarm/MAKEDEV.8		man-obsolete		obsolete
 ./usr/share/man/man8/evbarm/bootmini2440.8	man-sysutils-man	.man



CVS commit: src/distrib/sets/lists

2020-01-19 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Sun Jan 19 10:50:26 UTC 2020

Modified Files:
src/distrib/sets/lists/comp: mi
src/distrib/sets/lists/debug: mi
src/distrib/sets/lists/man: mi

Log Message:
Fix set lists after HIPPI removal


To generate a diff of this commit:
cvs rdiff -u -r1.2301 -r1.2302 src/distrib/sets/lists/comp/mi
cvs rdiff -u -r1.291 -r1.292 src/distrib/sets/lists/debug/mi
cvs rdiff -u -r1.1670 -r1.1671 src/distrib/sets/lists/man/mi

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



CVS commit: src

2020-01-19 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sun Jan 19 10:45:50 UTC 2020

Modified Files:
src/distrib/sets/lists/xdebug: md.evbarm
src/distrib/sets/lists/xserver: md.evbarm
src/external/mit/xorg/server/drivers: Makefile

Log Message:
Build ati driver on evbarm.


To generate a diff of this commit:
cvs rdiff -u -r1.25 -r1.26 src/distrib/sets/lists/xdebug/md.evbarm
cvs rdiff -u -r1.18 -r1.19 src/distrib/sets/lists/xserver/md.evbarm
cvs rdiff -u -r1.98 -r1.99 src/external/mit/xorg/server/drivers/Makefile

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

Modified files:

Index: src/distrib/sets/lists/xdebug/md.evbarm
diff -u src/distrib/sets/lists/xdebug/md.evbarm:1.25 src/distrib/sets/lists/xdebug/md.evbarm:1.26
--- src/distrib/sets/lists/xdebug/md.evbarm:1.25	Sun Jan 19 00:58:14 2020
+++ src/distrib/sets/lists/xdebug/md.evbarm	Sun Jan 19 10:45:49 2020
@@ -1,4 +1,4 @@
-# $NetBSD: md.evbarm,v 1.25 2020/01/19 00:58:14 jmcneill Exp $
+# $NetBSD: md.evbarm,v 1.26 2020/01/19 10:45:49 jmcneill Exp $
 ./usr/X11R7/lib/libdrm_amdgpu_g.a			xdebug-libdrm_amdgpu-debuglib	xorg,debuglib,compatx11file
 ./usr/X11R7/lib/libdrm_nouveau_g.a			xdebug-libdrm_nouveau-debuglib	xorg,debuglib
 ./usr/X11R7/lib/libvdpau_g.axdebug-libvdpau-debuglib	xorg,debuglib
@@ -29,6 +29,8 @@
 ./usr/libdata/debug/usr/X11R7/lib/modules/dri/r300_dri.so.0.debug	xdebug-gallium-debug		xorg,debug,llvmrt
 ./usr/libdata/debug/usr/X11R7/lib/modules/dri/r600_dri.so.0.debug	xdebug-xf86-video-radeon-debug		xorg,debug,llvmrt
 ./usr/libdata/debug/usr/X11R7/lib/modules/dri/radeon_dri.so.0.debug	xdebug-xf86-video-radeon-debug		xorg,debug
+./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ati_drv.so.6.debug	xdebug-xf86-video-ati-debug		xorg,debug
+./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libati_drv.so.6.debug	xdebug-obsolete	xorg,obsolete
 ./usr/libdata/debug/usr/X11R7/lib/modules/drivers/kbd_drv.so.1.debug	xdebug-xf86-input-keyboard-debug	xorg,debug
 ./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libkbd_drv.so.1.debug	xdebug-obsolete	xorg,obsolete
 ./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmouse_drv.so.1.debug	xdebug-obsolete	xorg,obsolete

Index: src/distrib/sets/lists/xserver/md.evbarm
diff -u src/distrib/sets/lists/xserver/md.evbarm:1.18 src/distrib/sets/lists/xserver/md.evbarm:1.19
--- src/distrib/sets/lists/xserver/md.evbarm:1.18	Sun Jan 19 00:58:14 2020
+++ src/distrib/sets/lists/xserver/md.evbarm	Sun Jan 19 10:45:50 2020
@@ -1,4 +1,4 @@
-# $NetBSD: md.evbarm,v 1.18 2020/01/19 00:58:14 jmcneill Exp $
+# $NetBSD: md.evbarm,v 1.19 2020/01/19 10:45:50 jmcneill Exp $
 ./usr/X11R7/bin/X	xserver-xorg-server-bin	xorg
 ./usr/X11R7/bin/Xorg	xserver-xorg-server-bin	xorg
 ./usr/X11R7/bin/cvt	xserver-xorg-server-bin	xorg
@@ -18,6 +18,8 @@
 ./usr/X11R7/lib/modules/dri/r600_dri.so.0		xserver-xf86-video-radeon-drivers	xorg,llvmrt
 ./usr/X11R7/lib/modules/dri/radeon_dri.so		xserver-xf86-video-radeon-drivers	xorg
 ./usr/X11R7/lib/modules/dri/radeon_dri.so.0		xserver-xf86-video-radeon-drivers	xorg
+./usr/X11R7/lib/modules/drivers/ati_drv.so		xserver-xf86-video-ati-drivers	xorg
+./usr/X11R7/lib/modules/drivers/ati_drv.so.6		xserver-xf86-video-ati-drivers	xorg
 ./usr/X11R7/lib/modules/drivers/kbd_drv.so		xserver-xf86-input-keyboard-drivers	xorg
 ./usr/X11R7/lib/modules/drivers/kbd_drv.so.1		xserver-xf86-input-keyboard-drivers	xorg
 ./usr/X11R7/lib/modules/drivers/modesetting_drv.so	xserver-modesetting-drivers	xorg
@@ -107,6 +109,7 @@
 ./usr/X11R7/man/cat1/Xorg.0xserver-xorg-server-catman	.cat,xorg
 ./usr/X11R7/man/cat1/cvt.0xserver-xorg-server-catman	.cat,xorg
 ./usr/X11R7/man/cat1/gtf.0xserver-xorg-server-catman	.cat,xorg
+./usr/X11R7/man/cat4/ati.0xserver-xf86-video-ati-catman	.cat,xorg
 ./usr/X11R7/man/cat4/exa.0xserver-xf86-video-exa-catman	.cat,xorg
 ./usr/X11R7/man/cat4/kbd.0xserver-xf86-input-keyboard-catman	.cat,xorg
 ./usr/X11R7/man/cat4/modesetting.0			xserver-modesetting-catman	.cat,xorg
@@ -118,6 +121,7 @@
 ./usr/X11R7/man/html1/Xorg.htmlxserver-xorg-server-htmlman	html,xorg
 ./usr/X11R7/man/html1/cvt.htmlxserver-xorg-server-htmlman	html,xorg
 ./usr/X11R7/man/html1/gtf.htmlxserver-xorg-server-htmlman	html,xorg
+./usr/X11R7/man/html4/ati.htmlxserver-xf86-video-ati-htmlman	html,xorg
 ./usr/X11R7/man/html4/exa.htmlxserver-xf86-video-exa-htmlman	html,xorg
 ./usr/X11R7/man/html4/evbarm/radeon.html		xserver-xf86-video-radeon-htmlman	html,xorg
 ./usr/X11R7/man/html4/kbd.htmlxserver-xf86-input-keyboard-htmlman	html,xorg
@@ -132,6 +136,7 @@
 ./usr/X11R7/man/man1/Xorg.1xserver-xorg-server-man	.man,xorg
 ./usr/X11R7/man/man1/cvt.1xserver-xorg-server-man	.man,xorg
 ./usr/X11R7/man/man1/gtf.1xserver-xorg-server-man	.man,xorg
+./usr/X11R7/man/man4/ati.4xserver-xf86-video-ati-man	.man,xorg
 ./usr/X11R7/man/man4/exa.4xserver-xf86-video-exa-man	.man,xorg
 

CVS commit: src

2020-01-19 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sun Jan 19 10:45:50 UTC 2020

Modified Files:
src/distrib/sets/lists/xdebug: md.evbarm
src/distrib/sets/lists/xserver: md.evbarm
src/external/mit/xorg/server/drivers: Makefile

Log Message:
Build ati driver on evbarm.


To generate a diff of this commit:
cvs rdiff -u -r1.25 -r1.26 src/distrib/sets/lists/xdebug/md.evbarm
cvs rdiff -u -r1.18 -r1.19 src/distrib/sets/lists/xserver/md.evbarm
cvs rdiff -u -r1.98 -r1.99 src/external/mit/xorg/server/drivers/Makefile

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/server/drivers/xf86-video-radeon-kms

2020-01-19 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Sun Jan 19 10:44:51 UTC 2020

Modified Files:
src/external/mit/xorg/server/drivers/xf86-video-radeon-kms: Makefile

Log Message:
Fix conditional in previous


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 \
src/external/mit/xorg/server/drivers/xf86-video-radeon-kms/Makefile

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/server/drivers/xf86-video-radeon-kms

2020-01-19 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Sun Jan 19 10:44:51 UTC 2020

Modified Files:
src/external/mit/xorg/server/drivers/xf86-video-radeon-kms: Makefile

Log Message:
Fix conditional in previous


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 \
src/external/mit/xorg/server/drivers/xf86-video-radeon-kms/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/server/drivers/xf86-video-radeon-kms/Makefile
diff -u src/external/mit/xorg/server/drivers/xf86-video-radeon-kms/Makefile:1.10 src/external/mit/xorg/server/drivers/xf86-video-radeon-kms/Makefile:1.11
--- src/external/mit/xorg/server/drivers/xf86-video-radeon-kms/Makefile:1.10	Sun Jan 19 00:58:15 2020
+++ src/external/mit/xorg/server/drivers/xf86-video-radeon-kms/Makefile	Sun Jan 19 10:44:51 2020
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.10 2020/01/19 00:58:15 jmcneill Exp $
+#	$NetBSD: Makefile,v 1.11 2020/01/19 10:44:51 martin Exp $
 
 .include 
 
@@ -47,7 +47,7 @@ SRCS=		radeon_accel.c radeon_video.c \
 
 MAN=		radeon.4
 
-.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "amd64"
+.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
 MANSUBDIR=	/x86
 .else
 MANSUBDIR=	/${MACHINE}



Re: CVS commit: src/doc

2020-01-19 Thread Kamil Rytarowski
On 19.01.2020 07:57, Jason R Thorpe wrote:
> Module Name:  src
> Committed By: thorpej
> Date: Sun Jan 19 06:57:39 UTC 2020
> 
> Modified Files:
>   src/doc: CHANGES
> 
> Log Message:
> Note removal of HIPPI support.

Thanks!

Please keep in sync src/doc/TODO.smpnet.



signature.asc
Description: OpenPGP digital signature