svn commit: r360865 - head/sys/mips/atheros

2020-05-09 Thread Adrian Chadd
Author: adrian
Date: Sun May 10 03:36:11 2020
New Revision: 360865
URL: https://svnweb.freebsd.org/changeset/base/360865

Log:
  [atheros] [if_arge] Various fixes to avoid TX stalls and bad sized packets
  
  This is stuff I've been running for a couple years.  It's inspired by changes
  I found in the linux ag71xx ethernet driver.
  
  * Delay between stopping DMA and checking to see if it's stopped; this gives
the hardware time to do its thing.
  
  * Non-final frames in the chain need to be a multiple of 4 bytes in size.
Ensure this is the case when assembling a TX DMA list.
  
  * Add counters for tx/rx underflow and too-short packets.
  
  * Log if TX/RX DMA couldn't be stopped when resetting the MAC.
  
  * Add some more debugging / logging around TX/RX ring bits.
  
  Tested:
  
  * AR7240, AR7241
  * AR9344 (TL-WDR3600/TL-WDR4300 APs)
  * AR9331 (Carambola 2)

Modified:
  head/sys/mips/atheros/if_arge.c
  head/sys/mips/atheros/if_argevar.h

Modified: head/sys/mips/atheros/if_arge.c
==
--- head/sys/mips/atheros/if_arge.c Sun May 10 02:14:23 2020
(r360864)
+++ head/sys/mips/atheros/if_arge.c Sun May 10 03:36:11 2020
(r360865)
@@ -333,6 +333,11 @@ arge_attach_sysctl(device_t dev)
0, "number of TX unaligned packets (len)");
 
SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO,
+   "tx_pkts_unaligned_tooshort", CTLFLAG_RW,
+   >stats.tx_pkts_unaligned_tooshort,
+   0, "number of TX unaligned packets (mbuf length < 4 bytes)");
+
+   SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO,
"tx_pkts_nosegs", CTLFLAG_RW, >stats.tx_pkts_nosegs,
0, "number of TX packets fail with no ring slots avail");
 
@@ -347,6 +352,13 @@ arge_attach_sysctl(device_t dev)
SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO,
"intr_ok", CTLFLAG_RW, >stats.intr_ok,
0, "number of OK interrupts");
+
+   SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO,
+   "tx_underflow", CTLFLAG_RW, >stats.tx_underflow,
+   0, "Number of TX underflows");
+   SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO,
+   "rx_overflow", CTLFLAG_RW, >stats.rx_overflow,
+   0, "Number of RX overflows");
 #ifdef ARGE_DEBUG
SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "tx_prod",
CTLFLAG_RW, >arge_cdata.arge_tx_prod, 0, "");
@@ -1365,15 +1377,24 @@ arge_set_pll(struct arge_softc *sc, int media, int dup
 static void
 arge_reset_dma(struct arge_softc *sc)
 {
+   uint32_t val;
 
ARGEDEBUG(sc, ARGE_DBG_RESET, "%s: called\n", __func__);
 
ARGE_WRITE(sc, AR71XX_DMA_RX_CONTROL, 0);
ARGE_WRITE(sc, AR71XX_DMA_TX_CONTROL, 0);
 
+   /* Give hardware a chance to finish */
+   DELAY(1000);
+
ARGE_WRITE(sc, AR71XX_DMA_RX_DESC, 0);
ARGE_WRITE(sc, AR71XX_DMA_TX_DESC, 0);
 
+   ARGEDEBUG(sc, ARGE_DBG_RESET, "%s: RX_STATUS=%08x, TX_STATUS=%08x\n",
+   __func__,
+   ARGE_READ(sc, AR71XX_DMA_RX_STATUS),
+   ARGE_READ(sc, AR71XX_DMA_TX_STATUS));
+
/* Clear all possible RX interrupts */
while(ARGE_READ(sc, AR71XX_DMA_RX_STATUS) & DMA_RX_STATUS_PKT_RECVD)
ARGE_WRITE(sc, AR71XX_DMA_RX_STATUS, DMA_RX_STATUS_PKT_RECVD);
@@ -1397,6 +1418,24 @@ arge_reset_dma(struct arge_softc *sc)
 * flushed to RAM before underlying buffers are freed.
 */
arge_flush_ddr(sc);
+
+   /* Check if we cleared RX status */
+   val = ARGE_READ(sc, AR71XX_DMA_RX_STATUS);
+   if (val != 0) {
+   device_printf(sc->arge_dev,
+   "%s: unable to clear DMA_RX_STATUS: %08x\n",
+   __func__, val);
+   }
+
+   /* Check if we cleared TX status */
+   val = ARGE_READ(sc, AR71XX_DMA_TX_STATUS);
+   /* Mask out reserved bits */
+   val = val & 0x00ff;
+   if (val != 0) {
+   device_printf(sc->arge_dev,
+   "%s: unable to clear DMA_TX_STATUS: %08x\n",
+   __func__, val);
+   }
 }
 
 static void
@@ -1417,9 +1456,13 @@ arge_init_locked(struct arge_softc *sc)
 
ARGE_LOCK_ASSERT(sc);
 
+   ARGEDEBUG(sc, ARGE_DBG_RESET, "%s: called\n", __func__);
+
if ((ifp->if_flags & IFF_UP) && (ifp->if_drv_flags & IFF_DRV_RUNNING))
return;
 
+   ARGEDEBUG(sc, ARGE_DBG_RESET, "%s: init'ing\n", __func__);
+
/* Init circular RX list. */
if (arge_rx_ring_init(sc) != 0) {
device_printf(sc->arge_dev,
@@ -1431,6 +1474,7 @@ arge_init_locked(struct arge_softc *sc)
/* Init tx descriptors. */
arge_tx_ring_init(sc);
 
+   /* Restart DMA */
arge_reset_dma(sc);
 
if (sc->arge_miibus) {
@@ -1452,6 +1496,11 @@ arge_init_locked(struct arge_softc *sc)
   

svn commit: r360864 - stable/11/sys/cam/ctl

2020-05-09 Thread Alexander Motin
Author: mav
Date: Sun May 10 02:14:23 2020
New Revision: 360864
URL: https://svnweb.freebsd.org/changeset/base/360864

Log:
  MFC r360610: Add session locking in cfiscsi_ioctl_handoff().
  
  While there, remove ifdef around cs_target check in cfiscsi_ioctl_list().
  I am not sure why this ifdef was added, but without this check code will
  crash below on NULL dereference.

Modified:
  stable/11/sys/cam/ctl/ctl_frontend_iscsi.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/cam/ctl/ctl_frontend_iscsi.c
==
--- stable/11/sys/cam/ctl/ctl_frontend_iscsi.c  Sun May 10 02:13:38 2020
(r360863)
+++ stable/11/sys/cam/ctl/ctl_frontend_iscsi.c  Sun May 10 02:14:23 2020
(r360864)
@@ -1571,8 +1571,10 @@ cfiscsi_ioctl_handoff(struct ctl_iscsi *ci)
mtx_lock(>lock);
if (ct->ct_online == 0) {
mtx_unlock(>lock);
+   CFISCSI_SESSION_LOCK(cs);
cs->cs_handoff_in_progress = false;
cfiscsi_session_terminate(cs);
+   CFISCSI_SESSION_UNLOCK(cs);
cfiscsi_target_release(ct);
ci->status = CTL_ISCSI_ERROR;
snprintf(ci->error_str, sizeof(ci->error_str),
@@ -1618,8 +1620,10 @@ restart:
 #endif
error = icl_conn_handoff(cs->cs_conn, cihp->socket);
if (error != 0) {
+   CFISCSI_SESSION_LOCK(cs);
cs->cs_handoff_in_progress = false;
cfiscsi_session_terminate(cs);
+   CFISCSI_SESSION_UNLOCK(cs);
ci->status = CTL_ISCSI_ERROR;
snprintf(ci->error_str, sizeof(ci->error_str),
"%s: icl_conn_handoff failed with error %d",
@@ -1681,10 +1685,8 @@ cfiscsi_ioctl_list(struct ctl_iscsi *ci)
sbuf_printf(sb, "\n");
mtx_lock(>lock);
TAILQ_FOREACH(cs, >sessions, cs_next) {
-#ifdef ICL_KERNEL_PROXY
if (cs->cs_target == NULL)
continue;
-#endif
error = sbuf_printf(sb, ""
"%s"
"%s"
___
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: r360863 - stable/12/sys/cam/ctl

2020-05-09 Thread Alexander Motin
Author: mav
Date: Sun May 10 02:13:38 2020
New Revision: 360863
URL: https://svnweb.freebsd.org/changeset/base/360863

Log:
  MFC r360610: Add session locking in cfiscsi_ioctl_handoff().
  
  While there, remove ifdef around cs_target check in cfiscsi_ioctl_list().
  I am not sure why this ifdef was added, but without this check code will
  crash below on NULL dereference.

Modified:
  stable/12/sys/cam/ctl/ctl_frontend_iscsi.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/cam/ctl/ctl_frontend_iscsi.c
==
--- stable/12/sys/cam/ctl/ctl_frontend_iscsi.c  Sun May 10 00:34:09 2020
(r360862)
+++ stable/12/sys/cam/ctl/ctl_frontend_iscsi.c  Sun May 10 02:13:38 2020
(r360863)
@@ -1582,8 +1582,10 @@ cfiscsi_ioctl_handoff(struct ctl_iscsi *ci)
mtx_lock(>lock);
if (ct->ct_online == 0) {
mtx_unlock(>lock);
+   CFISCSI_SESSION_LOCK(cs);
cs->cs_handoff_in_progress = false;
cfiscsi_session_terminate(cs);
+   CFISCSI_SESSION_UNLOCK(cs);
cfiscsi_target_release(ct);
ci->status = CTL_ISCSI_ERROR;
snprintf(ci->error_str, sizeof(ci->error_str),
@@ -1629,8 +1631,10 @@ restart:
 #endif
error = icl_conn_handoff(cs->cs_conn, cihp->socket);
if (error != 0) {
+   CFISCSI_SESSION_LOCK(cs);
cs->cs_handoff_in_progress = false;
cfiscsi_session_terminate(cs);
+   CFISCSI_SESSION_UNLOCK(cs);
ci->status = CTL_ISCSI_ERROR;
snprintf(ci->error_str, sizeof(ci->error_str),
"%s: icl_conn_handoff failed with error %d",
@@ -1692,10 +1696,8 @@ cfiscsi_ioctl_list(struct ctl_iscsi *ci)
sbuf_printf(sb, "\n");
mtx_lock(>lock);
TAILQ_FOREACH(cs, >sessions, cs_next) {
-#ifdef ICL_KERNEL_PROXY
if (cs->cs_target == NULL)
continue;
-#endif
error = sbuf_printf(sb, ""
"%s"
"%s"
___
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: r359488 - head/share/mk

2020-05-09 Thread Kyle Evans
On Tue, Mar 31, 2020 at 11:00 AM Simon J. Gerraty  wrote:
>
> Author: sjg
> Date: Tue Mar 31 15:59:29 2020
> New Revision: 359488
> URL: https://svnweb.freebsd.org/changeset/base/359488
>
> Log:
>   Include ${.CURDIR}/local.init.mk if it exists
>
>   This is handy for making local hacks to an app
>   (eg to build it as tool for non-BSD host)
>   without making a mess of the code base.
>
>   Reviewed by:  bdrewery
>   MFC after:1 week
>   Differential Revision: https://reviews.freebsd.org//D24101
>

In hindsight, I wonder if this should have been
${.CURDIR}/Makefile.local instead, to match the convention used in
ports already for this kind of thing. Thoughts?

Thanks,

Kyle Evans
___
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: r360862 - stable/12/sys/riscv/include

2020-05-09 Thread John Baldwin
Author: jhb
Date: Sun May 10 00:34:09 2020
New Revision: 360862
URL: https://svnweb.freebsd.org/changeset/base/360862

Log:
  MFC 357255,357337: Fix definition of SSTATUS_SD and MSTATUS_SD.
  
  357255:
  Fix definition of SSTATUS_SD
  
  The SD bit is defined as the MSB of the sstatus register, meaning its
  position will vary depending on the CSR's length. Previously, there were
  two (unused) defines for this, for the 32 and 64-bit cases, but their
  definitions were swapped.
  
  Consolidate these into one define: SSTATUS_SD, and make the definition
  dependent on the value of __riscv_xlen.
  
  357337:
  Fix 64-bit value of SSTATUS_SD to use an unsigned long.
  
  While here, fix MSTATUS_SD to match SSTATUS_SD.

Modified:
  stable/12/sys/riscv/include/riscvreg.h
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/riscv/include/riscvreg.h
==
--- stable/12/sys/riscv/include/riscvreg.h  Sun May 10 00:28:43 2020
(r360861)
+++ stable/12/sys/riscv/include/riscvreg.h  Sun May 10 00:34:09 2020
(r360862)
@@ -72,8 +72,11 @@
 #defineSSTATUS_XS_SHIFT15
 #defineSSTATUS_XS_MASK (0x3 << SSTATUS_XS_SHIFT)
 #defineSSTATUS_SUM (1 << 18)
-#defineSSTATUS32_SD(1 << 63)
-#defineSSTATUS64_SD(1 << 31)
+#if __riscv_xlen == 64
+#defineSSTATUS_SD  (1ul << 63)
+#else
+#defineSSTATUS_SD  (1 << 31)
+#endif
 
 #defineMSTATUS_UIE (1 << 0)
 #defineMSTATUS_SIE (1 << 1)
@@ -107,8 +110,11 @@
 #define MSTATUS_VM_SV4810
 #define MSTATUS_VM_SV5711
 #define MSTATUS_VM_SV6412
-#defineMSTATUS32_SD(1 << 63)
-#defineMSTATUS64_SD(1 << 31)
+#if __riscv_xlen == 64
+#defineMSTATUS_SD  (1ul << 63)
+#else
+#defineMSTATUS_SD  (1 << 31)
+#endif
 
 #defineMSTATUS_PRV_U   0   /* user */
 #defineMSTATUS_PRV_S   1   /* supervisor */
___
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: r360857 - stable/12/sys/riscv/riscv

2020-05-09 Thread John Baldwin
Author: jhb
Date: Sat May  9 21:34:50 2020
New Revision: 360857
URL: https://svnweb.freebsd.org/changeset/base/360857

Log:
  MFC 357313: Trim duplicate CSR swaps from user exceptions.
  
  The stack pointer is swapped with the sscratch CSR just before the
  jump to cpu_exception_handler_user where the first instruction swaps
  it again.  The two swaps together are a no-op, but the csr swap
  instructions can be expensive (e.g. on Bluespec RISC-V cores csr swap
  instructions force a full pipeline stall).

Modified:
  stable/12/sys/riscv/riscv/exception.S
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/riscv/riscv/exception.S
==
--- stable/12/sys/riscv/riscv/exception.S   Sat May  9 21:32:44 2020
(r360856)
+++ stable/12/sys/riscv/riscv/exception.S   Sat May  9 21:34:50 2020
(r360857)
@@ -208,7 +208,6 @@ ENTRY(cpu_exception_handler)
csrrw   sp, sscratch, sp
beqzsp, 1f
/* User mode detected */
-   csrrw   sp, sscratch, sp
j   cpu_exception_handler_user
 1:
/* Supervisor mode detected */
@@ -225,7 +224,6 @@ ENTRY(cpu_exception_handler_supervisor)
 END(cpu_exception_handler_supervisor)
 
 ENTRY(cpu_exception_handler_user)
-   csrrw   sp, sscratch, sp
save_registers 0
mv  a0, sp
call_C_LABEL(do_trap_user)
___
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: r360856 - in stable/12/sys/riscv: include riscv

2020-05-09 Thread John Baldwin
Author: jhb
Date: Sat May  9 21:32:44 2020
New Revision: 360856
URL: https://svnweb.freebsd.org/changeset/base/360856

Log:
  MFC 357305: Remove unused fields from struct pcb.
  
  cpu_switch/throw() and savectx() do not save or restore any values in
  these fields which mostly held non-callee-save registers.
  
  makectx() copied these fields from kdb_frame, but they weren't used
  except for PC_REGS using pcb_sepc.  Change PC_REGS to use
  kdb_frame->tf_sepc directly instead.

Modified:
  stable/12/sys/riscv/include/db_machdep.h
  stable/12/sys/riscv/include/pcb.h
  stable/12/sys/riscv/riscv/genassym.c
  stable/12/sys/riscv/riscv/machdep.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/riscv/include/db_machdep.h
==
--- stable/12/sys/riscv/include/db_machdep.hSat May  9 20:14:05 2020
(r360855)
+++ stable/12/sys/riscv/include/db_machdep.hSat May  9 21:32:44 2020
(r360856)
@@ -47,7 +47,7 @@
 typedef vm_offset_tdb_addr_t;
 typedef long   db_expr_t;
 
-#definePC_REGS()   ((db_addr_t)kdb_thrctx->pcb_sepc)
+#definePC_REGS()   ((db_addr_t)kdb_frame->tf_sepc)
 
 #defineBKPT_INST   (0x00100073)
 #defineBKPT_SIZE   (INSN_SIZE)

Modified: stable/12/sys/riscv/include/pcb.h
==
--- stable/12/sys/riscv/include/pcb.h   Sat May  9 20:14:05 2020
(r360855)
+++ stable/12/sys/riscv/include/pcb.h   Sat May  9 21:32:44 2020
(r360856)
@@ -46,15 +46,12 @@ struct pcb {
uint64_tpcb_sp; /* Stack pointer */
uint64_tpcb_gp; /* Global pointer */
uint64_tpcb_tp; /* Thread pointer */
-   uint64_tpcb_t[7];   /* Temporary registers */
uint64_tpcb_s[12];  /* Saved registers */
-   uint64_tpcb_a[8];   /* Argument registers */
uint64_tpcb_x[32][2];   /* Floating point registers */
uint64_tpcb_fcsr;   /* Floating point control reg */
uint64_tpcb_fpflags;/* Floating point flags */
 #definePCB_FP_STARTED  0x1
 #definePCB_FP_USERMASK 0x1
-   uint64_tpcb_sepc;   /* Supervisor exception pc */
vm_offset_t pcb_onfault;/* Copyinout fault handler */
 };
 

Modified: stable/12/sys/riscv/riscv/genassym.c
==
--- stable/12/sys/riscv/riscv/genassym.cSat May  9 20:14:05 2020
(r360855)
+++ stable/12/sys/riscv/riscv/genassym.cSat May  9 21:32:44 2020
(r360856)
@@ -68,9 +68,7 @@ ASSYM(PCB_RA, offsetof(struct pcb, pcb_ra));
 ASSYM(PCB_SP, offsetof(struct pcb, pcb_sp));
 ASSYM(PCB_GP, offsetof(struct pcb, pcb_gp));
 ASSYM(PCB_TP, offsetof(struct pcb, pcb_tp));
-ASSYM(PCB_T, offsetof(struct pcb, pcb_t));
 ASSYM(PCB_S, offsetof(struct pcb, pcb_s));
-ASSYM(PCB_A, offsetof(struct pcb, pcb_a));
 ASSYM(PCB_X, offsetof(struct pcb, pcb_x));
 ASSYM(PCB_FCSR, offsetof(struct pcb, pcb_fcsr));
 

Modified: stable/12/sys/riscv/riscv/machdep.c
==
--- stable/12/sys/riscv/riscv/machdep.c Sat May  9 20:14:05 2020
(r360855)
+++ stable/12/sys/riscv/riscv/machdep.c Sat May  9 21:32:44 2020
(r360856)
@@ -556,15 +556,12 @@ void
 makectx(struct trapframe *tf, struct pcb *pcb)
 {
 
-   memcpy(pcb->pcb_t, tf->tf_t, sizeof(tf->tf_t));
memcpy(pcb->pcb_s, tf->tf_s, sizeof(tf->tf_s));
-   memcpy(pcb->pcb_a, tf->tf_a, sizeof(tf->tf_a));
 
pcb->pcb_ra = tf->tf_ra;
pcb->pcb_sp = tf->tf_sp;
pcb->pcb_gp = tf->tf_gp;
pcb->pcb_tp = tf->tf_tp;
-   pcb->pcb_sepc = tf->tf_sepc;
 }
 
 void
___
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: r360855 - stable/12/sys/riscv/include

2020-05-09 Thread John Baldwin
Author: jhb
Date: Sat May  9 20:14:05 2020
New Revision: 360855
URL: https://svnweb.freebsd.org/changeset/base/360855

Log:
  MFC 357591:
  Read the breakpoint instruction to determine its length in BKPT_SKIP.
  
  This fixes continuing from debug.kdb.enter=1 after enabling the use of
  compressed instructions since the compiler can emit the two byte
  c.ebreak instead of the 4 byte ebreak.

Modified:
  stable/12/sys/riscv/include/db_machdep.h
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/riscv/include/db_machdep.h
==
--- stable/12/sys/riscv/include/db_machdep.hSat May  9 20:10:01 2020
(r360854)
+++ stable/12/sys/riscv/include/db_machdep.hSat May  9 20:14:05 2020
(r360855)
@@ -53,8 +53,14 @@ typedef long db_expr_t;
 #defineBKPT_SIZE   (INSN_SIZE)
 #defineBKPT_SET(inst)  (BKPT_INST)
 
-#defineBKPT_SKIP do {  \
-   kdb_frame->tf_sepc += BKPT_SIZE;\
+#defineBKPT_SKIP do {  
\
+   uint32_t _instr;\
+   \
+   _instr = db_get_value(PC_REGS(), sizeof(uint32_t), FALSE);  \
+   if ((_instr & 0x3) == 0x3)  \
+   kdb_frame->tf_sepc += 4;/* ebreak */\
+   else\
+   kdb_frame->tf_sepc += 2;/* c.ebreak */  \
 } while (0)
 
 #definedb_clear_single_stepkdb_cpu_clear_singlestep
___
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: r360854 - stable/12/sys/riscv/riscv

2020-05-09 Thread John Baldwin
Author: jhb
Date: Sat May  9 20:10:01 2020
New Revision: 360854
URL: https://svnweb.freebsd.org/changeset/base/360854

Log:
  MFC 357593: Remove stale workaround for the htif console.
  
  In practice this discarded all characters entered at the DDB prompt.

Modified:
  stable/12/sys/riscv/riscv/riscv_console.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/riscv/riscv/riscv_console.c
==
--- stable/12/sys/riscv/riscv/riscv_console.c   Sat May  9 20:02:48 2020
(r360853)
+++ stable/12/sys/riscv/riscv/riscv_console.c   Sat May  9 20:10:01 2020
(r360854)
@@ -206,20 +206,6 @@ riscv_cngetc(struct consdev *cp)
 {
int ch;
 
-#if defined(KDB)
-   /*
-* RISCVTODO: BBL polls for console data on timer interrupt,
-* but interrupts are turned off in KDB.
-* So we currently do not have console in KDB.
-*/
-   if (kdb_active) {
-   ch = sbi_console_getchar();
-   while (ch) {
-   ch = sbi_console_getchar();
-   }
-   }
-#endif
-
ch = sbi_console_getchar();
if (ch > 0 && ch < 0xff) {
 #if defined(KDB)
___
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: r360850 - in stable/12: . share/man/man7 share/mk

2020-05-09 Thread John Baldwin
On 5/9/20 10:14 AM, John Baldwin wrote:
> Author: jhb
> Date: Sat May  9 17:14:59 2020
> New Revision: 360850
> URL: https://svnweb.freebsd.org/changeset/base/360850
> 
> Log:
>   MFC 356499: Use clang and lld as the default toolchain for RISCV.
>   
>   - Enable clang and lld as system toolchains.
>   - Don't use external GCC for universe by default.
>   - Re-enable riscv64sf since it builds fine with clang + lld.
>   
>   Sponsored by:   DARPA

RISC-V using LLVM I merged so it would be enabled in tinderbox and
to stop relying on external toolchain in 12.  This one was very easy
since LLD 10 had already been merged.  I don't plan to try to MFC
changes for MIPS or powerpc.

-- 
John Baldwin
___
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: r360853 - in stable/12/share: man/man7 mk

2020-05-09 Thread John Baldwin
Author: jhb
Date: Sat May  9 20:02:48 2020
New Revision: 360853
URL: https://svnweb.freebsd.org/changeset/base/360853

Log:
  MFC 354289,354441,355095: Use lld on armv6.
  
  354289:
  armv6: Switch to LLD by default
  
  This could just be ${__TT} == "arm", except armv5 isn't slated for death until
  EOY.
  
  arm tinderbox builds.  Let's see what else shakes out.
  
  354441:
  arch.7: armv6 uses lld by default as of r354289
  
  355095:
  remove armv6 LLVM workaround introduced in r341812
  
  r341812 enabled only arm target support in LLVM on arm and armv6,
  because ld.bfd 2.17.50 lacked support for range extensions required for
  linking such large binaries/libraries.  r341812 indicated that the
  workaround should be removed once the userland can be linked by lld.
  
  r354289 switched armv6 to use lld by default, so remove the workaround
  on armv6.  The workaround remains in place for arm (v5), and will
  presumably be removed when arm is retired.

Modified:
  stable/12/share/man/man7/arch.7
  stable/12/share/mk/src.opts.mk
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/share/man/man7/arch.7
==
--- stable/12/share/man/man7/arch.7 Sat May  9 19:26:44 2020
(r360852)
+++ stable/12/share/man/man7/arch.7 Sat May  9 20:02:48 2020
(r360853)
@@ -310,7 +310,7 @@ This table shows the default tool chain for each archi
 .It aarch64 Ta Clang Ta lld
 .It amd64   Ta Clang Ta lld
 .It arm Ta Clang Ta GNU ld 2.17.50
-.It armv6   Ta Clang Ta GNU ld 2.17.50
+.It armv6   Ta Clang Ta lld
 .It armv7   Ta Clang Ta lld
 .It i386Ta Clang Ta lld
 .It mipsTa GCC 4.2.1 Ta GNU ld 2.17.50

Modified: stable/12/share/mk/src.opts.mk
==
--- stable/12/share/mk/src.opts.mk  Sat May  9 19:26:44 2020
(r360852)
+++ stable/12/share/mk/src.opts.mk  Sat May  9 20:02:48 2020
(r360853)
@@ -277,7 +277,7 @@ __LLVM_TARGET_FILT= C/(amd64|i386)/x86/:S/sparc64/spar
 __DEFAULT_YES_OPTIONS+=LLVM_TARGET_${__llt:${__LLVM_TARGET_FILT}:tu}
 # Disable other targets for arm and armv6, to work around "relocation truncated
 # to fit" errors with BFD ld, since libllvm.a will get too large to link.
-.elif ${__T} == "arm" || ${__T} == "armv6"
+.elif ${__T} == "arm"
 __DEFAULT_NO_OPTIONS+=LLVM_TARGET_${__llt:tu}
 # aarch64 needs arm for -m32 support.
 .elif ${__TT} == "arm64" && ${__llt} == "arm"
@@ -325,8 +325,8 @@ __DEFAULT_YES_OPTIONS+=LLVM_LIBUNWIND
 .else
 __DEFAULT_NO_OPTIONS+=LLVM_LIBUNWIND
 .endif
-.if ${__T} == "aarch64" || ${__T} == "amd64" || ${__T} == "armv7" || \
-${__T} == "i386" || ${__TT} == "riscv"
+.if ${__T} == "aarch64" || ${__T} == "amd64" || ${__T} == "armv6" || \
+${__T} == "armv7" || ${__T} == "i386" || ${__TT} == "riscv"
 __DEFAULT_YES_OPTIONS+=LLD_BOOTSTRAP LLD_IS_LD
 .else
 __DEFAULT_NO_OPTIONS+=LLD_BOOTSTRAP LLD_IS_LD
___
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: r360852 - head/contrib/llvm-project/clang/lib/AST

2020-05-09 Thread Conrad Meyer
Author: cem
Date: Sat May  9 19:26:44 2020
New Revision: 360852
URL: https://svnweb.freebsd.org/changeset/base/360852

Log:
  clang: Reject %n for __attribute__((format(__freebsd_kprintf__)))
  
  A follow-up to r360849.
  
  Reported by:  imp
  Reviewed by:  emaste, imp
  X-MFC-With:   r360849
  Differential Revision:https://reviews.freebsd.org/D24786

Modified:
  head/contrib/llvm-project/clang/lib/AST/PrintfFormatString.cpp

Modified: head/contrib/llvm-project/clang/lib/AST/PrintfFormatString.cpp
==
--- head/contrib/llvm-project/clang/lib/AST/PrintfFormatString.cpp  Sat May 
 9 17:52:50 2020(r360851)
+++ head/contrib/llvm-project/clang/lib/AST/PrintfFormatString.cpp  Sat May 
 9 19:26:44 2020(r360852)
@@ -316,8 +316,8 @@ static PrintfSpecifierResult ParsePrintfSpecifier(Form
 case 'g': k = ConversionSpecifier::gArg; break;
 case 'i': k = ConversionSpecifier::iArg; break;
 case 'n':
-  // Not handled, but reserved in OpenCL.
-  if (!LO.OpenCL)
+  // Not handled, but reserved in OpenCL and FreeBSD kernel.
+  if (!LO.OpenCL && !isFreeBSDKPrintf)
 k = ConversionSpecifier::nArg;
   break;
 case 'o': k = ConversionSpecifier::oArg; break;
___
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: r360849 - in head: share/man/man9 sys/kern

2020-05-09 Thread Ed Maste
On Sat, 9 May 2020 at 12:46, Ryan Stone  wrote:
>
> On Sat, May 9, 2020 at 11:56 AM Ed Maste  wrote:
> >
> > Author: emaste
> > Date: Sat May  9 15:56:02 2020
> > New Revision: 360849
> > URL: https://svnweb.freebsd.org/changeset/base/360849
> >
> > Log:
> >   remove %n support from printf(9)
>
> Should we put a KASSERT in to catch if new code tries to use a %n flag
> (and to let third-parties find out that it's not supported anymore)?

cem has a clang patch to reject it:
https://reviews.freebsd.org/D24786
___
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: r360851 - head/sys/compat/linuxkpi/common/include/linux

2020-05-09 Thread Emmanuel Vadot
Author: manu
Date: Sat May  9 17:52:50 2020
New Revision: 360851
URL: https://svnweb.freebsd.org/changeset/base/360851

Log:
  linuxkpi: Add bitmap_copy and bitmap_andnot
  
  bitmap_copy simply copy the bitmaps, no idea why it exists.
  bitmap_andnot is similar to bitmap_and but uses !src2.
  
  Sponsored-by: The FreeBSD Foundation
  Reviewed by:  hselasky
  Differential Revision:https://reviews.freebsd.org/D24782

Modified:
  head/sys/compat/linuxkpi/common/include/linux/bitmap.h

Modified: head/sys/compat/linuxkpi/common/include/linux/bitmap.h
==
--- head/sys/compat/linuxkpi/common/include/linux/bitmap.h  Sat May  9 
17:14:59 2020(r360850)
+++ head/sys/compat/linuxkpi/common/include/linux/bitmap.h  Sat May  9 
17:52:50 2020(r360851)
@@ -255,6 +255,17 @@ bitmap_complement(unsigned long *dst, const unsigned l
 }
 
 static inline void
+bitmap_copy(unsigned long *dst, const unsigned long *src,
+const unsigned int size)
+{
+   const unsigned int end = BITS_TO_LONGS(size);
+   unsigned int i;
+
+   for (i = 0; i != end; i++)
+   dst[i] = src[i];
+}
+
+static inline void
 bitmap_or(unsigned long *dst, const unsigned long *src1,
 const unsigned long *src2, const unsigned int size)
 {
@@ -274,6 +285,17 @@ bitmap_and(unsigned long *dst, const unsigned long *sr
 
for (i = 0; i != end; i++)
dst[i] = src1[i] & src2[i];
+}
+
+static inline void
+bitmap_andnot(unsigned long *dst, const unsigned long *src1,
+const unsigned long *src2, const unsigned int size)
+{
+   const unsigned int end = BITS_TO_LONGS(size);
+   unsigned int i;
+
+   for (i = 0; i != end; i++)
+   dst[i] = src1[i] & ~src2[i];
 }
 
 static inline void
___
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: r360850 - in stable/12: . share/man/man7 share/mk

2020-05-09 Thread John Baldwin
Author: jhb
Date: Sat May  9 17:14:59 2020
New Revision: 360850
URL: https://svnweb.freebsd.org/changeset/base/360850

Log:
  MFC 356499: Use clang and lld as the default toolchain for RISCV.
  
  - Enable clang and lld as system toolchains.
  - Don't use external GCC for universe by default.
  - Re-enable riscv64sf since it builds fine with clang + lld.
  
  Sponsored by: DARPA

Modified:
  stable/12/Makefile
  stable/12/share/man/man7/arch.7
  stable/12/share/mk/src.opts.mk
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/Makefile
==
--- stable/12/Makefile  Sat May  9 15:56:02 2020(r360849)
+++ stable/12/Makefile  Sat May  9 17:14:59 2020(r360850)
@@ -487,29 +487,9 @@ TARGET_ARCHES_arm?=arm armv6 armv7
 TARGET_ARCHES_arm64?=  aarch64
 TARGET_ARCHES_mips?=   mipsel mips mips64el mips64 mipsn32 mipselhf mipshf 
mips64elhf mips64hf
 TARGET_ARCHES_powerpc?=powerpc powerpc64 powerpcspe
-# riscv64sf excluded due to PR 232085
-TARGET_ARCHES_riscv?=  riscv64
+TARGET_ARCHES_riscv?=  riscv64 riscv64sf
 .for target in ${TARGETS}
 TARGET_ARCHES_${target}?= ${target}
-.endfor
-
-MAKE_PARAMS_riscv?=CROSS_TOOLCHAIN=riscv64-gcc
-
-# XXX Remove architectures only supported by external toolchain from universe
-# if required toolchain packages are missing.
-TOOLCHAINS_riscv=  riscv64
-.for target in riscv
-.if ${_UNIVERSE_TARGETS:M${target}}
-.for toolchain in ${TOOLCHAINS_${target}}
-.if !exists(/usr/local/share/toolchains/${toolchain}-gcc.mk)
-_UNIVERSE_TARGETS:= ${_UNIVERSE_TARGETS:N${target}}
-universe: universe_${toolchain}_skip .PHONY
-universe_epilogue: universe_${toolchain}_skip .PHONY
-universe_${toolchain}_skip: universe_prologue .PHONY
-   @echo ">> ${target} skipped - install ${toolchain}-xtoolchain-gcc port 
or package to build"
-.endif
-.endfor
-.endif
 .endfor
 
 .if defined(UNIVERSE_TARGET)

Modified: stable/12/share/man/man7/arch.7
==
--- stable/12/share/man/man7/arch.7 Sat May  9 15:56:02 2020
(r360849)
+++ stable/12/share/man/man7/arch.7 Sat May  9 17:14:59 2020
(r360850)
@@ -26,7 +26,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd August 14, 2019
+.Dd January 8, 2020
 .Dt ARCH 7
 .Os
 .Sh NAME
@@ -325,12 +325,10 @@ This table shows the default tool chain for each archi
 .It powerpc Ta GCC 4.2.1 Ta GNU ld 2.17.50
 .It powerpcspe  Ta GCC 4.2.1 Ta GNU ld 2.17.50
 .It powerpc64   Ta GCC 4.2.1 Ta GNU ld 2.17.50
-.It riscv64 Ta GCC(1)Ta GNU ld(1)
-.It riscv64sf   Ta GCC(1)Ta GNU ld(1)
+.It riscv64 Ta Clang Ta lld
+.It riscv64sf   Ta Clang Ta lld
 .It sparc64 Ta GCC 4.2.1 Ta GNU ld 2.17.50
 .El
-.Pp
-(1) External toolchain provided by ports/packages.
 .Pp
 Note that GCC 4.2.1 is deprecated, and scheduled for removal on 2020-03-31.
 Any CPU architectures not migrated by then

Modified: stable/12/share/mk/src.opts.mk
==
--- stable/12/share/mk/src.opts.mk  Sat May  9 15:56:02 2020
(r360849)
+++ stable/12/share/mk/src.opts.mk  Sat May  9 17:14:59 2020
(r360850)
@@ -296,7 +296,8 @@ __DEFAULT_NO_OPTIONS+=LLVM_TARGET_BPF
 # build Clang without using an external compiler.
 
 .if ${COMPILER_FEATURES:Mc++11} && (${__T} == "aarch64" || \
-${__T} == "amd64" || ${__TT} == "arm" || ${__T} == "i386")
+${__T} == "amd64" || ${__TT} == "arm" || ${__T} == "i386" || \
+${__TT} == "riscv")
 # Clang is enabled, and will be installed as the default /usr/bin/cc.
 __DEFAULT_YES_OPTIONS+=CLANG CLANG_BOOTSTRAP CLANG_IS_CC LLD
 __DEFAULT_NO_OPTIONS+=GCC GCC_BOOTSTRAP GNUCXX GPL_DTC
@@ -325,7 +326,7 @@ __DEFAULT_YES_OPTIONS+=LLVM_LIBUNWIND
 __DEFAULT_NO_OPTIONS+=LLVM_LIBUNWIND
 .endif
 .if ${__T} == "aarch64" || ${__T} == "amd64" || ${__T} == "armv7" || \
-${__T} == "i386"
+${__T} == "i386" || ${__TT} == "riscv"
 __DEFAULT_YES_OPTIONS+=LLD_BOOTSTRAP LLD_IS_LD
 .else
 __DEFAULT_NO_OPTIONS+=LLD_BOOTSTRAP LLD_IS_LD
___
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: r360849 - in head: share/man/man9 sys/kern

2020-05-09 Thread Ryan Stone
On Sat, May 9, 2020 at 11:56 AM Ed Maste  wrote:
>
> Author: emaste
> Date: Sat May  9 15:56:02 2020
> New Revision: 360849
> URL: https://svnweb.freebsd.org/changeset/base/360849
>
> Log:
>   remove %n support from printf(9)

Should we put a KASSERT in to catch if new code tries to use a %n flag
(and to let third-parties find out that it's not supported anymore)?
___
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: r360849 - in head: share/man/man9 sys/kern

2020-05-09 Thread Ed Maste
Author: emaste
Date: Sat May  9 15:56:02 2020
New Revision: 360849
URL: https://svnweb.freebsd.org/changeset/base/360849

Log:
  remove %n support from printf(9)
  
  It can be dangerous and there is no need for it in the kernel.
  Inspired by Kees Cook's change in Linux, and later OpenBSD.
  
  Reviewed by:  cem, gordon, philip
  Sponsored by: The FreeBSD Foundation
  Differential Revision:https://reviews.freebsd.org/D24760

Modified:
  head/share/man/man9/printf.9
  head/sys/kern/subr_prf.c

Modified: head/share/man/man9/printf.9
==
--- head/share/man/man9/printf.9Sat May  9 14:49:56 2020
(r360848)
+++ head/share/man/man9/printf.9Sat May  9 15:56:02 2020
(r360849)
@@ -26,7 +26,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd November 18, 2015
+.Dd May 9, 2020
 .Dt PRINTF 9
 .Os
 .Sh NAME
@@ -83,7 +83,7 @@ parameter in the same manner as
 .Xr printf 3 .
 However,
 .Xr printf 9
-adds two other conversion specifiers.
+adds two other conversion specifiers and omits one.
 .Pp
 The
 .Cm \&%b
@@ -119,6 +119,10 @@ a time.
 The string is used as a delimiter between individual bytes.
 If present, a width directive will specify the number of bytes to display.
 By default, 16 bytes of data are output.
+.Pp
+The
+.Cm \&%n
+conversion specifier is not supported.
 .Pp
 The
 .Fn log

Modified: head/sys/kern/subr_prf.c
==
--- head/sys/kern/subr_prf.cSat May  9 14:49:56 2020(r360848)
+++ head/sys/kern/subr_prf.cSat May  9 15:56:02 2020(r360849)
@@ -775,20 +775,24 @@ reswitch: switch (ch = (u_char)*fmt++) {
lflag = 1;
goto reswitch;
case 'n':
+   /*
+* We do not support %n in kernel, but consume the
+* argument.
+*/
if (jflag)
-   *(va_arg(ap, intmax_t *)) = retval;
+   (void)va_arg(ap, intmax_t *);
else if (qflag)
-   *(va_arg(ap, quad_t *)) = retval;
+   (void)va_arg(ap, quad_t *);
else if (lflag)
-   *(va_arg(ap, long *)) = retval;
+   (void)va_arg(ap, long *);
else if (zflag)
-   *(va_arg(ap, size_t *)) = retval;
+   (void)va_arg(ap, size_t *);
else if (hflag)
-   *(va_arg(ap, short *)) = retval;
+   (void)va_arg(ap, short *);
else if (cflag)
-   *(va_arg(ap, char *)) = retval;
+   (void)va_arg(ap, char *);
else
-   *(va_arg(ap, int *)) = retval;
+   (void)va_arg(ap, int *);
break;
case 'o':
base = 8;
___
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: r360848 - in head: share/man/man4 sys/dev/rtwn/usb sys/dev/usb

2020-05-09 Thread Mark Johnston
Author: markj
Date: Sat May  9 14:49:56 2020
New Revision: 360848
URL: https://svnweb.freebsd.org/changeset/base/360848

Log:
  rtwn: Add a new USB ID.
  
  PR:   246315
  Submitted by: Idwer Vollering 
  MFC after:1 week

Modified:
  head/share/man/man4/rtwn_usb.4
  head/sys/dev/rtwn/usb/rtwn_usb_attach.h
  head/sys/dev/usb/usbdevs

Modified: head/share/man/man4/rtwn_usb.4
==
--- head/share/man/man4/rtwn_usb.4  Sat May  9 14:19:29 2020
(r360847)
+++ head/share/man/man4/rtwn_usb.4  Sat May  9 14:49:56 2020
(r360848)
@@ -29,7 +29,7 @@
 .\"
 .\" $FreeBSD$
 .\"/
-.Dd September 1, 2019
+.Dd May 9, 2020
 .Dt RTWN_USB 4
 .Os
 .Sh NAME
@@ -83,6 +83,7 @@ based USB wireless network adapters, including:
 .It "EDUP EP-AC1620" Ta RTL8821AU Ta USB 2.0
 .It "Elecom WDC-150SU2M" Ta RTL8188EU Ta USB 2.0
 .It "EnGenius EUB1200AC" Ta RTL8812AU Ta USB 3.0
+.It "Foxconn WFUR6" Ta RTL8812AU Ta USB 2.0
 .It "Hawking HD65U" Ta RTL8821AU Ta USB 2.0
 .It "Hercules Wireless N USB Pico" Ta RTL8188CUS Ta USB 2.0
 .It "I-O Data WN-AC867U" Ta RTL8812AU Ta USB 3.0

Modified: head/sys/dev/rtwn/usb/rtwn_usb_attach.h
==
--- head/sys/dev/rtwn/usb/rtwn_usb_attach.h Sat May  9 14:19:29 2020
(r360847)
+++ head/sys/dev/rtwn/usb/rtwn_usb_attach.h Sat May  9 14:49:56 2020
(r360848)
@@ -136,7 +136,8 @@ static const STRUCT_USB_HOST_ID rtwn_devs[] = {
RTWN_RTL8812AU_DEV(MELCO,   WIU3866D),
RTWN_RTL8812AU_DEV(NEC, WL900U),
RTWN_RTL8812AU_DEV(PLANEX2, GW900D),
-   RTWN_RTL8812AU_DEV(REALTEK, RTL8812AU),
+   RTWN_RTL8812AU_DEV(REALTEK, RTL8812AU_1),
+   RTWN_RTL8812AU_DEV(REALTEK, RTL8812AU_2),
RTWN_RTL8812AU_DEV(SENAO,   EUB1200AC),
RTWN_RTL8812AU_DEV(SITECOMEU,   WLA7100),
RTWN_RTL8812AU_DEV(TPLINK,  T4U),

Modified: head/sys/dev/usb/usbdevs
==
--- head/sys/dev/usb/usbdevsSat May  9 14:19:29 2020(r360847)
+++ head/sys/dev/usb/usbdevsSat May  9 14:49:56 2020(r360848)
@@ -3996,7 +3996,8 @@ product REALTEK RTL8188CU_COMBO   0x8754  RTL8188CU
 product REALTEK RTL8821AU_10xa811  RTL8821AU
 product REALTEK RTL8723BU  0xb720  RTL8723BU
 product REALTEK RTL8192SU  0xc512  RTL8192SU
-product REALTEK RTL8812AU  0x8812  RTL8812AU Wireless Adapter
+product REALTEK RTL8812AU_10x8812  RTL8812AU Wireless Adapter
+product REALTEK RTL8812AU_20x881a  RTL8812AU Wireless Adapter
 
 /* RedOctane products */
 product REDOCTANE DUMMY0x  Dummy product
___
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: r360847 - head/share/man/man8

2020-05-09 Thread Edward Tomasz Napierala
Author: trasz
Date: Sat May  9 14:19:29 2020
New Revision: 360847
URL: https://svnweb.freebsd.org/changeset/base/360847

Log:
  Add ARM loader path to uefi(8) man page.
  
  MFC after:2 weeks
  Sponsored by: DARPA

Modified:
  head/share/man/man8/uefi.8

Modified: head/share/man/man8/uefi.8
==
--- head/share/man/man8/uefi.8  Sat May  9 14:15:44 2020(r360846)
+++ head/share/man/man8/uefi.8  Sat May  9 14:19:29 2020(r360847)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd December 14, 2018
+.Dd May 9, 2020
 .Dt UEFI 8
 .Os
 .Sh NAME
@@ -69,6 +69,7 @@ If not set, an architecture-specific default is used.
 .Bl -column -offset indent "Architecture" "Default Path"
 .It Sy Architecture Ta Sy Default Path
 .It amd64 Ta Pa /EFI/BOOT/BOOTX64.EFI
+.It arm Ta Pa /EFI/BOOT/BOOTARM.EFI
 .It arm64 Ta Pa /EFI/BOOT/BOOTAA64.EFI
 .El
 .Pp
___
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: r360846 - head/sys/netgraph/bluetooth/include

2020-05-09 Thread Takanori Watanabe
Author: takawata
Date: Sat May  9 14:15:44 2020
New Revision: 360846
URL: https://svnweb.freebsd.org/changeset/base/360846

Log:
  Add space for RSSI in data member.
  RSSI is put just after actual data.
  
  Submitted by: Marc Veldman
  PR: 245920

Modified:
  head/sys/netgraph/bluetooth/include/ng_hci.h

Modified: head/sys/netgraph/bluetooth/include/ng_hci.h
==
--- head/sys/netgraph/bluetooth/include/ng_hci.hSat May  9 13:00:38 
2020(r360845)
+++ head/sys/netgraph/bluetooth/include/ng_hci.hSat May  9 14:15:44 
2020(r360846)
@@ -1980,7 +1980,8 @@ typedef struct {
u_int8_t addr_type;
bdaddr_t bdaddr;
u_int8_t length_data;
-   u_int8_t data[NG_HCI_SCAN_RESPONSE_DATA_MAX];
+   /* The last octet is for RSSI */
+   u_int8_t data[NG_HCI_SCAN_RESPONSE_DATA_MAX+1];
 }__attribute__((packed)) ng_hci_le_advreport;
 
 #define NG_HCI_LEEV_CON_UPDATE_COMPL 0x03
___
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: r360845 - head/sys/kern

2020-05-09 Thread Konstantin Belousov
Author: kib
Date: Sat May  9 13:00:38 2020
New Revision: 360845
URL: https://svnweb.freebsd.org/changeset/base/360845

Log:
  Avoid spurious ENOMEMs from sysctl hw.pagesizes.
  
  Reported by:  Paul Floyd 
  PR:   246215
  Reviewed by:  emaste
  Sponsored by: The FreeBSD Foundation
  MFC after:1 week
  Differential revision:https://reviews.freebsd.org/D24737

Modified:
  head/sys/kern/kern_mib.c

Modified: head/sys/kern/kern_mib.c
==
--- head/sys/kern/kern_mib.cSat May  9 12:58:27 2020(r360844)
+++ head/sys/kern/kern_mib.cSat May  9 13:00:38 2020(r360845)
@@ -231,6 +231,7 @@ static int
 sysctl_hw_pagesizes(SYSCTL_HANDLER_ARGS)
 {
int error;
+   size_t len;
 #ifdef SCTL_MASK32
int i;
uint32_t pagesizes32[MAXPAGESIZES];
@@ -243,10 +244,18 @@ sysctl_hw_pagesizes(SYSCTL_HANDLER_ARGS)
for (i = 0; i < MAXPAGESIZES; i++)
pagesizes32[i] = (uint32_t)pagesizes[i];
 
-   error = SYSCTL_OUT(req, pagesizes32, sizeof(pagesizes32));
+   len = sizeof(pagesizes32);
+   if (len > req->oldlen)
+   len = req->oldlen;
+   error = SYSCTL_OUT(req, pagesizes32, len);
} else
 #endif
-   error = SYSCTL_OUT(req, pagesizes, sizeof(pagesizes));
+   {
+   len = sizeof(pagesizes);
+   if (len > req->oldlen)
+   len = req->oldlen;
+   error = SYSCTL_OUT(req, pagesizes, len);
+   }
return (error);
 }
 SYSCTL_PROC(_hw, OID_AUTO, pagesizes,
___
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: r360844 - head/share/man/man3

2020-05-09 Thread Konstantin Belousov
Author: kib
Date: Sat May  9 12:58:27 2020
New Revision: 360844
URL: https://svnweb.freebsd.org/changeset/base/360844

Log:
  Document BUS_OOMERR.
  
  Sponsored by: The FreeBSD Foundation
  MFC after:3 days
  Differential revision:https://reviews.freebsd.org/D24761

Modified:
  head/share/man/man3/siginfo.3

Modified: head/share/man/man3/siginfo.3
==
--- head/share/man/man3/siginfo.3   Sat May  9 11:18:34 2020
(r360843)
+++ head/share/man/man3/siginfo.3   Sat May  9 12:58:27 2020
(r360844)
@@ -27,7 +27,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd April 24, 2018
+.Dd May 8, 2020
 .Dt SIGINFO 3
 .Os
 .Sh NAME
@@ -150,6 +150,8 @@ invalid address alignment
 nonexistent physical address
 .It Ta Dv BUS_OBJERR Ta
 object-specific hardware error
+.It Ta Dv BUS_OOMERR Ta
+cannot alloc a page to map at fault
 .It Dv SIGTRAP Ta Dv TRAP_BRKPT Ta
 process breakpoint
 .It Ta Dv TRAP_TRACE Ta
___
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: r360836 - head/stand/libsa/zfs

2020-05-09 Thread Toomas Soome via svn-src-all



> On 9. May 2020, at 11:23, Ronald Klop  wrote:
> 
> On Sat, 09 May 2020 09:25:29 +0200, Toomas Soome  > wrote:
> 
>> 
>> 
>>> On 9. May 2020, at 09:57, Ronald Klop  wrote:
>>> 
>>> Hi Toomas,
>>> 
>>> Could this fix this issue 
>>> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=144234 ?
>>> 
>>> Regards,
>>> Ronald.
>> 
>> 
>> I doubt a bit unless you have GELI encryption or 4kn disk (which we can not 
>> boot with BIOS, only with UEFI). That issue was reported 2010 agains 9.0? is 
>> it still the case?
>> 
>> rgds,
>> toomas
> 
> 
> Clear answer. I don't use the computer I had this problem with anymore. (It 
> is in the attic somewhere,) And the problem disappeared for me in 2017 
> (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=144234#c33 
> ). But the 
> issue apparently happens for other people in 12.1 still as I read in the 
> replies to the issue.
> 
> Because of the bogus LBA numbers I suspected some memory corruption. But 
> never found further evidence for this.
> 
> Regards,
> Ronald.


Ok, We just need to check such errors case by case. We know pretty well how to 
debug those, even if the process can be time consuming.

rgds,
toomas

> 
> 
>>> 
>>> 
>>> On Sat, 09 May 2020 08:25:21 +0200, Toomas Soome  wrote:
>>> 
 Author: tsoome
 Date: Sat May  9 06:25:20 2020
 New Revision: 360836
 URL: https://svnweb.freebsd.org/changeset/base/360836
 
 Log:
 loader: vdev_read() can corrupt memory
 When reading less than sector size but from sector boundary,
 the vdev_read() will read full sector into the provided buffer
 and therefore corrupting memory past buffer end.
 MFC after: 2 days
 
 Modified:
 head/stand/libsa/zfs/zfs.c
 
 Modified: head/stand/libsa/zfs/zfs.c
 ==
 --- head/stand/libsa/zfs/zfs.c Sat May  9 05:04:02 2020
 (r360835)
 +++ head/stand/libsa/zfs/zfs.c Sat May  9 06:25:20 2020
 (r360836)
 @@ -418,7 +418,7 @@ vdev_read(vdev_t *vdev, void *priv, off_t offset, void
full_sec_size -= secsz;
/* Return of partial sector data requires a bounce buffer. */
 -  if ((head > 0) || do_tail_read) {
 +  if ((head > 0) || do_tail_read || bytes < secsz) {
bouncebuf = malloc(secsz);
if (bouncebuf == NULL) {
printf("vdev_read: out of memory\n");
 @@ -442,14 +442,28 @@ vdev_read(vdev_t *vdev, void *priv, off_t offset, 
 void
outbuf += min(secsz - head, bytes);
}
 -  /* Full data return from read sectors */
 +  /*
 +   * Full data return from read sectors.
 +   * Note, there is still corner case where we read
 +   * from sector boundary, but less than sector size, e.g. reading 512B
 +   * from 4k sector.
 +   */
if (full_sec_size > 0) {
 -  res = read(fd, outbuf, full_sec_size);
 -  if (res != full_sec_size) {
 -  ret = EIO;
 -  goto error;
 +  if (bytes < full_sec_size) {
 +  res = read(fd, bouncebuf, secsz);
 +  if (res != secsz) {
 +  ret = EIO;
 +  goto error;
 +  }
 +  memcpy(outbuf, bouncebuf, bytes);
 +  } else {
 +  res = read(fd, outbuf, full_sec_size);
 +  if (res != full_sec_size) {
 +  ret = EIO;
 +  goto error;
 +  }
 +  outbuf += full_sec_size;
}
 -  outbuf += full_sec_size;
}
/* Partial data return from last sector */
 ___
 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-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: r360843 - in stable: 11/sys/dev/mfi 12/sys/dev/mfi

2020-05-09 Thread Dimitry Andric
Author: dim
Date: Sat May  9 11:18:34 2020
New Revision: 360843
URL: https://svnweb.freebsd.org/changeset/base/360843

Log:
  MFC r358689 (by jhibbits):
  
  Fix a mistaken conditional in mfi_tbolt_send_frame()
  
  As written, the condition of (cdb[0] != 0x28 || cdb[0] != 0x2A) will always
  be true, since if it's one, it's obviously not the other.  Reading the code,
  the intent appears to be that it should only perform the operation if it's
  neither, otherwise the conditional can be elided.
  
  Found by clang 10.

Modified:
  stable/11/sys/dev/mfi/mfi_tbolt.c
Directory Properties:
  stable/11/   (props changed)

Changes in other areas also in this revision:
Modified:
  stable/12/sys/dev/mfi/mfi_tbolt.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/11/sys/dev/mfi/mfi_tbolt.c
==
--- stable/11/sys/dev/mfi/mfi_tbolt.c   Sat May  9 11:10:44 2020
(r360842)
+++ stable/11/sys/dev/mfi/mfi_tbolt.c   Sat May  9 11:18:34 2020
(r360843)
@@ -1107,7 +1107,7 @@ mfi_tbolt_send_frame(struct mfi_softc *sc, struct mfi_
 
if (hdr->cmd == MFI_CMD_PD_SCSI_IO) {
/* check for inquiry commands coming from CLI */
-   if (cdb[0] != 0x28 || cdb[0] != 0x2A) {
+   if (cdb[0] != 0x28 && cdb[0] != 0x2A) {
if ((req_desc = mfi_tbolt_build_mpt_cmd(sc, cm)) ==
NULL) {
device_printf(sc->mfi_dev, "Mapping from MFI "
___
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: r360843 - in stable: 11/sys/dev/mfi 12/sys/dev/mfi

2020-05-09 Thread Dimitry Andric
Author: dim
Date: Sat May  9 11:18:34 2020
New Revision: 360843
URL: https://svnweb.freebsd.org/changeset/base/360843

Log:
  MFC r358689 (by jhibbits):
  
  Fix a mistaken conditional in mfi_tbolt_send_frame()
  
  As written, the condition of (cdb[0] != 0x28 || cdb[0] != 0x2A) will always
  be true, since if it's one, it's obviously not the other.  Reading the code,
  the intent appears to be that it should only perform the operation if it's
  neither, otherwise the conditional can be elided.
  
  Found by clang 10.

Modified:
  stable/12/sys/dev/mfi/mfi_tbolt.c
Directory Properties:
  stable/12/   (props changed)

Changes in other areas also in this revision:
Modified:
  stable/11/sys/dev/mfi/mfi_tbolt.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/12/sys/dev/mfi/mfi_tbolt.c
==
--- stable/12/sys/dev/mfi/mfi_tbolt.c   Sat May  9 11:10:44 2020
(r360842)
+++ stable/12/sys/dev/mfi/mfi_tbolt.c   Sat May  9 11:18:34 2020
(r360843)
@@ -1109,7 +1109,7 @@ mfi_tbolt_send_frame(struct mfi_softc *sc, struct mfi_
 
if (hdr->cmd == MFI_CMD_PD_SCSI_IO) {
/* check for inquiry commands coming from CLI */
-   if (cdb[0] != 0x28 || cdb[0] != 0x2A) {
+   if (cdb[0] != 0x28 && cdb[0] != 0x2A) {
if ((req_desc = mfi_tbolt_build_mpt_cmd(sc, cm)) ==
NULL) {
device_printf(sc->mfi_dev, "Mapping from MFI "
___
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: r360842 - stable/11/sys/dev/isci/scil

2020-05-09 Thread Dimitry Andric
Author: dim
Date: Sat May  9 11:10:44 2020
New Revision: 360842
URL: https://svnweb.freebsd.org/changeset/base/360842

Log:
  MFC r315205 (by cem):
  
  scif_sas_controller: Fix inverted logic range check
  
  PR:   217742
  Submitted by: Svyatoslav 
  Sponsored by: Viva64 (PVS-Studio)

Modified:
  stable/11/sys/dev/isci/scil/scif_sas_controller.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/dev/isci/scil/scif_sas_controller.c
==
--- stable/11/sys/dev/isci/scil/scif_sas_controller.c   Sat May  9 10:55:34 
2020(r360841)
+++ stable/11/sys/dev/isci/scil/scif_sas_controller.c   Sat May  9 11:10:44 
2020(r360842)
@@ -528,7 +528,7 @@ SCI_STATUS scif_user_parameters_set(
if (scif_parms->sas.is_sata_ncq_enabled != 1 && 
scif_parms->sas.is_sata_ncq_enabled != 0)
   return SCI_FAILURE_INVALID_PARAMETER_VALUE;
 
-   if (scif_parms->sas.max_ncq_depth < 1 && scif_parms->sas.max_ncq_depth > 32)
+   if (scif_parms->sas.max_ncq_depth < 1 || scif_parms->sas.max_ncq_depth > 32)
   return SCI_FAILURE_INVALID_PARAMETER_VALUE;
 
if (scif_parms->sas.is_sata_standby_timer_enabled != 1
___
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: r360841 - head/sbin/recoverdisk

2020-05-09 Thread Poul-Henning Kamp
Author: phk
Date: Sat May  9 10:55:34 2020
New Revision: 360841
URL: https://svnweb.freebsd.org/changeset/base/360841

Log:
  Don't send clear screen until we are committed to run.

Modified:
  head/sbin/recoverdisk/recoverdisk.c

Modified: head/sbin/recoverdisk/recoverdisk.c
==
--- head/sbin/recoverdisk/recoverdisk.c Sat May  9 10:30:06 2020
(r360840)
+++ head/sbin/recoverdisk/recoverdisk.c Sat May  9 10:55:34 2020
(r360841)
@@ -153,7 +153,6 @@ set_verbose(void)
 
if (!isatty(STDIN_FILENO) || ioctl(STDIN_FILENO, TIOCGWINSZ, ))
return;
-   printf("\x1b[2J");
verbose = 1;
t0 = time(NULL);
 }
@@ -538,6 +537,8 @@ main(int argc, char * const argv[])
sz = 0;
if (!verbose)
report_header(0);
+   else
+   printf("\x1b[2J");
n = 0;
for (;;) {
lp = TAILQ_FIRST();
___
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: r360833 - head

2020-05-09 Thread Mateusz Piotrowski

Hi,

On 5/9/20 4:01 AM, Kyle Evans wrote:

Author: kevans
Date: Sat May  9 02:01:29 2020
New Revision: 360833
URL: https://svnweb.freebsd.org/changeset/base/360833

Log:
   installworld: attempt a certctl rehash at the tail end

...

Modified: head/Makefile.inc1
==
--- head/Makefile.inc1  Sat May  9 01:48:08 2020(r360832)
+++ head/Makefile.inc1  Sat May  9 02:01:29 2020(r360833)
@@ -1403,6 +1403,16 @@ distributeworld installworld stageworld: _installcheck
${DESTDIR}/${DISTDIR}/${dist}.debug.meta
  .endfor
  .endif
+.elif make(installworld) && ${MK_CAROOT} != "no"
+   # We could make certctl a bootstrap tool, but it requires OpenSSL and
+   # friends, which we likely don't want.  We'll rehash on a best-effort
+   # basis, otherwise we'll just mention that we're not doing it to raise
+   # awareness.
+   @if which certctl>/dev/null; then \
+   certctl rehash \

I think there is a semicolon missing here.

___
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: r360840 - in releng/11.4/stand/i386: . boot2 gptboot gptzfsboot isoboot loader zfsboot

2020-05-09 Thread Dimitry Andric
Author: dim
Date: Sat May  9 10:30:06 2020
New Revision: 360840
URL: https://svnweb.freebsd.org/changeset/base/360840

Log:
  MF11 r360838:
  
  MFC r358643:
  
  Link stand/i386 components using a linker script
  
  LLD 10.0.0 changed the behavior of the -Ttext option, so that using
  -Ttext=0x0 now causes linking of the loaders to fail with:
  
  ld: error: output file too large: 18446744073707016908 bytes
  
  I reported this in https://bugs.llvm.org/show_bug.cgi?id=44715, and
  initially reverted the upstream change in r357259 to work around it.
  
  However, after some discussion with Fangrui Song in the upstream ticket,
  I think we can classify this as an unfortunate interaction between using
  -Ttext=0 in combination with --no-rosegment.  (We added the latter
  in r332090, because btxld does not correctly handle input with more
  than 2 PT_LOAD segments.)
  
  Fangrui suggested to use a linker script instead, and Warner was already
  attempting this in r305353, but had to revert it due to "crypto-using
  boot problems" (not sure what those were :).
  
  This review updates the stand/i386/boot.ldscript to handle more
  sections, inserts some symbols like _edata and such that we use in
  libsa, and also discards any .interp section.
  
  It uses ORG which is defined on the linker command line using
  --defsym ORG=value to set the start of all the sections.
  
  Approved by:  re (kib)
  Reviewed by:  imp
  Differential Revision: https://reviews.freebsd.org/D23952

Modified:
  releng/11.4/stand/i386/Makefile.inc
  releng/11.4/stand/i386/boot.ldscript
  releng/11.4/stand/i386/boot2/Makefile
  releng/11.4/stand/i386/gptboot/Makefile
  releng/11.4/stand/i386/gptzfsboot/Makefile
  releng/11.4/stand/i386/isoboot/Makefile
  releng/11.4/stand/i386/loader/Makefile
  releng/11.4/stand/i386/zfsboot/Makefile
Directory Properties:
  releng/11.4/   (props changed)

Modified: releng/11.4/stand/i386/Makefile.inc
==
--- releng/11.4/stand/i386/Makefile.inc Sat May  9 10:22:00 2020
(r360839)
+++ releng/11.4/stand/i386/Makefile.inc Sat May  9 10:30:06 2020
(r360840)
@@ -23,10 +23,9 @@ CFLAGS+= -I${BTXLIB}
 
 # compact binary with no padding between text, data, bss
 LDSCRIPT=  ${BOOTSRC}/i386/boot.ldscript
-# LDFLAGS_BIN=-e start -Ttext ${ORG} -Wl,-T,${LDSCRIPT},-S,--oformat,binary
-# LD_FLAGS_BIN=-static -T ${LDSCRIPT} --gc-sections
-LDFLAGS_BIN=-e start -Ttext ${ORG} -Wl,-N,-S,--oformat,binary
-LD_FLAGS_BIN=-static -N --gc-sections
+LDFLAGS_ORG=   -Wl,--defsym,ORG=${ORG},-T,${LDSCRIPT}
+LDFLAGS_BIN=   -e start ${LDFLAGS_ORG} -Wl,-N,-S,--oformat,binary
+LD_FLAGS_BIN=  -static -N --gc-sections
 
 .if ${MACHINE_CPUARCH} == "amd64"
 DO32=1

Modified: releng/11.4/stand/i386/boot.ldscript
==
--- releng/11.4/stand/i386/boot.ldscriptSat May  9 10:22:00 2020
(r360839)
+++ releng/11.4/stand/i386/boot.ldscriptSat May  9 10:30:06 2020
(r360840)
@@ -1,11 +1,17 @@
 /* $FreeBSD$ */
-/* Merge text, data and bss together almost no padding */
+/* Simplified linker script for the boot loaders. */
 OUTPUT_FORMAT("elf32-i386-freebsd")
 OUTPUT_ARCH(i386)
 ENTRY(_start)
 SECTIONS {
-  . = 0x08048000 + SIZEOF_HEADERS;
-  .text : { *(.text) } =0x90909090 /* Pad with nops, if needed */
-  .data : { *(.data) } _edata = .;
-  .bss  : { *(.bss) }  _end = .;
+  . = ORG;
+  .text : { *(.text .text.*) } =0x /* Pad with int3, if needed */
+  .rodata : { *(.rodata .rodata.*) }
+  .got : { *(.got) *(.igot) }
+  .got.plt : { *(.got.plt) *(.igot.plt) }
+  .data : { *(.data .data.*) }
+  _edata = .; PROVIDE (edata = .);
+  .bss : { *(.bss .bss.*) }
+  _end = .; PROVIDE (end = .);
+  /DISCARD/ : { *(.interp) }
 }

Modified: releng/11.4/stand/i386/boot2/Makefile
==
--- releng/11.4/stand/i386/boot2/Makefile   Sat May  9 10:22:00 2020
(r360839)
+++ releng/11.4/stand/i386/boot2/Makefile   Sat May  9 10:30:06 2020
(r360840)
@@ -56,7 +56,7 @@ boot1: boot1.out
${OBJCOPY} -S -O binary boot1.out ${.TARGET}
 
 boot1.out: boot1.o
-   ${LD} ${LD_FLAGS} -e start -Ttext ${ORG1} -o ${.TARGET} boot1.o
+   ${LD} ${LD_FLAGS} -e start --defsym ORG=${ORG1} -T ${LDSCRIPT} -o 
${.TARGET} boot1.o
 
 CLEANFILES+=   boot2 boot2.ld boot2.ldr boot2.bin boot2.out boot2.o \
boot2.h sio.o
@@ -84,7 +84,7 @@ CFLAGS.ashldi3.c= -Wno-missing-prototypes -Wno-missing
 CLEANFILES+=   ashldi3.o
 
 boot2.out: ${BTXCRT} boot2.o sio.o ashldi3.o
-   ${LD} ${LD_FLAGS} -Ttext ${ORG2} -o ${.TARGET} ${.ALLSRC}
+   ${LD} ${LD_FLAGS} --defsym ORG=${ORG2} -T ${LDSCRIPT} -o ${.TARGET} 
${.ALLSRC}
 
 SRCS=  boot2.c boot2.h
 

Modified: releng/11.4/stand/i386/gptboot/Makefile

svn commit: r360839 - head/share/man/man5

2020-05-09 Thread Benedict Reuschling
Author: bcr (doc committer)
Date: Sat May  9 10:22:00 2020
New Revision: 360839
URL: https://svnweb.freebsd.org/changeset/base/360839

Log:
  Mention the existence of /etc/defaults/vendor.conf
  for custom vendor-specific changes to FreeBSD's
  default settings.
  
  While here, fix a typo: perfomance -> performance
  
  PR:   245404
  Submitted by: Jose Luis Duran

Modified:
  head/share/man/man5/rc.conf.5

Modified: head/share/man/man5/rc.conf.5
==
--- head/share/man/man5/rc.conf.5   Sat May  9 08:55:18 2020
(r360838)
+++ head/share/man/man5/rc.conf.5   Sat May  9 10:22:00 2020
(r360839)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd March 25, 2020
+.Dd May 9, 2020
 .Dt RC.CONF 5
 .Os
 .Sh NAME
@@ -59,6 +59,11 @@ Options need only be specified in
 .Pa /etc/rc.conf
 when the system administrator wishes to override these defaults.
 The file
+.Pa /etc/defaults/vendor.conf
+allows vendors to override
+.Fx
+defaults.
+The file
 .Pa /etc/rc.conf.local
 is used to override settings in
 .Pa /etc/rc.conf
@@ -1187,7 +1192,7 @@ by default.
 This setting will be identical to
 .Dq Li YES ,
 if a dynamicrouting daemon is enabled, because redirect processing may
-cause perfomance issues for large routing tables.
+cause performance issues for large routing tables.
 If no such service is enabled, this setting behaves like a
 .Dq Li NO .
 Setting to
@@ -4585,6 +4590,7 @@ files.
 .Sh FILES
 .Bl -tag -width ".Pa /etc/defaults/rc.conf" -compact
 .It Pa /etc/defaults/rc.conf
+.It Pa /etc/defaults/vendor.conf
 .It Pa /etc/rc.conf
 .It Pa /etc/rc.conf.local
 .El
___
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: r360838 - in stable/11/stand/i386: . boot2 gptboot gptzfsboot isoboot loader zfsboot

2020-05-09 Thread Dimitry Andric
Author: dim
Date: Sat May  9 08:55:18 2020
New Revision: 360838
URL: https://svnweb.freebsd.org/changeset/base/360838

Log:
  MFC r358643:
  
  Link stand/i386 components using a linker script
  
  LLD 10.0.0 changed the behavior of the -Ttext option, so that using
  -Ttext=0x0 now causes linking of the loaders to fail with:
  
  ld: error: output file too large: 18446744073707016908 bytes
  
  I reported this in https://bugs.llvm.org/show_bug.cgi?id=44715, and
  initially reverted the upstream change in r357259 to work around it.
  
  However, after some discussion with Fangrui Song in the upstream ticket,
  I think we can classify this as an unfortunate interaction between using
  -Ttext=0 in combination with --no-rosegment.  (We added the latter
  in r332090, because btxld does not correctly handle input with more
  than 2 PT_LOAD segments.)
  
  Fangrui suggested to use a linker script instead, and Warner was already
  attempting this in r305353, but had to revert it due to "crypto-using
  boot problems" (not sure what those were :).
  
  This review updates the stand/i386/boot.ldscript to handle more
  sections, inserts some symbols like _edata and such that we use in
  libsa, and also discards any .interp section.
  
  It uses ORG which is defined on the linker command line using
  --defsym ORG=value to set the start of all the sections.
  
  Reviewed by:  imp
  Differential Revision: https://reviews.freebsd.org/D23952

Modified:
  stable/11/stand/i386/Makefile.inc
  stable/11/stand/i386/boot.ldscript
  stable/11/stand/i386/boot2/Makefile
  stable/11/stand/i386/gptboot/Makefile
  stable/11/stand/i386/gptzfsboot/Makefile
  stable/11/stand/i386/isoboot/Makefile
  stable/11/stand/i386/loader/Makefile
  stable/11/stand/i386/zfsboot/Makefile
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/stand/i386/Makefile.inc
==
--- stable/11/stand/i386/Makefile.inc   Sat May  9 07:57:41 2020
(r360837)
+++ stable/11/stand/i386/Makefile.inc   Sat May  9 08:55:18 2020
(r360838)
@@ -23,10 +23,9 @@ CFLAGS+= -I${BTXLIB}
 
 # compact binary with no padding between text, data, bss
 LDSCRIPT=  ${BOOTSRC}/i386/boot.ldscript
-# LDFLAGS_BIN=-e start -Ttext ${ORG} -Wl,-T,${LDSCRIPT},-S,--oformat,binary
-# LD_FLAGS_BIN=-static -T ${LDSCRIPT} --gc-sections
-LDFLAGS_BIN=-e start -Ttext ${ORG} -Wl,-N,-S,--oformat,binary
-LD_FLAGS_BIN=-static -N --gc-sections
+LDFLAGS_ORG=   -Wl,--defsym,ORG=${ORG},-T,${LDSCRIPT}
+LDFLAGS_BIN=   -e start ${LDFLAGS_ORG} -Wl,-N,-S,--oformat,binary
+LD_FLAGS_BIN=  -static -N --gc-sections
 
 .if ${MACHINE_CPUARCH} == "amd64"
 DO32=1

Modified: stable/11/stand/i386/boot.ldscript
==
--- stable/11/stand/i386/boot.ldscript  Sat May  9 07:57:41 2020
(r360837)
+++ stable/11/stand/i386/boot.ldscript  Sat May  9 08:55:18 2020
(r360838)
@@ -1,11 +1,17 @@
 /* $FreeBSD$ */
-/* Merge text, data and bss together almost no padding */
+/* Simplified linker script for the boot loaders. */
 OUTPUT_FORMAT("elf32-i386-freebsd")
 OUTPUT_ARCH(i386)
 ENTRY(_start)
 SECTIONS {
-  . = 0x08048000 + SIZEOF_HEADERS;
-  .text : { *(.text) } =0x90909090 /* Pad with nops, if needed */
-  .data : { *(.data) } _edata = .;
-  .bss  : { *(.bss) }  _end = .;
+  . = ORG;
+  .text : { *(.text .text.*) } =0x /* Pad with int3, if needed */
+  .rodata : { *(.rodata .rodata.*) }
+  .got : { *(.got) *(.igot) }
+  .got.plt : { *(.got.plt) *(.igot.plt) }
+  .data : { *(.data .data.*) }
+  _edata = .; PROVIDE (edata = .);
+  .bss : { *(.bss .bss.*) }
+  _end = .; PROVIDE (end = .);
+  /DISCARD/ : { *(.interp) }
 }

Modified: stable/11/stand/i386/boot2/Makefile
==
--- stable/11/stand/i386/boot2/Makefile Sat May  9 07:57:41 2020
(r360837)
+++ stable/11/stand/i386/boot2/Makefile Sat May  9 08:55:18 2020
(r360838)
@@ -56,7 +56,7 @@ boot1: boot1.out
${OBJCOPY} -S -O binary boot1.out ${.TARGET}
 
 boot1.out: boot1.o
-   ${LD} ${LD_FLAGS} -e start -Ttext ${ORG1} -o ${.TARGET} boot1.o
+   ${LD} ${LD_FLAGS} -e start --defsym ORG=${ORG1} -T ${LDSCRIPT} -o 
${.TARGET} boot1.o
 
 CLEANFILES+=   boot2 boot2.ld boot2.ldr boot2.bin boot2.out boot2.o \
boot2.h sio.o
@@ -84,7 +84,7 @@ CFLAGS.ashldi3.c= -Wno-missing-prototypes -Wno-missing
 CLEANFILES+=   ashldi3.o
 
 boot2.out: ${BTXCRT} boot2.o sio.o ashldi3.o
-   ${LD} ${LD_FLAGS} -Ttext ${ORG2} -o ${.TARGET} ${.ALLSRC}
+   ${LD} ${LD_FLAGS} --defsym ORG=${ORG2} -T ${LDSCRIPT} -o ${.TARGET} 
${.ALLSRC}
 
 SRCS=  boot2.c boot2.h
 

Modified: stable/11/stand/i386/gptboot/Makefile
==
--- stable/11/stand/i386/gptboot/Makefile   Sat May  9 07:57:41 2020
(r360837)
+++ 

Re: svn commit: r360836 - head/stand/libsa/zfs

2020-05-09 Thread Ronald Klop

On Sat, 09 May 2020 09:25:29 +0200, Toomas Soome  wrote:





On 9. May 2020, at 09:57, Ronald Klop  wrote:

Hi Toomas,

Could this fix this issue  
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=144234 ?


Regards,
Ronald.



I doubt a bit unless you have GELI encryption or 4kn disk (which we can  
not boot with BIOS, only with UEFI). That issue was reported 2010 agains  
9.0? is it still the case?


rgds,
toomas



Clear answer. I don't use the computer I had this problem with anymore.  
(It is in the attic somewhere,) And the problem disappeared for me in 2017  
(https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=144234#c33). But the  
issue apparently happens for other people in 12.1 still as I read in the  
replies to the issue.


Because of the bogus LBA numbers I suspected some memory corruption. But  
never found further evidence for this.


Regards,
Ronald.





On Sat, 09 May 2020 08:25:21 +0200, Toomas Soome   
wrote:



Author: tsoome
Date: Sat May  9 06:25:20 2020
New Revision: 360836
URL: https://svnweb.freebsd.org/changeset/base/360836

Log:
 loader: vdev_read() can corrupt memory
When reading less than sector size but from sector boundary,
 the vdev_read() will read full sector into the provided buffer
 and therefore corrupting memory past buffer end.
MFC after:  2 days

Modified:
 head/stand/libsa/zfs/zfs.c

Modified: head/stand/libsa/zfs/zfs.c
==
--- head/stand/libsa/zfs/zfs.c  Sat May  9 05:04:02 2020(r360835)
+++ head/stand/libsa/zfs/zfs.c  Sat May  9 06:25:20 2020(r360836)
@@ -418,7 +418,7 @@ vdev_read(vdev_t *vdev, void *priv, off_t offset,  
void

full_sec_size -= secsz;
/* Return of partial sector data requires a bounce buffer. */
-   if ((head > 0) || do_tail_read) {
+   if ((head > 0) || do_tail_read || bytes < secsz) {
bouncebuf = malloc(secsz);
if (bouncebuf == NULL) {
printf("vdev_read: out of memory\n");
@@ -442,14 +442,28 @@ vdev_read(vdev_t *vdev, void *priv, off_t  
offset, void

outbuf += min(secsz - head, bytes);
}
-   /* Full data return from read sectors */
+   /*
+* Full data return from read sectors.
+* Note, there is still corner case where we read
+* from sector boundary, but less than sector size, e.g. reading 512B
+* from 4k sector.
+*/
if (full_sec_size > 0) {
-   res = read(fd, outbuf, full_sec_size);
-   if (res != full_sec_size) {
-   ret = EIO;
-   goto error;
+   if (bytes < full_sec_size) {
+   res = read(fd, bouncebuf, secsz);
+   if (res != secsz) {
+   ret = EIO;
+   goto error;
+   }
+   memcpy(outbuf, bouncebuf, bytes);
+   } else {
+   res = read(fd, outbuf, full_sec_size);
+   if (res != full_sec_size) {
+   ret = EIO;
+   goto error;
+   }
+   outbuf += full_sec_size;
}
-   outbuf += full_sec_size;
}
/* Partial data return from last sector */
___
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-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: r360837 - head/usr.sbin/bhyve

2020-05-09 Thread Vincenzo Maffione
Author: vmaffione
Date: Sat May  9 07:57:41 2020
New Revision: 360837
URL: https://svnweb.freebsd.org/changeset/base/360837

Log:
  bhyve: update man page to describe the virtio-net mtu option
  
  r359704 introduced an 'mtu' option for the virtio-net device emulation.
  Update the man page to describe the new option.
  
  Reviewed by:  bcr
  Differential Revision:https://reviews.freebsd.org/D24723

Modified:
  head/usr.sbin/bhyve/bhyve.8

Modified: head/usr.sbin/bhyve/bhyve.8
==
--- head/usr.sbin/bhyve/bhyve.8 Sat May  9 06:25:20 2020(r360836)
+++ head/usr.sbin/bhyve/bhyve.8 Sat May  9 07:57:41 2020(r360837)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd May 04, 2020
+.Dd May 5, 2020
 .Dt BHYVE 8
 .Os
 .Sh NAME
@@ -293,8 +293,8 @@ considered unconnected.
 .Pp
 Network devices:
 .Bl -tag -width 10n
-.It Ar tapN Ns Op , Ns Ar mac=xx:xx:xx:xx:xx:xx
-.It Ar vmnetN Ns Op , Ns Ar mac=xx:xx:xx:xx:xx:xx
+.It Ar tapN Ns Oo , Ns Ar mac=xx:xx:xx:xx:xx:xx Oc Ns Oo , Ns Ar mtu=N Oc
+.It Ar vmnetN Ns Oo , Ns Ar mac=xx:xx:xx:xx:xx:xx Oc Ns Oo , Ns Ar mtu=N Oc
 .Pp
 If
 .Ar mac
@@ -305,6 +305,11 @@ the device name.
 The MAC address is an ASCII string in
 .Xr ethers 5
 format.
+.Pp
+With virtio-net devices, the
+.Ar mtu
+parameter can be specified to inform the guest about the largest MTU
+that should be allowed, expressed in bytes.
 .El
 .Pp
 Block storage devices:
___
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: r360836 - head/stand/libsa/zfs

2020-05-09 Thread Toomas Soome via svn-src-all



> On 9. May 2020, at 09:57, Ronald Klop  wrote:
> 
> Hi Toomas,
> 
> Could this fix this issue 
> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=144234 ?
> 
> Regards,
> Ronald.


I doubt a bit unless you have GELI encryption or 4kn disk (which we can not 
boot with BIOS, only with UEFI). That issue was reported 2010 agains 9.0? is it 
still the case?

rgds,
toomas


> 
> 
> On Sat, 09 May 2020 08:25:21 +0200, Toomas Soome  wrote:
> 
>> Author: tsoome
>> Date: Sat May  9 06:25:20 2020
>> New Revision: 360836
>> URL: https://svnweb.freebsd.org/changeset/base/360836
>> 
>> Log:
>>  loader: vdev_read() can corrupt memory
>> When reading less than sector size but from sector boundary,
>>  the vdev_read() will read full sector into the provided buffer
>>  and therefore corrupting memory past buffer end.
>> MFC after:   2 days
>> 
>> Modified:
>>  head/stand/libsa/zfs/zfs.c
>> 
>> Modified: head/stand/libsa/zfs/zfs.c
>> ==
>> --- head/stand/libsa/zfs/zfs.c   Sat May  9 05:04:02 2020
>> (r360835)
>> +++ head/stand/libsa/zfs/zfs.c   Sat May  9 06:25:20 2020
>> (r360836)
>> @@ -418,7 +418,7 @@ vdev_read(vdev_t *vdev, void *priv, off_t offset, void
>>  full_sec_size -= secsz;
>>  /* Return of partial sector data requires a bounce buffer. */
>> -if ((head > 0) || do_tail_read) {
>> +if ((head > 0) || do_tail_read || bytes < secsz) {
>>  bouncebuf = malloc(secsz);
>>  if (bouncebuf == NULL) {
>>  printf("vdev_read: out of memory\n");
>> @@ -442,14 +442,28 @@ vdev_read(vdev_t *vdev, void *priv, off_t offset, void
>>  outbuf += min(secsz - head, bytes);
>>  }
>> -/* Full data return from read sectors */
>> +/*
>> + * Full data return from read sectors.
>> + * Note, there is still corner case where we read
>> + * from sector boundary, but less than sector size, e.g. reading 512B
>> + * from 4k sector.
>> + */
>>  if (full_sec_size > 0) {
>> -res = read(fd, outbuf, full_sec_size);
>> -if (res != full_sec_size) {
>> -ret = EIO;
>> -goto error;
>> +if (bytes < full_sec_size) {
>> +res = read(fd, bouncebuf, secsz);
>> +if (res != secsz) {
>> +ret = EIO;
>> +goto error;
>> +}
>> +memcpy(outbuf, bouncebuf, bytes);
>> +} else {
>> +res = read(fd, outbuf, full_sec_size);
>> +if (res != full_sec_size) {
>> +ret = EIO;
>> +goto error;
>> +}
>> +outbuf += full_sec_size;
>>  }
>> -outbuf += full_sec_size;
>>  }
>>  /* Partial data return from last sector */
>> ___
>> 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-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: r360836 - head/stand/libsa/zfs

2020-05-09 Thread Ronald Klop

Hi Toomas,

Could this fix this issue  
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=144234 ?


Regards,
Ronald.


On Sat, 09 May 2020 08:25:21 +0200, Toomas Soome   
wrote:



Author: tsoome
Date: Sat May  9 06:25:20 2020
New Revision: 360836
URL: https://svnweb.freebsd.org/changeset/base/360836

Log:
  loader: vdev_read() can corrupt memory
 When reading less than sector size but from sector boundary,
  the vdev_read() will read full sector into the provided buffer
  and therefore corrupting memory past buffer end.
 MFC after: 2 days

Modified:
  head/stand/libsa/zfs/zfs.c

Modified: head/stand/libsa/zfs/zfs.c
==
--- head/stand/libsa/zfs/zfs.c  Sat May  9 05:04:02 2020(r360835)
+++ head/stand/libsa/zfs/zfs.c  Sat May  9 06:25:20 2020(r360836)
@@ -418,7 +418,7 @@ vdev_read(vdev_t *vdev, void *priv, off_t offset,  
void

full_sec_size -= secsz;
/* Return of partial sector data requires a bounce buffer. */
-   if ((head > 0) || do_tail_read) {
+   if ((head > 0) || do_tail_read || bytes < secsz) {
bouncebuf = malloc(secsz);
if (bouncebuf == NULL) {
printf("vdev_read: out of memory\n");
@@ -442,14 +442,28 @@ vdev_read(vdev_t *vdev, void *priv, off_t offset,  
void

outbuf += min(secsz - head, bytes);
}
-   /* Full data return from read sectors */
+   /*
+* Full data return from read sectors.
+* Note, there is still corner case where we read
+* from sector boundary, but less than sector size, e.g. reading 512B
+* from 4k sector.
+*/
if (full_sec_size > 0) {
-   res = read(fd, outbuf, full_sec_size);
-   if (res != full_sec_size) {
-   ret = EIO;
-   goto error;
+   if (bytes < full_sec_size) {
+   res = read(fd, bouncebuf, secsz);
+   if (res != secsz) {
+   ret = EIO;
+   goto error;
+   }
+   memcpy(outbuf, bouncebuf, bytes);
+   } else {
+   res = read(fd, outbuf, full_sec_size);
+   if (res != full_sec_size) {
+   ret = EIO;
+   goto error;
+   }
+   outbuf += full_sec_size;
}
-   outbuf += full_sec_size;
}
/* Partial data return from last sector */
___
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-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: r360836 - head/stand/libsa/zfs

2020-05-09 Thread Toomas Soome
Author: tsoome
Date: Sat May  9 06:25:20 2020
New Revision: 360836
URL: https://svnweb.freebsd.org/changeset/base/360836

Log:
  loader: vdev_read() can corrupt memory
  
  When reading less than sector size but from sector boundary,
  the vdev_read() will read full sector into the provided buffer
  and therefore corrupting memory past buffer end.
  
  MFC after:2 days

Modified:
  head/stand/libsa/zfs/zfs.c

Modified: head/stand/libsa/zfs/zfs.c
==
--- head/stand/libsa/zfs/zfs.c  Sat May  9 05:04:02 2020(r360835)
+++ head/stand/libsa/zfs/zfs.c  Sat May  9 06:25:20 2020(r360836)
@@ -418,7 +418,7 @@ vdev_read(vdev_t *vdev, void *priv, off_t offset, void
full_sec_size -= secsz;
 
/* Return of partial sector data requires a bounce buffer. */
-   if ((head > 0) || do_tail_read) {
+   if ((head > 0) || do_tail_read || bytes < secsz) {
bouncebuf = malloc(secsz);
if (bouncebuf == NULL) {
printf("vdev_read: out of memory\n");
@@ -442,14 +442,28 @@ vdev_read(vdev_t *vdev, void *priv, off_t offset, void
outbuf += min(secsz - head, bytes);
}
 
-   /* Full data return from read sectors */
+   /*
+* Full data return from read sectors.
+* Note, there is still corner case where we read
+* from sector boundary, but less than sector size, e.g. reading 512B
+* from 4k sector.
+*/
if (full_sec_size > 0) {
-   res = read(fd, outbuf, full_sec_size);
-   if (res != full_sec_size) {
-   ret = EIO;
-   goto error;
+   if (bytes < full_sec_size) {
+   res = read(fd, bouncebuf, secsz);
+   if (res != secsz) {
+   ret = EIO;
+   goto error;
+   }
+   memcpy(outbuf, bouncebuf, bytes);
+   } else {
+   res = read(fd, outbuf, full_sec_size);
+   if (res != full_sec_size) {
+   ret = EIO;
+   goto error;
+   }
+   outbuf += full_sec_size;
}
-   outbuf += full_sec_size;
}
 
/* Partial data return from last sector */
___
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"