svn commit: r355050 - head/share/misc

2019-11-23 Thread Eitan Adler
Author: eadler
Date: Sun Nov 24 07:52:35 2019
New Revision: 355050
URL: https://svnweb.freebsd.org/changeset/base/355050

Log:
  bsd-family-tree: add several new entries
  
  Reviewed by:  imp, scottl
  Differential Revision:https://reviews.freebsd.org/D22529

Modified:
  head/share/misc/bsd-family-tree

Modified: head/share/misc/bsd-family-tree
==
--- head/share/misc/bsd-family-tree Sun Nov 24 06:54:17 2019
(r355049)
+++ head/share/misc/bsd-family-tree Sun Nov 24 07:52:35 2019
(r355050)
@@ -400,14 +400,14 @@ FreeBSD 5.2   |  | |  
  | |  |   |  |   8.1  |DragonFly 5.6
  | |  |   |  |||
  | |  |   |  ||DragonFly 5.6.1
- | |   FreeBSD|  |||
- | | 11.3 |  |||
+ | |   FreeBSD  macOS|||
+ | | 11.3   10.15|||
  |  FreeBSD   |  |OpenBSD 6.6  |
- |   12.1 |  |||
- | |  |  |||
+ |   12.1   macOS|||
+ | |   10.15.1   ||DragonFly 5.6.2
  | v  |  |||
  ||  |||
-FreeBSD 13 -current   |  NetBSD -current   OpenBSD -current   DragonFly 
-current
+FreeBSD 13 -current   |  NetBSD -current   OpenBSD -currentDragonFly 
-current
  ||  |||
  vv  vvv
 
@@ -793,7 +793,10 @@ NetBSD 8.1 2019-06-04 [NBD]
 DragonFly 5.6  2019-06-17 [DFB]
 DragonFly 5.6.12019-06-19 [DFB]
 FreeBSD 11.3   2019-07-09 [FBD]
+DragonFly 5.6.22019-08-11 [DFB]
 OpenBSD 6.62019-10-17 [OBD]
+macOS 10.152019-10.29 [APL]
+macOS 10.15.1  2019-10-29 [APL] (security/critical release)
 FreeBSD 12.1   2019-11-04 [FBD]
 
 Bibliography
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355049 - stable/11/sys/vm

2019-11-23 Thread Doug Moore
Author: dougm
Date: Sun Nov 24 06:54:17 2019
New Revision: 355049
URL: https://svnweb.freebsd.org/changeset/base/355049

Log:
  MFC r354785
  
  The loop in vm_map_protect that verifies that all transition map
  entries are stabilized, repeatedly verifies the same entry. Check each
  entry in turn.

Modified:
  stable/11/sys/vm/vm_map.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/vm/vm_map.c
==
--- stable/11/sys/vm/vm_map.c   Sun Nov 24 06:46:49 2019(r355048)
+++ stable/11/sys/vm/vm_map.c   Sun Nov 24 06:54:17 2019(r355049)
@@ -2041,17 +2041,16 @@ again:
vm_map_unlock(map);
return (KERN_PROTECTION_FAILURE);
}
-   if ((entry->eflags & MAP_ENTRY_IN_TRANSITION) != 0)
-   in_tran = entry;
+   if ((current->eflags & MAP_ENTRY_IN_TRANSITION) != 0)
+   in_tran = current;
}
 
/*
-* Postpone the operation until all in transition map entries
-* are stabilized.  In-transition entry might already have its
-* pages wired and wired_count incremented, but
-* MAP_ENTRY_USER_WIRED flag not yet set, and visible to other
-* threads because the map lock is dropped.  In this case we
-* would miss our call to vm_fault_copy_entry().
+* Postpone the operation until all in-transition map entries have
+* stabilized.  An in-transition entry might already have its pages
+* wired and wired_count incremented, but not yet have its
+* MAP_ENTRY_USER_WIRED flag set.  In which case, we would fail to call
+* vm_fault_copy_entry() in the final loop below.
 */
if (in_tran != NULL) {
in_tran->eflags |= MAP_ENTRY_NEEDS_WAKEUP;
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355048 - stable/12/sys/vm

2019-11-23 Thread Doug Moore
Author: dougm
Date: Sun Nov 24 06:46:49 2019
New Revision: 355048
URL: https://svnweb.freebsd.org/changeset/base/355048

Log:
  MFC r354785
  
  The loop in vm_map_protect that verifies that all transition map
  entries are stabilized, repeatedly verifies the same entry. Check each
  entry in turn.

Modified:
  stable/12/sys/vm/vm_map.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/vm/vm_map.c
==
--- stable/12/sys/vm/vm_map.c   Sun Nov 24 06:43:03 2019(r355047)
+++ stable/12/sys/vm/vm_map.c   Sun Nov 24 06:46:49 2019(r355048)
@@ -2496,17 +2496,16 @@ again:
vm_map_unlock(map);
return (KERN_PROTECTION_FAILURE);
}
-   if ((entry->eflags & MAP_ENTRY_IN_TRANSITION) != 0)
-   in_tran = entry;
+   if ((current->eflags & MAP_ENTRY_IN_TRANSITION) != 0)
+   in_tran = current;
}
 
/*
-* Postpone the operation until all in transition map entries
-* are stabilized.  In-transition entry might already have its
-* pages wired and wired_count incremented, but
-* MAP_ENTRY_USER_WIRED flag not yet set, and visible to other
-* threads because the map lock is dropped.  In this case we
-* would miss our call to vm_fault_copy_entry().
+* Postpone the operation until all in-transition map entries have
+* stabilized.  An in-transition entry might already have its pages
+* wired and wired_count incremented, but not yet have its
+* MAP_ENTRY_USER_WIRED flag set.  In which case, we would fail to call
+* vm_fault_copy_entry() in the final loop below.
 */
if (in_tran != NULL) {
in_tran->eflags |= MAP_ENTRY_NEEDS_WAKEUP;
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355047 - head/libexec/rtld-elf/powerpc

2019-11-23 Thread Brandon Bergren
Author: bdragon
Date: Sun Nov 24 06:43:03 2019
New Revision: 355047
URL: https://svnweb.freebsd.org/changeset/base/355047

Log:
  [PowerPC] Fix stack padding issue on ppc32.
  
  Four bytes of padding are needed in the regular powerpc case to bring the
  stack frame size up to a multiple of 16 bytes to meet ABI requirements.
  
  Fixes odd hangs I was encountering during testing.

Modified:
  head/libexec/rtld-elf/powerpc/rtld_start.S

Modified: head/libexec/rtld-elf/powerpc/rtld_start.S
==
--- head/libexec/rtld-elf/powerpc/rtld_start.S  Sun Nov 24 05:37:28 2019
(r355046)
+++ head/libexec/rtld-elf/powerpc/rtld_start.S  Sun Nov 24 06:43:03 2019
(r355047)
@@ -111,7 +111,7 @@ _ENTRY(.rtld_start)
 /* stack space for 30 GPRs + lr/cr */
 #defineNREGS   30
 #defineGPRWIDTH4
-#defineFUDGE   0
+#defineFUDGE   4
 #endif
 /* Stack frame needs the 12-byte ABI frame plus fudge factor. */
 #defineSTACK_SIZE  (NREGS * GPRWIDTH + 4 * 2 + 12 + FUDGE)
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355046 - head/sys/dev/cxgbe/firmware

2019-11-23 Thread Navdeep Parhar
Author: np
Date: Sun Nov 24 05:37:28 2019
New Revision: 355046
URL: https://svnweb.freebsd.org/changeset/base/355046

Log:
  cxgbe(4): Update the firmware interface header.
  
  This allows the driver to be updated for the next firmware without
  waiting for it to be released.
  
  MFC after:2 weeks
  Sponsored by: Chelsio Communications

Modified:
  head/sys/dev/cxgbe/firmware/t4fw_interface.h

Modified: head/sys/dev/cxgbe/firmware/t4fw_interface.h
==
--- head/sys/dev/cxgbe/firmware/t4fw_interface.hSun Nov 24 04:35:29 
2019(r355045)
+++ head/sys/dev/cxgbe/firmware/t4fw_interface.hSun Nov 24 05:37:28 
2019(r355046)
@@ -142,6 +142,7 @@ enum fw_wr_opcodes {
FW_ISCSI_TX_DATA_WR = 0x45,
FW_PTP_TX_PKT_WR= 0x46,
FW_TLSTX_DATA_WR= 0x68,
+   FW_TLS_TUNNEL_OFLD_WR   = 0x69,
FW_CRYPTO_LOOKASIDE_WR  = 0x6d,
FW_COISCSI_TGT_WR   = 0x70,
FW_COISCSI_TGT_CONN_WR  = 0x71,
@@ -2200,6 +2201,11 @@ enum fw_chnet_ifconf_wr_subop {
FW_CHNET_IFCONF_WR_SUBOP_ICMP_PING4,
FW_CHNET_IFCONF_WR_SUBOP_ICMP_PING6,
 
+   FW_CHNET_IFCONF_WR_SUBOP_ICMP_PLD_PING4,
+   FW_CHNET_IFCONF_WR_SUBOP_ICMP_PLD_PING6,
+
+   FW_CHNET_IFCONF_WR_SUBOP_PMTU6_CLEAR,
+
FW_CHNET_IFCONF_WR_SUBOP_MAX,
 };
 
@@ -2228,7 +2234,8 @@ struct fw_chnet_ifconf_wr {
} mac;
} u;
struct fw_chnet_ifconf_params {
-   __be32 r0;
+   __be16 ping_pldsize;
+   __be16 r0;
__be16 vlanid;
__be16 mtu;
union fw_chnet_ifconf_addr_type {
@@ -4080,6 +4087,13 @@ struct fw_crypto_lookaside_wr {
 (((x) >> S_FW_CRYPTO_LOOKASIDE_WR_HASH_SIZE) & \
  M_FW_CRYPTO_LOOKASIDE_WR_HASH_SIZE)
 
+struct fw_tls_tunnel_ofld_wr {
+   __be32 op_compl;
+   __be32 flowid_len16;
+   __be32 plen;
+   __be32 r4;
+};
+
 /**
  *  C O M M A N D s
  */
@@ -4137,6 +4151,7 @@ enum fw_cmd_opcodes {
FW_DEVLOG_CMD  = 0x25,
FW_WATCHDOG_CMD= 0x27,
FW_CLIP_CMD= 0x28,
+   FW_CLIP2_CMD   = 0x29,
FW_CHNET_IFACE_CMD = 0x26,
FW_FCOE_RES_INFO_CMD   = 0x31,
FW_FCOE_LINK_CMD   = 0x32,
@@ -4752,6 +4767,22 @@ enum fw_params_mnem {
 /*
  * device parameters
  */
+#define S_FW_PARAMS_PARAM_FILTER_MODE 16
+#define M_FW_PARAMS_PARAM_FILTER_MODE 0x
+#define V_FW_PARAMS_PARAM_FILTER_MODE(x) \
+((x) << S_FW_PARAMS_PARAM_FILTER_MODE)
+#define G_FW_PARAMS_PARAM_FILTER_MODE(x) \
+(((x) >> S_FW_PARAMS_PARAM_FILTER_MODE) & \
+   M_FW_PARAMS_PARAM_FILTER_MODE)
+
+#define S_FW_PARAMS_PARAM_FILTER_MASK 0
+#define M_FW_PARAMS_PARAM_FILTER_MASK 0x
+#define V_FW_PARAMS_PARAM_FILTER_MASK(x) \
+((x) << S_FW_PARAMS_PARAM_FILTER_MASK)
+#define G_FW_PARAMS_PARAM_FILTER_MASK(x) \
+(((x) >> S_FW_PARAMS_PARAM_FILTER_MASK) & \
+   M_FW_PARAMS_PARAM_FILTER_MASK)
+
 enum fw_params_param_dev {
FW_PARAMS_PARAM_DEV_CCLK= 0x00, /* chip core clock in khz */
FW_PARAMS_PARAM_DEV_PORTVEC = 0x01, /* the port vector */
@@ -4799,6 +4830,14 @@ enum fw_params_param_dev {
FW_PARAMS_PARAM_DEV_ADD_SMAC = 0x25,
FW_PARAMS_PARAM_DEV_HPFILTER_REGION_SUPPORT = 0x26,
FW_PARAMS_PARAM_DEV_OPAQUE_VIID_SMT_EXTN = 0x27,
+   FW_PARAMS_PARAM_DEV_HASHFILTER_WITH_OFLD = 0x28,
+   FW_PARAMS_PARAM_DEV_DBQ_TIMER   = 0x29,
+   FW_PARAMS_PARAM_DEV_DBQ_TIMERTICK = 0x2A,
+   FW_PARAMS_PARAM_DEV_NUM_TM_CLASS= 0x2B,
+   FW_PARAMS_PARAM_DEV_VF_TRVLAN = 0x2C,
+   FW_PARAMS_PARAM_DEV_TCB_CACHE_FLUSH = 0x2D,
+   FW_PARAMS_PARAM_DEV_FILTER = 0x2E,
+   FW_PARAMS_PARAM_DEV_CLIP2_CMD = 0x2F,
 };
 
 /*
@@ -4827,8 +4866,14 @@ enum fw_params_param_dev_diag {
FW_PARAM_DEV_DIAG_TMP   = 0x00,
FW_PARAM_DEV_DIAG_VDD   = 0x01,
FW_PARAM_DEV_DIAG_MAXTMPTHRESH  = 0x02,
+   FW_PARAM_DEV_DIAG_RESET_TMP_SENSOR = 0x03,
 };
 
+enum fw_params_param_dev_filter{
+   FW_PARAM_DEV_FILTER_VNIC_MODE   = 0x00,
+   FW_PARAM_DEV_FILTER_MODE_MASK   = 0x01,
+};
+
 enum fw_params_param_dev_fwcache {
FW_PARAM_DEV_FWCACHE_FLUSH  = 0x00,
FW_PARAM_DEV_FWCACHE_FLUSHINV   = 0x01,
@@ -4892,9 +4937,21 @@ enum fw_params_param_pfvf {
FW_PARAMS_PARAM_PFVF_PPOD_EDRAM_START = 0x3B,
FW_PARAMS_PARAM_PFVF_PPOD_EDRAM_END = 0x3C,
FW_PARAMS_PARAM_PFVF_MAX_PKTS_PER_ETH_TX_PKTS_WR = 0x3D,
+   FW_PARAMS_PARAM_PFVF_GET_SMT_START = 0x3E,
+   FW_PARAMS_PARAM_PFVF_GET_SMT_SIZE = 0x3F,
+   FW_PARAMS_PARAM_PFVF_LINK_STATE = 0x40,
 };
 
 /*
+ * virtual link state as seen by the specified VF
+ */
+enum vf_link_states {
+   

svn commit: r355045 - head/libexec/rtld-elf/powerpc

2019-11-23 Thread Justin Hibbits
Author: jhibbits
Date: Sun Nov 24 04:35:29 2019
New Revision: 355045
URL: https://svnweb.freebsd.org/changeset/base/355045

Log:
  rtld/powerpc: Fix _rtld_bind_start for powerpcspe
  
  Summary:
  We need to save off the full 64-bit register, not just the low 32 bits,
  of all registers getting saved off in _rtld_bind_start.  Additionally,
  we need to save off the other SPE registers (SPEFSCR and accumulator),
  so that their program state is not affected by the PLT resolver.
  
  Reviewed by:  bdragon
  Differential Revision:https://reviews.freebsd.org/D22520

Modified:
  head/libexec/rtld-elf/powerpc/rtld_start.S

Modified: head/libexec/rtld-elf/powerpc/rtld_start.S
==
--- head/libexec/rtld-elf/powerpc/rtld_start.S  Sun Nov 24 02:27:50 2019
(r355044)
+++ head/libexec/rtld-elf/powerpc/rtld_start.S  Sun Nov 24 04:35:29 2019
(r355045)
@@ -30,6 +30,7 @@
  */
 
 #include 
+#include/* For SPR_SPEFSCR if needed. */
 
 .extern _GLOBAL_OFFSET_TABLE_
 .extern _DYNAMIC
@@ -101,6 +102,20 @@ _ENTRY(.rtld_start)
li  %r0,1   /* _exit() */
sc
 
+#ifdef __SPE__
+/* stack space for 30 GPRs + SPEFSCR/ACC/lr/cr */
+#defineNREGS   31
+#defineGPRWIDTH8
+#defineFUDGE   4   /* Fudge factor for alignment */
+#else
+/* stack space for 30 GPRs + lr/cr */
+#defineNREGS   30
+#defineGPRWIDTH4
+#defineFUDGE   0
+#endif
+/* Stack frame needs the 12-byte ABI frame plus fudge factor. */
+#defineSTACK_SIZE  (NREGS * GPRWIDTH + 4 * 2 + 12 + FUDGE)
+
 /*
  * _rtld_bind_secureplt_start()
  *
@@ -110,8 +125,12 @@ _ENTRY(.rtld_start)
  * So for bss-plt, we multiply the index by 12 to get the offset.
  */
 _ENTRY(_rtld_bind_secureplt_start)
-   stwu%r1,-160(%r1)   # stack space for 29 regs + r0/lr/cr
+   stwu%r1,-STACK_SIZE(%r1)
+#ifdef __SPE__
+   evstdd  %r0,24(%r1)
+#else
stw %r0,20(%r1) # save r0
+#endif
 
/*
 * Instead of division which is costly we will use multiplicative
@@ -137,28 +156,113 @@ _ENTRY(_rtld_bind_secureplt_start)
.globl  _rtld_bind
 
 _ENTRY(_rtld_bind_start)
-   stwu%r1,-160(%r1)   # stack space for 29 regs + r0/lr/cr
+   stwu%r1,-STACK_SIZE(%r1)
+#ifdef __SPE__
+   evstdd  %r0,24(%r1)
+#else
stw %r0,20(%r1) # save r0
+#endif
 1:
mflr%r0
stw %r0,16(%r1) # save lr
mfcr%r0
stw %r0,12(%r1) # save cr
+#ifdef __SPE__
+   evstdd  %r3, 32(%r1)
+   evstdd  %r4, 40(%r1)
+   evstdd  %r5, 48(%r1)
+   evstdd  %r6, 56(%r1)
+   evstdd  %r7, 64(%r1)
+   evstdd  %r8, 72(%r1)
+   evstdd  %r9, 80(%r1)
+   evstdd  %r10, 88(%r1)
+   evstdd  %r11, 96(%r1)
+   evstdd  %r12, 104(%r1)
+   evstdd  %r13, 112(%r1)
+   evstdd  %r14, 120(%r1)
+   evstdd  %r15, 128(%r1)
+   evstdd  %r16, 136(%r1)
+   evstdd  %r17, 144(%r1)
+   evstdd  %r18, 152(%r1)
+   evstdd  %r19, 160(%r1)
+   evstdd  %r20, 168(%r1)
+   evstdd  %r21, 176(%r1)
+   evstdd  %r22, 184(%r1)
+   evstdd  %r23, 192(%r1)
+   evstdd  %r24, 200(%r1)
+   evstdd  %r25, 208(%r1)
+   evstdd  %r26, 216(%r1)
+   evstdd  %r27, 224(%r1)
+   evstdd  %r28, 232(%r1)
+   evstdd  %r29, 240(%r1)
+   evstdd  %r30, 248(%r1)
+   li  %r3, 256
+   evstddx %r31, %r1, %r3
+   evxor   %r0, %r0, %r0
+   li  %r3, 264
+   evmwumiaa   %r0, %r0, %r0
+   evstddx %r0, %r1, %r3
+   mfspr   %r3, SPR_SPEFSCR
+   stw %r3, 20(%r1)
+#else
stmw%r3,24(%r1) # save r3-r31
+#endif
 
mr  %r3,%r12# obj
mulli   %r4,%r11,12 # rela index * sizeof(Elf_Rela)
bl  _rtld_bind  # target addr = _rtld_bind(obj, reloff)
mtctr   %r3 # move absolute target addr into ctr
 
+#ifdef __SPE__
+   lwz %r3, 20(%r1)
+   mtspr   SPR_SPEFSCR, %r3
+   li  %r3, 264
+   evlddx  %r0, %r3, %r1
+   evmra   %r0, %r0
+   evldd   %r3, 32(%r1)
+   evldd   %r4, 40(%r1)
+   evldd   %r5, 48(%r1)
+   evldd   %r6, 56(%r1)
+   evldd   %r7, 64(%r1)
+   evldd   %r8, 72(%r1)
+   evldd   %r9, 80(%r1)
+   evldd   %r10, 88(%r1)
+   evldd   %r11, 96(%r1)
+   evldd   %r12, 104(%r1)
+   evldd   %r13, 112(%r1)
+   evldd   %r14, 120(%r1)
+   evldd   %r15, 128(%r1)
+   evldd   %r16, 136(%r1)
+   evldd   %r17, 144(%r1)
+   evldd   %r18, 152(%r1)
+   evldd   %r19, 160(%r1)
+   evldd   %r20, 168(%r1)
+   evldd   %r21, 176(%r1)
+   evldd   %r22, 184(%r1)
+   evldd   %r23, 192(%r1)
+   evldd   %r24, 200(%r1)
+   evldd   %r25, 208(%r1)
+   evldd   

svn commit: r355044 - in stable: 11/usr.sbin/ntp 12/usr.sbin/ntp

2019-11-23 Thread Cy Schubert
Author: cy
Date: Sun Nov 24 02:27:50 2019
New Revision: 355044
URL: https://svnweb.freebsd.org/changeset/base/355044

Log:
  MFC r354978:
  
  Chase r344883. ntp is 4.2.8p13.

Modified:
  stable/12/usr.sbin/ntp/config.h
Directory Properties:
  stable/12/   (props changed)

Changes in other areas also in this revision:
Modified:
  stable/11/usr.sbin/ntp/config.h
Directory Properties:
  stable/11/   (props changed)

Modified: stable/12/usr.sbin/ntp/config.h
==
--- stable/12/usr.sbin/ntp/config.h Sun Nov 24 01:27:04 2019
(r355043)
+++ stable/12/usr.sbin/ntp/config.h Sun Nov 24 02:27:50 2019
(r355044)
@@ -1477,7 +1477,7 @@
 #define PACKAGE_URL "http://www.ntp.org./;
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "4.2.8p12"
+#define PACKAGE_VERSION "4.2.8p13"
 
 /* data dir */
 #define PERLLIBDIR "/usr/share/ntp/lib"
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355044 - in stable: 11/usr.sbin/ntp 12/usr.sbin/ntp

2019-11-23 Thread Cy Schubert
Author: cy
Date: Sun Nov 24 02:27:50 2019
New Revision: 355044
URL: https://svnweb.freebsd.org/changeset/base/355044

Log:
  MFC r354978:
  
  Chase r344883. ntp is 4.2.8p13.

Modified:
  stable/11/usr.sbin/ntp/config.h
Directory Properties:
  stable/11/   (props changed)

Changes in other areas also in this revision:
Modified:
  stable/12/usr.sbin/ntp/config.h
Directory Properties:
  stable/12/   (props changed)

Modified: stable/11/usr.sbin/ntp/config.h
==
--- stable/11/usr.sbin/ntp/config.h Sun Nov 24 01:27:04 2019
(r355043)
+++ stable/11/usr.sbin/ntp/config.h Sun Nov 24 02:27:50 2019
(r355044)
@@ -1474,7 +1474,7 @@
 #define PACKAGE_URL "http://www.ntp.org./;
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "4.2.8p12"
+#define PACKAGE_VERSION "4.2.8p13"
 
 /* data dir */
 #define PERLLIBDIR "/usr/share/ntp/lib"
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355043 - stable/12/share/man/man4

2019-11-23 Thread Alexander Motin
Author: mav
Date: Sun Nov 24 01:27:04 2019
New Revision: 355043
URL: https://svnweb.freebsd.org/changeset/base/355043

Log:
  MFC r351605: Man page for AMD Non-Transparent Bridge (ntb_hw_amd) driver.

Added:
  stable/12/share/man/man4/ntb_hw_amd.4
 - copied unchanged from r351605, head/share/man/man4/ntb_hw_amd.4
Modified:
  stable/12/share/man/man4/Makefile
  stable/12/share/man/man4/ntb.4
  stable/12/share/man/man4/ntb_transport.4
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/share/man/man4/Makefile
==
--- stable/12/share/man/man4/Makefile   Sun Nov 24 00:55:42 2019
(r355042)
+++ stable/12/share/man/man4/Makefile   Sun Nov 24 01:27:04 2019
(r355043)
@@ -386,6 +386,7 @@ MAN=aac.4 \
nmdm.4 \
nsp.4 \
${_ntb.4} \
+   ${_ntb_hw_amd.4} \
${_ntb_hw_intel.4} \
${_ntb_hw_plx.4} \
${_ntb_transport.4} \
@@ -856,6 +857,7 @@ _xnb.4= xnb.4
 _if_ntb.4= if_ntb.4
 _ioat.4=   ioat.4
 _ntb.4=ntb.4
+_ntb_hw_amd.4= ntb_hw_amd.4
 _ntb_hw_intel.4=   ntb_hw_intel.4
 _ntb_hw_plx.4= ntb_hw_plx.4
 _ntb_transport.4=ntb_transport.4

Modified: stable/12/share/man/man4/ntb.4
==
--- stable/12/share/man/man4/ntb.4  Sun Nov 24 00:55:42 2019
(r355042)
+++ stable/12/share/man/man4/ntb.4  Sun Nov 24 01:27:04 2019
(r355043)
@@ -25,7 +25,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd September 2, 2017
+.Dd August 29, 2019
 .Dt NTB 4
 .Os
 .Sh NAME
@@ -66,7 +66,7 @@ The default configuration is empty string, which means
 with all available resources, allowing any driver to attach.
 .El
 .Sh DESCRIPTION
-Non-Transparent Bridges allow to connect two computer systems with PCIe
+Non-Transparent Bridges connect two computer systems with PCIe
 link(s), providing each of them limited access to others memory space,
 scratchpad registers and interrupts.
 The
@@ -76,9 +76,10 @@ and splits them between several functions, according t
 configuration.
 .Sh SEE ALSO
 .Xr if_ntb 4 ,
-.Xr ntb_transport 4 ,
+.Xr ntb_hw_amd 4 ,
 .Xr ntb_hw_intel 4 ,
-.Xr ntb_hw_plx 4
+.Xr ntb_hw_plx 4 ,
+.Xr ntb_transport 4
 .Sh AUTHORS
 .An -nosplit
 The

Copied: stable/12/share/man/man4/ntb_hw_amd.4 (from r351605, 
head/share/man/man4/ntb_hw_amd.4)
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ stable/12/share/man/man4/ntb_hw_amd.4   Sun Nov 24 01:27:04 2019
(r355043, copy of r351605, head/share/man/man4/ntb_hw_amd.4)
@@ -0,0 +1,94 @@
+.\"
+.\" Copyright (c) 2019 Rajesh Kumar 
+.\" All rights reserved.
+.\"
+.\" 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 AUTHOR 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 AUTHOR 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.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd August 29, 2019
+.Dt NTB_HW_AMD 4
+.Os
+.Sh NAME
+.Nm ntb_hw_amd
+.Nd AMD Non-Transparent Bridge driver
+.Sh SYNOPSIS
+To compile this driver into your kernel,
+place the following lines in your kernel configuration file:
+.Bd -ragged -offset indent
+.Cd "device ntb"
+.Cd "device ntb_hw_amd"
+.Ed
+.Pp
+Or, to load the driver as a module at boot, place the following line in
+.Xr loader.conf 5 :
+.Bd -literal -offset indent
+ntb_hw_amd_load="YES"
+.Ed
+.Pp
+The following sysctls are supported in this driver
+.Bl -ohang
+.It Va dev.ntb_hw.X.info
+Reading this sysctl will give the basic details like the number of memory
+windows, scratchpads and doorbells exposed by the NTB on the local host to
+access the devices beyond the bridge.
+It also provides details about the masked doorbells, translation address and
+size limit of each 

svn commit: r355042 - in stable/12: share/man/man4 sys/dev/ntb

2019-11-23 Thread Alexander Motin
Author: mav
Date: Sun Nov 24 00:55:42 2019
New Revision: 355042
URL: https://svnweb.freebsd.org/changeset/base/355042

Log:
  MFC r354581,r354597: Add compact scraptchpad protocol for ntb_transport(4).
  
  Previously ntb_transport(4) required at least 6 scratchpad registers,
  plus 2 more for each additional memory window.  That is too much for some
  configurations, where several drivers have to share resources of the same
  NTB hardware.  This patch introduces new compact version of the protocol,
  requiring only 3 scratchpad registers, plus one more for each additional
  memory window.  The optimization is based on fact that neither of version,
  number of windows or number of queue pairs really need more then one byte
  each, and window sizes of 4GB are not very useful now.  The new protocol
  is activated automatically when the configuration is low on scratchpad
  registers, or it can be activated explicitly with loader tunable.

Modified:
  stable/12/share/man/man4/ntb_transport.4
  stable/12/sys/dev/ntb/ntb_transport.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/share/man/man4/ntb_transport.4
==
--- stable/12/share/man/man4/ntb_transport.4Sun Nov 24 00:53:47 2019
(r355041)
+++ stable/12/share/man/man4/ntb_transport.4Sun Nov 24 00:55:42 2019
(r355042)
@@ -25,7 +25,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd August 15, 2019
+.Dd November 9, 2019
 .Dt NTB_TRANSPORT 4
 .Os
 .Sh NAME
@@ -64,6 +64,12 @@ is a name of the driver to attach (empty means any),
 is a number of queues to allocate (empty means automatic).
 The default configuration is empty string, which means single consumer
 with one queue per memory window, allowing any driver to attach.
+.It Va hint.ntb_transport. Ns Ar X Ns Va .compact
+Non-zero value enables compact version of scratchpad protocol, using half
+as many registers.
+Enabled automatically if there is not enough registers to negotiate all
+available memory windows.
+The compact version does not support memory windows of 4GB and above.
 .El
 .Sh DESCRIPTION
 The
@@ -85,7 +91,8 @@ instance:
 .It
 1 or more memory windows;
 .It
-6 scratchpads, plus 2 more for each additional memory window;
+6 scratchpads, plus 2 more for each additional memory window,
+or 3 plus 1 in case of compact protocol;
 .It
 1 doorbell for each memory window or configured queue.
 .El

Modified: stable/12/sys/dev/ntb/ntb_transport.c
==
--- stable/12/sys/dev/ntb/ntb_transport.c   Sun Nov 24 00:53:47 2019
(r355041)
+++ stable/12/sys/dev/ntb/ntb_transport.c   Sun Nov 24 00:55:42 2019
(r355042)
@@ -203,6 +203,7 @@ struct ntb_transport_ctx {
struct ntb_transport_child *child;
struct ntb_transport_mw *mw_vec;
struct ntb_transport_qp *qp_vec;
+   int compact;
unsignedmw_count;
unsignedqp_count;
uint64_tqp_bitmap;
@@ -252,6 +253,15 @@ enum {
NTBT_WATCHDOG_SPAD = 15
 };
 
+/*
+ * Compart version of sratchpad protocol, using twice less registers.
+ */
+enum {
+   NTBTC_PARAMS = 0,   /* NUM_QPS << 24 + NUM_MWS << 16 + VERSION */
+   NTBTC_QP_LINKS, /* QP links status */
+   NTBTC_MW0_SZ,   /* MW size limited to 32 bits. */
+};
+
 #define QP_TO_MW(nt, qp)   ((qp) % nt->mw_count)
 #define NTB_QP_DEF_NUM_ENTRIES 100
 #define NTB_LINK_DOWN_TIMEOUT  100
@@ -352,15 +362,31 @@ ntb_transport_attach(device_t dev)
device_printf(dev, "At least 1 memory window required.\n");
return (ENXIO);
}
-   if (spad_count < 6) {
-   device_printf(dev, "At least 6 scratchpads required.\n");
-   return (ENXIO);
+   nt->compact = (spad_count < 4 + 2 * nt->mw_count);
+   snprintf(buf, sizeof(buf), "hint.%s.%d.compact", device_get_name(dev),
+   device_get_unit(dev));
+   TUNABLE_INT_FETCH(buf, >compact);
+   if (nt->compact) {
+   if (spad_count < 3) {
+   device_printf(dev, "At least 3 scratchpads 
required.\n");
+   return (ENXIO);
+   }
+   if (spad_count < 2 + nt->mw_count) {
+   nt->mw_count = spad_count - 2;
+   device_printf(dev, "Scratchpads enough only for %d "
+   "memory windows.\n", nt->mw_count);
+   }
+   } else {
+   if (spad_count < 6) {
+   device_printf(dev, "At least 6 scratchpads 
required.\n");
+   return (ENXIO);
+   }
+   if (spad_count < 4 + 2 * nt->mw_count) {
+   nt->mw_count = (spad_count - 4) / 2;
+   device_printf(dev, "Scratchpads enough only for %d "
+   

svn commit: r355041 - in stable/11: share/man/man4 sys/dev/ntb/ntb_hw

2019-11-23 Thread Alexander Motin
Author: mav
Date: Sun Nov 24 00:53:47 2019
New Revision: 355041
URL: https://svnweb.freebsd.org/changeset/base/355041

Log:
  MFC r354580: Allow splitting PLX NTB BAR2 into several memory windows.
  
  Address Lookup Table (A-LUT) being enabled allows to specify separate
  translation for each 1/128th or 1/256th of the BAR2.  Previously it was
  used only to limit effective window size by blocking access through some
  of A-LUT elements.  This change allows A-LUT elements to also point
  different memory locations, providing to upper layers several (up to 128)
  independent memory windows.  A-LUT hardware allows even more flexible
  configurations than this, but NTB KPI have no way to manage that now.

Modified:
  stable/11/share/man/man4/ntb_hw_plx.4
  stable/11/sys/dev/ntb/ntb_hw/ntb_hw_plx.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/share/man/man4/ntb_hw_plx.4
==
--- stable/11/share/man/man4/ntb_hw_plx.4   Sun Nov 24 00:53:22 2019
(r355040)
+++ stable/11/share/man/man4/ntb_hw_plx.4   Sun Nov 24 00:53:47 2019
(r355041)
@@ -1,5 +1,5 @@
 .\"
-.\" Copyright (c) 2017 Alexander Motin 
+.\" Copyright (c) 2017-2019 Alexander Motin 
 .\" All rights reserved.
 .\"
 .\" Redistribution and use in source and binary forms, with or without
@@ -25,7 +25,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd August 30, 2017
+.Dd November 9, 2019
 .Dt NTB_HW_PLX 4
 .Os
 .Sh NAME
@@ -54,6 +54,9 @@ NTB that it works in NTB-to-NTB (back-to-back) mode, 0
 Driver attached to Link Interface (visible from Root Port side) switches to
 NTB-to-Root Port mode automatically, but one attached to Virtual Interface
 can't detect what is on the other side and require external knowledge.
+.It Va hint.ntb_hw. Ns Ar X Ns Va .split
+Being set above zero splits BAR2 into 2^x memory windows using Address
+Lookup Table (A-LUT).
 .El
 .Sh DESCRIPTION
 The
@@ -70,6 +73,8 @@ subsystem.
 Each PLX NTB provides up to 2 64-bit or 4 32-bit memory windows to the
 other system's memory, 6 or 12 scratchpad registers and 16 doorbells to
 interrupt the other system.
+If Address Lookup Table (A-LUT) is enabled, BAR2 can be split into several
+(up to 128) memory windows.
 In NTB-to-NTB mode one of memory windows (or half of it, if bigger then 1MB)
 is consumed by the driver itself to access scratchpad and doorbell registers
 of the other side.

Modified: stable/11/sys/dev/ntb/ntb_hw/ntb_hw_plx.c
==
--- stable/11/sys/dev/ntb/ntb_hw/ntb_hw_plx.c   Sun Nov 24 00:53:22 2019
(r355040)
+++ stable/11/sys/dev/ntb/ntb_hw/ntb_hw_plx.c   Sun Nov 24 00:53:47 2019
(r355041)
@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2017 Alexander Motin 
+ * Copyright (c) 2017-2019 Alexander Motin 
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -56,6 +56,7 @@ __FBSDID("$FreeBSD$");
 #define PLX_NUM_SPAD   8   /* There are 8 scratchpads. */
 #define PLX_NUM_SPAD_PATT  4   /* Use test pattern as 4 more. */
 #define PLX_NUM_DB 16  /* There are 16 doorbells. */
+#define PLX_MAX_SPLIT  128 /* Allow are at most 128 splits. */
 
 struct ntb_plx_mw_info {
int  mw_bar;
@@ -65,9 +66,11 @@ struct ntb_plx_mw_info {
vm_paddr_t   mw_pbase;
caddr_t  mw_vbase;
vm_size_tmw_size;
-   vm_memattr_t mw_map_mode;
-   bus_addr_t   mw_xlat_addr;
-   size_t   mw_xlat_size;
+   struct {
+   vm_memattr_t mw_map_mode;
+   bus_addr_t   mw_xlat_addr;
+   bus_size_t   mw_xlat_size;
+   } splits[PLX_MAX_SPLIT];
 };
 
 struct ntb_plx_softc {
@@ -81,6 +84,7 @@ struct ntb_plx_softc {
u_intlink;  /* Link v/s Virtual side. */
u_intport;  /* Port number within chip. */
u_intalut;  /* A-LUT is enabled for NTx */
+   u_intsplit; /* split BAR2 into 2^x parts */
 
int  int_rid;
struct resource *int_res;
@@ -222,11 +226,8 @@ ntb_plx_init(device_t dev)
NTX_WRITE(sc, sc->link ? 0xdbc : 0xd9c, 0xc0218021);
 
/* Set Link to Virtual address translation. */
-   for (i = 0; i < sc->mw_count; i++) {
-   mw = >mw_info[i];
-   if (mw->mw_xlat_size != 0)
-   ntb_plx_mw_set_trans_internal(dev, i);
-   }
+   for (i = 0; i < sc->mw_count; i++)
+   ntb_plx_mw_set_trans_internal(dev, i);
 
pci_enable_busmaster(dev);
if (sc->b2b_mw >= 0)
@@ -319,7 +320,7 @@ ntb_plx_attach(device_t dev)
 {
struct ntb_plx_softc *sc = device_get_softc(dev);
struct 

svn commit: r355040 - in stable/12: share/man/man4 sys/dev/ntb/ntb_hw

2019-11-23 Thread Alexander Motin
Author: mav
Date: Sun Nov 24 00:53:22 2019
New Revision: 355040
URL: https://svnweb.freebsd.org/changeset/base/355040

Log:
  MFC r354580: Allow splitting PLX NTB BAR2 into several memory windows.
  
  Address Lookup Table (A-LUT) being enabled allows to specify separate
  translation for each 1/128th or 1/256th of the BAR2.  Previously it was
  used only to limit effective window size by blocking access through some
  of A-LUT elements.  This change allows A-LUT elements to also point
  different memory locations, providing to upper layers several (up to 128)
  independent memory windows.  A-LUT hardware allows even more flexible
  configurations than this, but NTB KPI have no way to manage that now.

Modified:
  stable/12/share/man/man4/ntb_hw_plx.4
  stable/12/sys/dev/ntb/ntb_hw/ntb_hw_plx.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/share/man/man4/ntb_hw_plx.4
==
--- stable/12/share/man/man4/ntb_hw_plx.4   Sat Nov 23 23:57:26 2019
(r355039)
+++ stable/12/share/man/man4/ntb_hw_plx.4   Sun Nov 24 00:53:22 2019
(r355040)
@@ -1,5 +1,5 @@
 .\"
-.\" Copyright (c) 2017 Alexander Motin 
+.\" Copyright (c) 2017-2019 Alexander Motin 
 .\" All rights reserved.
 .\"
 .\" Redistribution and use in source and binary forms, with or without
@@ -25,7 +25,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd August 30, 2017
+.Dd November 9, 2019
 .Dt NTB_HW_PLX 4
 .Os
 .Sh NAME
@@ -54,6 +54,9 @@ NTB that it works in NTB-to-NTB (back-to-back) mode, 0
 Driver attached to Link Interface (visible from Root Port side) switches to
 NTB-to-Root Port mode automatically, but one attached to Virtual Interface
 can't detect what is on the other side and require external knowledge.
+.It Va hint.ntb_hw. Ns Ar X Ns Va .split
+Being set above zero splits BAR2 into 2^x memory windows using Address
+Lookup Table (A-LUT).
 .El
 .Sh DESCRIPTION
 The
@@ -70,6 +73,8 @@ subsystem.
 Each PLX NTB provides up to 2 64-bit or 4 32-bit memory windows to the
 other system's memory, 6 or 12 scratchpad registers and 16 doorbells to
 interrupt the other system.
+If Address Lookup Table (A-LUT) is enabled, BAR2 can be split into several
+(up to 128) memory windows.
 In NTB-to-NTB mode one of memory windows (or half of it, if bigger then 1MB)
 is consumed by the driver itself to access scratchpad and doorbell registers
 of the other side.

Modified: stable/12/sys/dev/ntb/ntb_hw/ntb_hw_plx.c
==
--- stable/12/sys/dev/ntb/ntb_hw/ntb_hw_plx.c   Sat Nov 23 23:57:26 2019
(r355039)
+++ stable/12/sys/dev/ntb/ntb_hw/ntb_hw_plx.c   Sun Nov 24 00:53:22 2019
(r355040)
@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2017 Alexander Motin 
+ * Copyright (c) 2017-2019 Alexander Motin 
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -56,6 +56,7 @@ __FBSDID("$FreeBSD$");
 #define PLX_NUM_SPAD   8   /* There are 8 scratchpads. */
 #define PLX_NUM_SPAD_PATT  4   /* Use test pattern as 4 more. */
 #define PLX_NUM_DB 16  /* There are 16 doorbells. */
+#define PLX_MAX_SPLIT  128 /* Allow are at most 128 splits. */
 
 struct ntb_plx_mw_info {
int  mw_bar;
@@ -65,9 +66,11 @@ struct ntb_plx_mw_info {
vm_paddr_t   mw_pbase;
caddr_t  mw_vbase;
vm_size_tmw_size;
-   vm_memattr_t mw_map_mode;
-   bus_addr_t   mw_xlat_addr;
-   size_t   mw_xlat_size;
+   struct {
+   vm_memattr_t mw_map_mode;
+   bus_addr_t   mw_xlat_addr;
+   bus_size_t   mw_xlat_size;
+   } splits[PLX_MAX_SPLIT];
 };
 
 struct ntb_plx_softc {
@@ -81,6 +84,7 @@ struct ntb_plx_softc {
u_intlink;  /* Link v/s Virtual side. */
u_intport;  /* Port number within chip. */
u_intalut;  /* A-LUT is enabled for NTx */
+   u_intsplit; /* split BAR2 into 2^x parts */
 
int  int_rid;
struct resource *int_res;
@@ -222,11 +226,8 @@ ntb_plx_init(device_t dev)
NTX_WRITE(sc, sc->link ? 0xdbc : 0xd9c, 0xc0218021);
 
/* Set Link to Virtual address translation. */
-   for (i = 0; i < sc->mw_count; i++) {
-   mw = >mw_info[i];
-   if (mw->mw_xlat_size != 0)
-   ntb_plx_mw_set_trans_internal(dev, i);
-   }
+   for (i = 0; i < sc->mw_count; i++)
+   ntb_plx_mw_set_trans_internal(dev, i);
 
pci_enable_busmaster(dev);
if (sc->b2b_mw >= 0)
@@ -319,7 +320,7 @@ ntb_plx_attach(device_t dev)
 {
struct ntb_plx_softc *sc = device_get_softc(dev);
struct 

svn commit: r355039 - head/sys/kern

2019-11-23 Thread Warner Losh
Author: imp
Date: Sat Nov 23 23:57:26 2019
New Revision: 355039
URL: https://svnweb.freebsd.org/changeset/base/355039

Log:
  Add a warning about Giant Locked devices
  
  Add a warning when a device registers with devfs and requests
  D_NEEDGIANT. The warning says the device will go away before
  13.0. This is needed to flush out the devices in the tree that are
  still Giant locked. This warning, or some variant of it, should have
  gone into the tree a long time ago...
  
  The intention is to require all devices be converted to not use
  automatic giant in this way, or remove any such devices that remain
  that we don't have the hardware to test a conversion of.
  
  kbd so far is the only device that can't leave the tree, yet needs
  something sensible done to avoid the auto giant lock (even if it is
  just doing the wrapping itself). There may be others added to this
  list... Any discussions of this topic will take place on arch@.

Modified:
  head/sys/kern/kern_conf.c

Modified: head/sys/kern/kern_conf.c
==
--- head/sys/kern/kern_conf.c   Sat Nov 23 23:44:00 2019(r355038)
+++ head/sys/kern/kern_conf.c   Sat Nov 23 23:57:26 2019(r355039)
@@ -664,6 +664,9 @@ prep_cdevsw(struct cdevsw *devsw, int flags)
}

if (devsw->d_flags & D_NEEDGIANT) {
+   printf("WARNING: Device \"%s\" is Giant locked and may be "
+   "deleted before FreeBSD 13.0.\n",
+   devsw->d_name == NULL ? "???" : devsw->d_name);
if (devsw->d_gianttrick == NULL) {
memcpy(dsw2, devsw, sizeof *dsw2);
devsw->d_gianttrick = dsw2;
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355038 - head/sys/geom

2019-11-23 Thread Warner Losh
Author: imp
Date: Sat Nov 23 23:44:00 2019
New Revision: 355038
URL: https://svnweb.freebsd.org/changeset/base/355038

Log:
  We don't even need Giant here. It isn't protecting anything internal
  to geom, and nothing we call requires it to be held. It's left over
  from a time when the latter wasn't the case. Retire it.
  
  Reviewed in concept: scottl@

Modified:
  head/sys/geom/geom_ctl.c

Modified: head/sys/geom/geom_ctl.c
==
--- head/sys/geom/geom_ctl.cSat Nov 23 23:43:52 2019(r355037)
+++ head/sys/geom/geom_ctl.cSat Nov 23 23:44:00 2019(r355038)
@@ -68,7 +68,7 @@ static d_ioctl_t g_ctl_ioctl;
 
 static struct cdevsw g_ctl_cdevsw = {
.d_version =D_VERSION,
-   .d_flags =  D_NEEDGIANT,
+   .d_flags =  0,
.d_ioctl =  g_ctl_ioctl,
.d_name =   "g_ctl",
 };
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355037 - head/sys/dev/pci

2019-11-23 Thread Warner Losh
Author: imp
Date: Sat Nov 23 23:43:52 2019
New Revision: 355037
URL: https://svnweb.freebsd.org/changeset/base/355037

Log:
  Push Giant down one layer
  
  The /dev/pci device doesn't need GIANT, per se. However, one routine
  that it calls, pci_find_dbsf implicitly does. It walks a list that can
  change when PCI scans a new bus. With hotplug, this means we could
  have a race with that scanning. To prevent that, take out Giant around
  scanning the list.
  
  However, given that we have places in the tree that drop giant, if
  held when we call into them, the whole use of Giant to protect newbus
  may be less effective that we desire, so add a comment about why we're
  talking it out, and we'll address the issue when we lock newbus with
  something other than Giant.

Modified:
  head/sys/dev/pci/pci.c
  head/sys/dev/pci/pci_user.c

Modified: head/sys/dev/pci/pci.c
==
--- head/sys/dev/pci/pci.c  Sat Nov 23 23:41:21 2019(r355036)
+++ head/sys/dev/pci/pci.c  Sat Nov 23 23:43:52 2019(r355037)
@@ -445,18 +445,21 @@ pci_find_bsf(uint8_t bus, uint8_t slot, uint8_t func)
 device_t
 pci_find_dbsf(uint32_t domain, uint8_t bus, uint8_t slot, uint8_t func)
 {
-   struct pci_devinfo *dinfo;
+   struct pci_devinfo *dinfo = NULL;
 
+   /* Giant because newbus is Giant locked revisit with newbus locking */
+   mtx_lock();
STAILQ_FOREACH(dinfo, _devq, pci_links) {
if ((dinfo->cfg.domain == domain) &&
(dinfo->cfg.bus == bus) &&
(dinfo->cfg.slot == slot) &&
(dinfo->cfg.func == func)) {
-   return (dinfo->cfg.dev);
+   break;
}
}
+   mtx_unlock();
 
-   return (NULL);
+   return (dinfo != NULL ? dinfo->cfg.dev : NULL);
 }
 
 /* Find a device_t by vendor/device ID */

Modified: head/sys/dev/pci/pci_user.c
==
--- head/sys/dev/pci/pci_user.c Sat Nov 23 23:41:21 2019(r355036)
+++ head/sys/dev/pci/pci_user.c Sat Nov 23 23:43:52 2019(r355037)
@@ -119,7 +119,7 @@ static d_ioctl_tpci_ioctl;
 
 struct cdevsw pcicdev = {
.d_version =D_VERSION,
-   .d_flags =  D_NEEDGIANT,
+   .d_flags =  0,
.d_open =   pci_open,
.d_close =  pci_close,
.d_ioctl =  pci_ioctl,
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355036 - head/lib/libc/powerpc/gen

2019-11-23 Thread Brandon Bergren
Author: bdragon
Date: Sat Nov 23 23:41:21 2019
New Revision: 355036
URL: https://svnweb.freebsd.org/changeset/base/355036

Log:
  [PowerPC] Fix typo in _ctx_start on ppc32
  
  Theoretically, this was breaking the size calculation for the symbol.
  
  Noticed when doing a readthrough.
  
  Reviewed by:  imp
  Differential Revision:https://reviews.freebsd.org/D22525

Modified:
  head/lib/libc/powerpc/gen/_ctx_start.S

Modified: head/lib/libc/powerpc/gen/_ctx_start.S
==
--- head/lib/libc/powerpc/gen/_ctx_start.S  Sat Nov 23 21:18:55 2019
(r355035)
+++ head/lib/libc/powerpc/gen/_ctx_start.S  Sat Nov 23 23:41:21 2019
(r355036)
@@ -48,6 +48,6 @@
addis   %r30,%r30,_GLOBAL_OFFSET_TABLE_-1b@ha
addi%r30,%r30,_GLOBAL_OFFSET_TABLE_-1b@l
bl  PIC_PLT(CNAME(abort))   /* abort */
- END(_cts_start)
+ END(_ctx_start)
 
.section .note.GNU-stack,"",%progbits
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355035 - head/sys/powerpc/booke

2019-11-23 Thread Brandon Bergren
Author: bdragon
Date: Sat Nov 23 21:18:55 2019
New Revision: 355035
URL: https://svnweb.freebsd.org/changeset/base/355035

Log:
  [PowerPC] Use QEMU-compatible version of SPE accumulator save
  
  Switch from "evaddumiaaw 0,0" to "evmwumiaa 0,0,0" when persisting the
  accumulator. This has the benefit of actually being implemented in QEMU
  as it is the form Linux uses for the same task.
  
  Both instructions are functionally equivilent, as we are using them for
  their side effect of copying the accumulator to GPRs rather than for the
  actual math operation that they are performing.
  
  Reviewed by: jhibbits

Modified:
  head/sys/powerpc/booke/spe.c

Modified: head/sys/powerpc/booke/spe.c
==
--- head/sys/powerpc/booke/spe.cSat Nov 23 19:35:09 2019
(r355034)
+++ head/sys/powerpc/booke/spe.cSat Nov 23 21:18:55 2019
(r355035)
@@ -83,7 +83,7 @@ save_vec_int(struct thread *td)
 #undef EVSTDW
 
__asm ( "evxor 0,0,0\n"
-   "evaddumiaaw 0,0\n"
+   "evmwumiaa 0,0,0\n"
"evstdd 0,0(%0)" :: "b"(>pcb_vec.spare[0]));
pcb->pcb_vec.vscr = mfspr(SPR_SPEFSCR);
 
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355034 - in head: lib lib/libclang_rt tools/build/mk

2019-11-23 Thread Dimitry Andric
Author: dim
Date: Sat Nov 23 19:35:09 2019
New Revision: 355034
URL: https://svnweb.freebsd.org/changeset/base/355034

Log:
  libclang_rt: enable on powerpc*
  
  Summary:
  Enable on powerpc64 and in lib/libclang_rt/Makefile change
  MACHINE_CPUARCH to MACHINE_ARCH because on powerpc64
  MACHINE_ARCH==MACHINE_CPUARCH so the 32-bit library overwrites 64-bit
  library during installworld.
  
  This patch doesn't enable any other libclang_rt libraries because they
  need to be separately ported.
  
  I have verified that games/julius (which fails on powerpc64 elfv2
  without this change because of no libclang_rt profiling library) builds.
  
  Test Plan: Ship it, test on powerpc and powerpcspe
  
  Submitted by: pkubaj
  Reviewed by:  dim, jhibbits
  Differential Revision: https://reviews.freebsd.org/D22425
  MFC after:1 month
  X-MFC-With:   r353358

Modified:
  head/lib/Makefile
  head/lib/libclang_rt/Makefile.inc
  head/tools/build/mk/OptionalObsoleteFiles.inc

Modified: head/lib/Makefile
==
--- head/lib/Makefile   Sat Nov 23 17:25:09 2019(r355033)
+++ head/lib/Makefile   Sat Nov 23 19:35:09 2019(r355034)
@@ -159,7 +159,8 @@ SUBDIR.${MK_STATS}+=libstats
 # built for certain architectures.
 .if ${MK_CLANG} != "no" && ${COMPILER_TYPE} == "clang" && \
 (${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \
-${MACHINE_CPUARCH} == "arm" || ${MACHINE_CPUARCH} == "i386")
+${MACHINE_CPUARCH} == "arm" || ${MACHINE_CPUARCH} == "i386" || \
+${MACHINE_CPUARCH} == "powerpc")
 _libclang_rt=  libclang_rt
 .endif
 

Modified: head/lib/libclang_rt/Makefile.inc
==
--- head/lib/libclang_rt/Makefile.inc   Sat Nov 23 17:25:09 2019
(r355033)
+++ head/lib/libclang_rt/Makefile.inc   Sat Nov 23 19:35:09 2019
(r355034)
@@ -8,7 +8,7 @@
 (!defined(CPUTYPE) || ${CPUTYPE:M*soft*} == "")
 CRTARCH?=  armhf
 .else
-CRTARCH?=  ${MACHINE_CPUARCH:C/amd64/x86_64/}
+CRTARCH?=  ${MACHINE_ARCH:C/amd64/x86_64/}
 .endif
 CRTSRC=${SRCTOP}/contrib/compiler-rt
 

Modified: head/tools/build/mk/OptionalObsoleteFiles.inc
==
--- head/tools/build/mk/OptionalObsoleteFiles.inc   Sat Nov 23 17:25:09 
2019(r355033)
+++ head/tools/build/mk/OptionalObsoleteFiles.inc   Sat Nov 23 19:35:09 
2019(r355034)
@@ -1576,6 +1576,8 @@ OLD_FILES+=usr/lib/clang/9.0.0/lib/freebsd/libclang_rt
 OLD_FILES+=usr/lib/clang/9.0.0/lib/freebsd/libclang_rt.profile-arm.a
 OLD_FILES+=usr/lib/clang/9.0.0/lib/freebsd/libclang_rt.profile-armhf.a
 OLD_FILES+=usr/lib/clang/9.0.0/lib/freebsd/libclang_rt.profile-i386.a
+OLD_FILES+=usr/lib/clang/9.0.0/lib/freebsd/libclang_rt.profile-powerpc.a
+OLD_FILES+=usr/lib/clang/9.0.0/lib/freebsd/libclang_rt.profile-powerpc64.a
 OLD_FILES+=usr/lib/clang/9.0.0/lib/freebsd/libclang_rt.profile-x86_64.a
 OLD_FILES+=usr/lib/clang/9.0.0/lib/freebsd/libclang_rt.safestack-aarch64.a
 OLD_FILES+=usr/lib/clang/9.0.0/lib/freebsd/libclang_rt.safestack-i386.a
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355033 - svnadmin/conf

2019-11-23 Thread Justin Hibbits
Author: jhibbits
Date: Sat Nov 23 17:25:09 2019
New Revision: 355033
URL: https://svnweb.freebsd.org/changeset/base/355033

Log:
  Let bdragon run free.  He knows the drill.

Modified:
  svnadmin/conf/mentors

Modified: svnadmin/conf/mentors
==
--- svnadmin/conf/mentors   Sat Nov 23 17:22:36 2019(r355032)
+++ svnadmin/conf/mentors   Sat Nov 23 17:25:09 2019(r355033)
@@ -11,7 +11,6 @@
 
 # Mentee   Mentor  Optional comment
 anish  jhb
-bdragonjhibbits
 brdallanjude   Co-mentor: bapt
 chsimp
 gordon delphij Co-mentor: emaste
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355032 - head/tests/sys/sys

2019-11-23 Thread Doug Moore
Author: dougm
Date: Sat Nov 23 17:22:36 2019
New Revision: 355032
URL: https://svnweb.freebsd.org/changeset/base/355032

Log:
  The error messages that indicate bugs in 'area' bitstring functions
  should identify accurately which function exhibited the bug.
  
  Reviewed by: asomers
  MFC after: 1 week
  Differential Revision: https://reviews.freebsd.org/D22519

Modified:
  head/tests/sys/sys/bitstring_test.c

Modified: head/tests/sys/sys/bitstring_test.c
==
--- head/tests/sys/sys/bitstring_test.c Sat Nov 23 13:39:47 2019
(r355031)
+++ head/tests/sys/sys/bitstring_test.c Sat Nov 23 17:22:36 2019
(r355032)
@@ -340,7 +340,7 @@ BITSTRING_TC_DEFINE(bit_ffs_area_no_match)
memset(bitstr, 0, bitstr_size(nbits));
bit_ffs_area(bitstr, nbits, 2, _clear_bits);
ATF_REQUIRE_EQ_MSG(-1, found_clear_bits,
-   "bit_ffc_area_%d_%s: Failed all clear bits.", nbits, memloc);
+   "bit_ffs_area_%d_%s: Failed all clear bits.", nbits, memloc);
 }
 
 ATF_TC_WITHOUT_HEAD(bit_ffs_area);
@@ -358,36 +358,36 @@ ATF_TC_BODY(bit_ffs_area, tc)
location = 0;
bit_ffs_area(bitstr, nbits, 3, );
ATF_REQUIRE_EQ_MSG(-1, location,
-   "bit_ffc_area: found location of size 3 when only 2 
bits are set");
+   "bit_ffs_area: found location of size 3 when only 2 
bits are set");
 
bit_set(bitstr, 7);
 
location = 0;
bit_ffs_area(bitstr, nbits, 3, );
ATF_REQUIRE_EQ_MSG(5, location,
-   "bit_ffc_area: failed to find location of size 3");
+   "bit_ffs_area: failed to find location of size 3");
 
bit_set(bitstr, 8);
 
location = 0;
bit_ffs_area(bitstr, nbits, 3, );
ATF_REQUIRE_EQ_MSG(5, location,
-   "bit_ffc_area: failed to find location of size 3");
+   "bit_ffs_area: failed to find location of size 3");
 
location = 0;
bit_ffs_area_at(bitstr, 2, nbits, 3, );
ATF_REQUIRE_EQ_MSG(5, location,
-   "bit_ffc_area: failed to find location of size 3");
+   "bit_ffs_area_at: failed to find location of size 3");
 
location = 0;
bit_ffs_area_at(bitstr, 6, nbits, 3, );
ATF_REQUIRE_EQ_MSG(6, location,
-   "bit_ffc_area: failed to find location of size 3");
+   "bit_ffs_area_at: failed to find location of size 3");
 
location = 0;
bit_ffs_area_at(bitstr, 8, nbits, 3, );
ATF_REQUIRE_EQ_MSG(-1, location,
-   "bit_ffc_area: found invalid location");
+   "bit_ffs_area_at: found invalid location");
 
bit_set(bitstr, 69);
bit_set(bitstr, 70);
@@ -396,22 +396,22 @@ ATF_TC_BODY(bit_ffs_area, tc)
location = 0;
bit_ffs_area_at(bitstr, 8, nbits, 3, );
ATF_REQUIRE_EQ_MSG(69, location,
-   "bit_ffc_area: failed to find location of size 3");
+   "bit_ffs_area_at: failed to find location of size 3");
 
location = 0;
bit_ffs_area_at(bitstr, 69, nbits, 3, );
ATF_REQUIRE_EQ_MSG(69, location,
-   "bit_ffc_area: failed to find location of size 3");
+   "bit_ffs_area_at: failed to find location of size 3");
 
location = 0;
bit_ffs_area_at(bitstr, 70, nbits, 3, );
ATF_REQUIRE_EQ_MSG(-1, location,
-   "bit_ffc_area: found invalid location");
+   "bit_ffs_area_at: found invalid location");
 
location = 0;
bit_ffs_area_at(bitstr, 72, nbits, 3, );
ATF_REQUIRE_EQ_MSG(-1, location,
-   "bit_ffc_area: found invalid location");
+   "bit_ffs_area_at: found invalid location");
 }
 
 ATF_TC_WITHOUT_HEAD(bit_ffc_area);
@@ -449,17 +449,17 @@ ATF_TC_BODY(bit_ffc_area, tc)
location = 0;
bit_ffc_area_at(bitstr, 2, nbits, 3, );
ATF_REQUIRE_EQ_MSG(7, location,
-   "bit_ffc_area: failed to find location of size 3");
+   "bit_ffc_area_at: failed to find location of size 3");
 
location = 0;
bit_ffc_area_at(bitstr, 8, nbits, 3, );
ATF_REQUIRE_EQ_MSG(8, location,
-   "bit_ffc_area: failed to find location of size 3");
+   "bit_ffc_area_at: failed to find location of size 3");
 
location = 0;
bit_ffc_area_at(bitstr, 9, nbits, 3, );
ATF_REQUIRE_EQ_MSG(-1, location,
-   "bit_ffc_area: found invalid bit location");
+   "bit_ffc_area_at: found invalid bit location");
 
bit_clear(bitstr, 77);
bit_clear(bitstr, 78);
@@ -468,22 +468,22 @@ ATF_TC_BODY(bit_ffc_area, tc)
location = 0;

svn commit: r355031 - head/sys/arm/broadcom/bcm2835

2019-11-23 Thread Kyle Evans
Author: kevans
Date: Sat Nov 23 13:39:47 2019
New Revision: 355031
URL: https://svnweb.freebsd.org/changeset/base/355031

Log:
  bcm2835_sdhci: fix non-INVARIANTS build
  
  sc is now only used to make sure we're not re-entering the data handling
  path erroneously.
  
  Reported by:  Mark Millard

Modified:
  head/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c

Modified: head/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c
==
--- head/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c   Sat Nov 23 13:23:12 
2019(r355030)
+++ head/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c   Sat Nov 23 13:39:47 
2019(r355031)
@@ -718,7 +718,9 @@ bcm_sdhci_start_dma(struct sdhci_slot *slot)
 static int
 bcm_sdhci_will_handle_transfer(device_t dev, struct sdhci_slot *slot)
 {
+#ifdef INVARIANTS
struct bcm_sdhci_softc *sc = device_get_softc(slot->bus);
+#endif
 
/*
 * This indicates that we somehow let a data interrupt slip by into the
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355030 - stable/11/usr.bin/netstat

2019-11-23 Thread Mike Karels
Author: karels
Date: Sat Nov 23 13:23:12 2019
New Revision: 355030
URL: https://svnweb.freebsd.org/changeset/base/355030

Log:
  MFC r354633:
  
  Fix netstat -gs with ip_mroute module and/or vnet
  
  The code for "netstat -gs -f inet" failed if the kernel namelist did not
  include the _mrtstat symbol. However, that symbol is not in a standard
  kernel even with the ip_mroute module loaded, where the functionality is
  available. It is also not in a kernel with MROUTING but also VIMAGE, as
  there can be multiple sets of stats. However, when running the command
  on a live system, the symbol is not used; a sysctl is used. Go ahead
  and try the sysctl in any case, and complain that IPv4 MROUTING is not
  present only if the sysctl fails with ENOENT. Also fail if _mrtstat is
  not defined when running on a core file; netstat doesn't know about vnets,
  so can only work if MROUTING was included, and VIMAGE was not.
  
  Reviewed by:bz

Modified:
  stable/11/usr.bin/netstat/mroute.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/usr.bin/netstat/mroute.c
==
--- stable/11/usr.bin/netstat/mroute.c  Sat Nov 23 13:20:24 2019
(r355029)
+++ stable/11/usr.bin/netstat/mroute.c  Sat Nov 23 13:23:12 2019
(r355030)
@@ -407,14 +407,12 @@ mrt_stats()
 
mstaddr = nl[N_MRTSTAT].n_value;
 
-   if (mstaddr == 0) {
-   fprintf(stderr, "No IPv4 MROUTING kernel support.\n");
-   return;
-   }
-
if (fetch_stats("net.inet.ip.mrtstat", mstaddr, ,
-   sizeof(mrtstat), kread_counters) != 0)
+   sizeof(mrtstat), kread_counters) != 0) {
+   if ((live && errno == ENOENT) || (!live && mstaddr == 0))
+   fprintf(stderr, "No IPv4 MROUTING kernel support.\n");
return;
+   }
 
xo_emit("{T:IPv4 multicast forwarding}:\n");
 
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355029 - stable/12/usr.bin/netstat

2019-11-23 Thread Mike Karels
Author: karels
Date: Sat Nov 23 13:20:24 2019
New Revision: 355029
URL: https://svnweb.freebsd.org/changeset/base/355029

Log:
  MFC r354633:
  
  Fix netstat -gs with ip_mroute module and/or vnet
  
  The code for "netstat -gs -f inet" failed if the kernel namelist did not
  include the _mrtstat symbol. However, that symbol is not in a standard
  kernel even with the ip_mroute module loaded, where the functionality is
  available. It is also not in a kernel with MROUTING but also VIMAGE, as
  there can be multiple sets of stats. However, when running the command
  on a live system, the symbol is not used; a sysctl is used. Go ahead
  and try the sysctl in any case, and complain that IPv4 MROUTING is not
  present only if the sysctl fails with ENOENT. Also fail if _mrtstat is
  not defined when running on a core file; netstat doesn't know about vnets,
  so can only work if MROUTING was included, and VIMAGE was not.
  
  Reviewed by:bz

Modified:
  stable/12/usr.bin/netstat/mroute.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/usr.bin/netstat/mroute.c
==
--- stable/12/usr.bin/netstat/mroute.c  Sat Nov 23 07:06:16 2019
(r355028)
+++ stable/12/usr.bin/netstat/mroute.c  Sat Nov 23 13:20:24 2019
(r355029)
@@ -409,14 +409,12 @@ mrt_stats()
 
mstaddr = nl[N_MRTSTAT].n_value;
 
-   if (mstaddr == 0) {
-   fprintf(stderr, "No IPv4 MROUTING kernel support.\n");
-   return;
-   }
-
if (fetch_stats("net.inet.ip.mrtstat", mstaddr, ,
-   sizeof(mrtstat), kread_counters) != 0)
+   sizeof(mrtstat), kread_counters) != 0) {
+   if ((live && errno == ENOENT) || (!live && mstaddr == 0))
+   fprintf(stderr, "No IPv4 MROUTING kernel support.\n");
return;
+   }
 
xo_emit("{T:IPv4 multicast forwarding}:\n");
 
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r355024 - in head/sys: kern net sys

2019-11-23 Thread Bjoern A. Zeeb

On 22 Nov 2019, at 23:23, Conrad Meyer wrote:


Author: cem
Date: Fri Nov 22 23:23:40 2019
New Revision: 355024
URL: https://svnweb.freebsd.org/changeset/base/355024

Log:
  Add explicit SI_SUB_EPOCH

  Add explicit SI_SUB_EPOCH, after SI_SUB_TASKQ and before SI_SUB_SMP
  (EARLY_AP_STARTUP).  Rename existing "SI_SUB_TASKQ + 1" to 
SI_SUB_EPOCH.


  epoch(9) consumers cannot epoch_alloc() before 
SI_SUB_EPOCH:SI_ORDER_SECOND,

  but likely should allocate before SI_SUB_SMP.  Prior to this change,
  consumers (well, epoch itself, and net/if.c) just open-coded the
  SI_SUB_TASKQ + 1 order to match epoch.c, but this was fragile.

  Reviewed by:  mmacy
  Differential Revision:https://reviews.freebsd.org/D22503


That’s the wrong review URL?
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"