svn commit: r264252 - head/sys/dev/ath

2014-04-08 Thread Adrian Chadd
Author: adrian
Date: Tue Apr  8 07:00:43 2014
New Revision: 264252
URL: http://svnweb.freebsd.org/changeset/base/264252

Log:
  Don't resume a TID on each filtered frame completion - only do it if
  we did suspend it.
  
  The whole suspend/resume TID queue thing is supposed to be a matched
  reference count - a subsystem (eg addba negotiation, BAR transmission,
  filtered frames, etc) is supposed to call pause() once and then resume()
  once.
  
  ath_tx_tid_filt_comp_complete() is called upon the completion of any
  filtered frame, regardless of whether the driver had aleady seen
  a filtered frame and called pause().
  
  So only call resume() if tid->isfiltered = 1, which indicates that
  we had called pause() once.
  
  This fixes a seemingly whacked and different problem - traffic hangs.
  
  What was actually going on:
  
  * There'd be some marginal link with crappy behaviour, causing filtered
frames and BAR TXing to occur;
  * A BAR TX would occur, setting the new BAW (block-ack window) to seqno n;
  * .. and pause() would be called, blocking further transmission;
  * A filtered frame completion would occur from the hardware, but with
tid->isfiltered = 0 which indiciates we haven't actually marked
the queue yet as filtered;
  * ath_tx_tid_filt_comp_complete() would call resume(), continuing
transmission;
  * Some frames would be queued to the hardware, since the TID is now no
longer paused;
  * .. and if some make it out and ACked successfully, the new BAW
may be seqno n+1 or more;
  * .. then the BAR TX completes and sets the new seqno back to n.
  
  At this point the BAW tracking would be loopy because the BAW
  start was modified but the BAW ring buffer wasn't updated in lock
  step.
  
  Tested:
  
  * Routerstation Pro + AR9220 AP

Modified:
  head/sys/dev/ath/if_ath_tx.c

Modified: head/sys/dev/ath/if_ath_tx.c
==
--- head/sys/dev/ath/if_ath_tx.cTue Apr  8 04:05:04 2014
(r264251)
+++ head/sys/dev/ath/if_ath_tx.cTue Apr  8 07:00:43 2014
(r264252)
@@ -3357,6 +3357,7 @@ static void
 ath_tx_tid_filt_comp_complete(struct ath_softc *sc, struct ath_tid *tid)
 {
struct ath_buf *bf;
+   int do_resume = 0;
 
ATH_TX_LOCK_ASSERT(sc);
 
@@ -3365,7 +3366,11 @@ ath_tx_tid_filt_comp_complete(struct ath
 
DPRINTF(sc, ATH_DEBUG_SW_TX_FILT, "%s: hwq=0, transition back\n",
__func__);
-   tid->isfiltered = 0;
+   if (tid->isfiltered == 1) {
+   tid->isfiltered = 0;
+   do_resume = 1;
+   }
+
/* XXX ath_tx_tid_resume() also calls ath_tx_set_clrdmask()! */
ath_tx_set_clrdmask(sc, tid->an);
 
@@ -3375,7 +3380,8 @@ ath_tx_tid_filt_comp_complete(struct ath
ATH_TID_INSERT_HEAD(tid, bf, bf_list);
}
 
-   ath_tx_tid_resume(sc, tid);
+   if (do_resume)
+   ath_tx_tid_resume(sc, tid);
 }
 
 /*
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r264253 - head/sys/dev/ath

2014-04-08 Thread Adrian Chadd
Author: adrian
Date: Tue Apr  8 07:01:27 2014
New Revision: 264253
URL: http://svnweb.freebsd.org/changeset/base/264253

Log:
  Add a comment explaining the obvious.

Modified:
  head/sys/dev/ath/if_ath_tx.c

Modified: head/sys/dev/ath/if_ath_tx.c
==
--- head/sys/dev/ath/if_ath_tx.cTue Apr  8 07:00:43 2014
(r264252)
+++ head/sys/dev/ath/if_ath_tx.cTue Apr  8 07:01:27 2014
(r264253)
@@ -3380,6 +3380,7 @@ ath_tx_tid_filt_comp_complete(struct ath
ATH_TID_INSERT_HEAD(tid, bf, bf_list);
}
 
+   /* And only resume if we had paused before */
if (do_resume)
ath_tx_tid_resume(sc, tid);
 }
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r264254 - head/sys/dev/ath

2014-04-08 Thread Adrian Chadd
Author: adrian
Date: Tue Apr  8 07:08:59 2014
New Revision: 264254
URL: http://svnweb.freebsd.org/changeset/base/264254

Log:
  Correct the actual definition of ath_tx_tid_filt_comp_single() to
  match how it's used.
  
  This is another bug that led to aggregate traffic hanging because
  the BAW tracking stopped being accurate.  In this instance, a filtered
  frame that exceeded retries would return a non-error, which would
  mean the caller would never remove it from the BAW.  But it wouldn't
  be added to the filtered list, so it would be lost forever.  There'd
  thus be a hole in the BAW that would never get transmitted and
  this leads to a traffic hang.
  
  Tested:
  
  * Routerstation Pro, AR9220 AP

Modified:
  head/sys/dev/ath/if_ath_tx.c

Modified: head/sys/dev/ath/if_ath_tx.c
==
--- head/sys/dev/ath/if_ath_tx.cTue Apr  8 07:01:27 2014
(r264253)
+++ head/sys/dev/ath/if_ath_tx.cTue Apr  8 07:08:59 2014
(r264254)
@@ -3388,10 +3388,13 @@ ath_tx_tid_filt_comp_complete(struct ath
 /*
  * Called when a single (aggregate or otherwise) frame is completed.
  *
- * Returns 1 if the buffer could be added to the filtered list
- * (cloned or otherwise), 0 if the buffer couldn't be added to the
+ * Returns 0 if the buffer could be added to the filtered list
+ * (cloned or otherwise), 1 if the buffer couldn't be added to the
  * filtered list (failed clone; expired retry) and the caller should
  * free it and handle it like a failure (eg by sending a BAR.)
+ *
+ * since the buffer may be cloned, bf must be not touched after this
+ * if the return value is 0.
  */
 static int
 ath_tx_tid_filt_comp_single(struct ath_softc *sc, struct ath_tid *tid,
@@ -3412,7 +3415,8 @@ ath_tx_tid_filt_comp_single(struct ath_s
__func__,
bf,
bf->bf_state.bfs_seqno);
-   return (0);
+   retval = 1; /* error */
+   goto finish;
}
 
/*
@@ -3432,11 +3436,12 @@ ath_tx_tid_filt_comp_single(struct ath_s
DPRINTF(sc, ATH_DEBUG_SW_TX_FILT,
"%s: busy buffer couldn't be cloned (%p)!\n",
__func__, bf);
-   retval = 1;
+   retval = 1; /* error */
} else {
ath_tx_tid_filt_comp_buf(sc, tid, nbf);
-   retval = 0;
+   retval = 0; /* ok */
}
+finish:
ath_tx_tid_filt_comp_complete(sc, tid);
 
return (retval);
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r264255 - head/sys/dev/ath

2014-04-08 Thread Adrian Chadd
Author: adrian
Date: Tue Apr  8 07:10:52 2014
New Revision: 264255
URL: http://svnweb.freebsd.org/changeset/base/264255

Log:
  Don't do continue inside the scheduler loop; we really need to check
  if we've hit the end of the list and cycled around to the first
  node again.
  
  Obtained from:DragonflyBSD

Modified:
  head/sys/dev/ath/if_ath_tx.c

Modified: head/sys/dev/ath/if_ath_tx.c
==
--- head/sys/dev/ath/if_ath_tx.cTue Apr  8 07:08:59 2014
(r264254)
+++ head/sys/dev/ath/if_ath_tx.cTue Apr  8 07:10:52 2014
(r264255)
@@ -5509,7 +5509,7 @@ ath_txq_sched(struct ath_softc *sc, stru
 * a frame; be careful.
 */
if (! ath_tx_tid_can_tx_or_sched(sc, tid)) {
-   continue;
+   goto loop_done;
}
if (ath_tx_ampdu_running(sc, tid->an, tid->tid))
ath_tx_tid_hw_queue_aggr(sc, tid->an, tid);
@@ -5532,7 +5532,7 @@ ath_txq_sched(struct ath_softc *sc, stru
if (txq->axq_depth >= sc->sc_hwq_limit_nonaggr) {
break;
}
-
+loop_done:
/*
 * If this was the last entry on the original list, stop.
 * Otherwise nodes that have been rescheduled onto the end
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r264256 - head/sys/dev/ath

2014-04-08 Thread Adrian Chadd
Author: adrian
Date: Tue Apr  8 07:14:14 2014
New Revision: 264256
URL: http://svnweb.freebsd.org/changeset/base/264256

Log:
  Add some debugging and forcing of the BAW to match what the current
  tracked BAW actually is.
  
  The net80211 code that completes a BAR will set tid->txa_start (the
  BAW start) to whatever value was called when sending the BAR.
  Now, in case there's bugs in my driver code that cause the BAW
  to slip along, we should make sure that the new BAW we start
  at is actually what we currently have it at, not what we've sent.
  
  This totally breaks the specification and so this stays a printf().
  If it happens then I need to know and fix it.
  
  Whilst here, add some debugging updates:
  
  * add TID logging to places where it's useful;
  * use SEQNO().

Modified:
  head/sys/dev/ath/if_ath_tx.c

Modified: head/sys/dev/ath/if_ath_tx.c
==
--- head/sys/dev/ath/if_ath_tx.cTue Apr  8 07:10:52 2014
(r264255)
+++ head/sys/dev/ath/if_ath_tx.cTue Apr  8 07:14:14 2014
(r264256)
@@ -2750,8 +2750,8 @@ ath_tx_update_baw(struct ath_softc *sc, 
INCR(tid->baw_head, ATH_TID_MAX_BUFS);
}
DPRINTF(sc, ATH_DEBUG_SW_TX_BAW,
-   "%s: baw is now %d:%d, baw head=%d\n",
-   __func__, tap->txa_start, tap->txa_wnd, tid->baw_head);
+   "%s: tid=%d: baw is now %d:%d, baw head=%d\n",
+   __func__, tid->tid, tap->txa_start, tap->txa_wnd, tid->baw_head);
 }
 
 static void
@@ -3336,8 +3336,8 @@ ath_tx_tid_filt_comp_buf(struct ath_soft
ATH_TX_LOCK_ASSERT(sc);
 
if (! tid->isfiltered) {
-   DPRINTF(sc, ATH_DEBUG_SW_TX_FILT, "%s: filter transition\n",
-   __func__);
+   DPRINTF(sc, ATH_DEBUG_SW_TX_FILT, "%s: tid=%d; filter 
transition\n",
+   __func__, tid->tid);
tid->isfiltered = 1;
ath_tx_tid_pause(sc, tid);
}
@@ -3364,8 +3364,8 @@ ath_tx_tid_filt_comp_complete(struct ath
if (tid->hwq_depth != 0)
return;
 
-   DPRINTF(sc, ATH_DEBUG_SW_TX_FILT, "%s: hwq=0, transition back\n",
-   __func__);
+   DPRINTF(sc, ATH_DEBUG_SW_TX_FILT, "%s: tid=%d, hwq=0, transition 
back\n",
+   __func__, tid->tid);
if (tid->isfiltered == 1) {
tid->isfiltered = 0;
do_resume = 1;
@@ -3414,7 +3414,7 @@ ath_tx_tid_filt_comp_single(struct ath_s
"%s: bf=%p, seqno=%d, exceeded retries\n",
__func__,
bf,
-   bf->bf_state.bfs_seqno);
+   SEQNO(bf->bf_state.bfs_seqno));
retval = 1; /* error */
goto finish;
}
@@ -3466,10 +3466,11 @@ ath_tx_tid_filt_comp_aggr(struct ath_sof
if (bf->bf_state.bfs_retries > SWMAX_RETRIES) {
sc->sc_stats.ast_tx_swretrymax++;
DPRINTF(sc, ATH_DEBUG_SW_TX_FILT,
-   "%s: bf=%p, seqno=%d, exceeded retries\n",
+   "%s: tid=%d, bf=%p, seqno=%d, exceeded retries\n",
__func__,
+   tid->tid,
bf,
-   bf->bf_state.bfs_seqno);
+   SEQNO(bf->bf_state.bfs_seqno));
TAILQ_INSERT_TAIL(bf_q, bf, bf_list);
goto next;
}
@@ -3477,8 +3478,8 @@ ath_tx_tid_filt_comp_aggr(struct ath_sof
if (bf->bf_flags & ATH_BUF_BUSY) {
nbf = ath_tx_retry_clone(sc, tid->an, tid, bf);
DPRINTF(sc, ATH_DEBUG_SW_TX_FILT,
-   "%s: busy buffer cloned: %p -> %p",
-   __func__, bf, nbf);
+   "%s: tid=%d, busy buffer cloned: %p -> %p, 
seqno=%d\n",
+   __func__, tid->tid, bf, nbf, 
SEQNO(bf->bf_state.bfs_seqno));
} else {
nbf = bf;
}
@@ -3489,8 +3490,8 @@ ath_tx_tid_filt_comp_aggr(struct ath_sof
 */
if (nbf == NULL) {
DPRINTF(sc, ATH_DEBUG_SW_TX_FILT,
-   "%s: buffer couldn't be cloned! (%p)\n",
-   __func__, bf);
+   "%s: tid=%d, buffer couldn't be cloned! (%p) 
seqno=%d\n",
+   __func__, tid->tid, bf, 
SEQNO(bf->bf_state.bfs_seqno));
TAILQ_INSERT_TAIL(bf_q, bf, bf_list);
} else {
ath_tx_tid_filt_comp_buf(sc, tid, nbf);
@@ -5044,6 +5045,10 @@ ath_tx_aggr_comp_unaggr(struct ath_softc
"%s: isfiltered=1, fail=%d\n",
__func__, fail);
freeframe = ath_tx_tid_filt_comp_single(sc, atid, bf)

svn commit: r264257 - in head/sys/dev: puc uart

2014-04-08 Thread Marius Strobl
Author: marius
Date: Tue Apr  8 07:32:32 2014
New Revision: 264257
URL: http://svnweb.freebsd.org/changeset/base/264257

Log:
  Distinguish between the different variants and configurations of Sunix
  {MIO,SER}5 chips instead of treating all of them as PUC_PORT_2S.
  Among others, this fixes the hang seen when trying to probe the none-
  existent second UART on an actually 1-port chip.
  
  Obtained from:NetBSD (BAR layouts)
  MFC after:3 days
  Sponsored by: Bally Wulff Games & Entertainment GmbH

Modified:
  head/sys/dev/puc/pucdata.c
  head/sys/dev/uart/uart_bus_pci.c

Modified: head/sys/dev/puc/pucdata.c
==
--- head/sys/dev/puc/pucdata.c  Tue Apr  8 07:14:14 2014(r264256)
+++ head/sys/dev/puc/pucdata.c  Tue Apr  8 07:32:32 2014(r264257)
@@ -59,6 +59,7 @@ static puc_config_f puc_config_oxford_pc
 static puc_config_f puc_config_quatech;
 static puc_config_f puc_config_syba;
 static puc_config_f puc_config_siig;
+static puc_config_f puc_config_sunix;
 static puc_config_f puc_config_timedia;
 static puc_config_f puc_config_titan;
 
@@ -987,12 +988,53 @@ const struct puc_cfg puc_pci_devices[] =
.config_function = puc_config_syba
},
 
-   {   0x1fd4, 0x1999, 0x, 0,
-   "Sunix SER5437A",
+   /* Prevent puc(4) from attaching, directly use uart(4) instead. */
+   {   0x1fd4, 0x1999, 0x1fd4, 0x0001,
+   "Sunix SER5 1-port serial",
+   DEFAULT_RCLK * 8,
+   PUC_PORT_1S, 0x10, 0, 8,
+   },
+
+   {   0x1fd4, 0x1999, 0x1fd4, 0x0002,
+   "Sunix SER5 2-port serial",
DEFAULT_RCLK * 8,
PUC_PORT_2S, 0x10, 0, 8,
},
 
+   {   0x1fd4, 0x1999, 0x1fd4, 0x0004,
+   "Sunix SER5 4-port serial",
+   DEFAULT_RCLK * 8,
+   PUC_PORT_4S, 0x10, 0, 8,
+   },
+
+   {   0x1fd4, 0x1999, 0x1fd4, 0x0008,
+   "Sunix SER5 8-port serial",
+   DEFAULT_RCLK * 8,
+   PUC_PORT_8S, -1, -1, -1,
+   .config_function = puc_config_sunix
+   },
+
+   {   0x1fd4, 0x1999, 0x1fd4, 0x0101,
+   "Sunix MIO5 1-port serial and 1284 Printer port",
+   DEFAULT_RCLK * 8,
+   PUC_PORT_1S1P, -1, -1, -1,
+   .config_function = puc_config_sunix
+   },
+
+   {   0x1fd4, 0x1999, 0x1fd4, 0x0102,
+   "Sunix MIO 2-port serial and 1284 Printer port",
+   DEFAULT_RCLK * 8,
+   PUC_PORT_2S1P, -1, -1, -1,
+   .config_function = puc_config_sunix
+   },
+
+   {   0x1fd4, 0x1999, 0x1fd4, 0x0104,
+   "Sunix MIO5 4-port serial and 1284 Printer port",
+   DEFAULT_RCLK * 8,
+   PUC_PORT_4S1P, -1, -1, -1,
+   .config_function = puc_config_sunix
+   },
+
{   0x5372, 0x6873, 0x, 0,
"Sun 1040 PCI Quad Serial",
DEFAULT_RCLK,
@@ -1024,8 +1066,8 @@ const struct puc_cfg puc_pci_devices[] =
},
 
/*
-* This is more specific than the generic NM9835 entry that follows, and
-* is placed here to _prevent_ puc from claiming this single port card.
+* This is more specific than the generic NM9835 entry, and is placed
+* here to _prevent_ puc(4) from claiming this single port card.
 *
 * uart(4) will claim this device.
 */
@@ -1614,6 +1656,31 @@ puc_config_oxford_pcie(struct puc_softc 
 }
 
 static int
+puc_config_sunix(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port,
+intptr_t *res)
+{
+   int error;
+
+   switch (cmd) {
+   case PUC_CFG_GET_OFS:
+   error = puc_config(sc, PUC_CFG_GET_TYPE, port, res);
+   if (error != 0)
+   return (error);
+   *res = (*res == PUC_TYPE_SERIAL) ? (port & 3) * 8 : 0;
+   return (0);
+   case PUC_CFG_GET_RID:
+   error = puc_config(sc, PUC_CFG_GET_TYPE, port, res);
+   if (error != 0)
+   return (error);
+   *res = (*res == PUC_TYPE_SERIAL && port <= 3) ? 0x10 : 0x14;
+   return (0);
+   default:
+   break;
+   }
+   return (ENXIO);
+}
+
+static int
 puc_config_titan(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port,
 intptr_t *res)
 {

Modified: head/sys/dev/uart/uart_bus_pci.c
==
--- head/sys/dev/uart/uart_bus_pci.cTue Apr  8 07:14:14 2014
(r264256)
+++ head/sys/dev/uart/uart_bus_pci.cTue Apr  8 07:32:32 2014
(r264257)
@@ -114,6 +114,8 @@ static const struct pci_id pci_ns8250_id
0x10, 16384000 },
 { 0x14e4, 0x4344, 0x, 0, "Sony Ericsson GC89 PC Card", 0x10},
 { 0x151f, 0x, 0x, 0, "TOPIC Semiconductor TP560 56k modem", 0x10 },
+{ 0x1fd4, 0x1999, 0x1fd4, 0x0001, "Sunix SER5 Serial Port", 0x10,
+   8 * DEFAULT_RCLK

Re: svn commit: r264250 - head/sys/dev/acpica

2014-04-08 Thread John Baldwin
On Monday, April 07, 2014 10:36:27 pm Adrian Chadd wrote:
> Author: adrian
> Date: Tue Apr  8 02:36:27 2014
> New Revision: 264250
> URL: http://svnweb.freebsd.org/changeset/base/264250
> 
> Log:
>   Add a basic set of data points which count the number of sleep entries
>   that are being done by the OS.
>   
>   For now this'll match up with the "wakeups"; although I'll dig deeper into
>   this to see if we can determine which sleep state the CPU managed to get
>   into.  Most things I've seen these days only expose up to C2 or C3 via
>   ACPI even though the CPU goes all the way down to C6 or C7.

No, those are actually the same thing.  ACPI and Intel both use C-states for
the same thing, but the numbers don't line up.  That is, Intel's C6/C7 gets
exposed to the OS as C2/C3 via ACPI.  The 6/7 does matter, (I think) if you
are using monitor/mwait as I believe the value you configure for an mwait
sleep has to use Intel's number (6/7) whereas the ACPI number (2/3) is
assigned by the results of _CST or whichever object it is ACPI queries.

All that to say that ACPI is already using Intel's C6/C7 if you have 
configured your BIOS to expose it.

-- 
John Baldwin
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r264243 - in head/etc: . rc.d

2014-04-08 Thread John Baldwin
On Monday, April 07, 2014 6:40:29 pm Devin Teske wrote:
> Author: dteske
> Date: Mon Apr  7 22:40:29 2014
> New Revision: 264243
> URL: http://svnweb.freebsd.org/changeset/base/264243
> 
> Log:
>   Loosen the processing of *_IF_aliasN vars to be less strict. Previously,
>   the first alias had to be _alias0 and processing stopped at the first non-
>   defined variable (preventing gaps). Allowing gaps gives the administrator
>   the ability to group aliases in an adhoc manner and also lifts the
>   requirement to renumber aliases simply to comment-out an existing one.
>   Aliases are processed in numerical ascending order.
>   
>   Discussed on:   -rc
>   MFC after:  1 week

Forgot to mention mdconfig in the log message (or did you mean to commit
that separately)?

-- 
John Baldwin
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r264258 - head/sys/dev/vt

2014-04-08 Thread Aleksandr Rybalko
Author: ray
Date: Tue Apr  8 14:14:25 2014
New Revision: 264258
URL: http://svnweb.freebsd.org/changeset/base/264258

Log:
  Fix cursor color in reverse video mode.
  
  PR:   kern/188196
  Submitted by: Claude Buisson  (original version)
  MFC after:1 week
  Sponsored by: The FreeBSD Foundation

Modified:
  head/sys/dev/vt/vt_core.c

Modified: head/sys/dev/vt/vt_core.c
==
--- head/sys/dev/vt/vt_core.c   Tue Apr  8 07:32:32 2014(r264257)
+++ head/sys/dev/vt/vt_core.c   Tue Apr  8 14:14:25 2014(r264258)
@@ -652,24 +652,26 @@ static inline void
 vt_determine_colors(term_char_t c, int cursor,
 term_color_t *fg, term_color_t *bg)
 {
+   term_color_t tmp;
+   int invert;
+
+   invert = 0;
 
*fg = TCHAR_FGCOLOR(c);
if (TCHAR_FORMAT(c) & TF_BOLD)
*fg = TCOLOR_LIGHT(*fg);
*bg = TCHAR_BGCOLOR(c);
 
-   if (TCHAR_FORMAT(c) & TF_REVERSE) {
-   term_color_t tmp;
+   if (TCHAR_FORMAT(c) & TF_REVERSE)
+   invert ^= 1;
+   if (cursor)
+   invert ^= 1;
 
+   if (invert) {
tmp = *fg;
*fg = *bg;
*bg = tmp;
}
-
-   if (cursor) {
-   *fg = *bg;
-   *bg = TC_WHITE;
-   }
 }
 
 static void
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r264259 - head/sys/dev/vt

2014-04-08 Thread Aleksandr Rybalko
Author: ray
Date: Tue Apr  8 14:18:39 2014
New Revision: 264259
URL: http://svnweb.freebsd.org/changeset/base/264259

Log:
  Update to fix at r264244.
  o Unmute terminal when done with driver replacement.
  o Move init fonts to early point.
  o Minor cleanup.
  
  MFC after:6 days
  X-MFC-with:   r264244 r264242
  Sponsored by: The FreeBSD Foundation

Modified:
  head/sys/dev/vt/vt_core.c

Modified: head/sys/dev/vt/vt_core.c
==
--- head/sys/dev/vt/vt_core.c   Tue Apr  8 14:14:25 2014(r264258)
+++ head/sys/dev/vt/vt_core.c   Tue Apr  8 14:18:39 2014(r264259)
@@ -720,9 +720,11 @@ vt_flush(struct vt_device *vd)
 #endif
 
vw = vd->vd_curwindow;
-   if (vw == NULL) return;
+   if (vw == NULL)
+   return;
vf = vw->vw_font;
-   if ((vf == NULL) && !(vd->vd_flags & VDF_TEXTMODE)) return;
+   if (((vd->vd_flags & VDF_TEXTMODE) == 0) && (vf == NULL))
+   return;
 
if (vd->vd_flags & VDF_SPLASH || vw->vw_flags & VWF_BUSY)
return;
@@ -1891,9 +1893,6 @@ vt_upgrade(struct vt_device *vd)
}
terminal_maketty(vw->vw_terminal, "v%r", VT_UNIT(vw));
 
-   /* Assign default font to window, if not textmode. */
-   if (!(vd->vd_flags & VDF_TEXTMODE) && vw->vw_font == NULL)
-   vw->vw_font = vtfont_ref(&vt_font_default);
}
if (vd->vd_curwindow == NULL)
vd->vd_curwindow = vd->vd_windows[VT_CONSWINDOW];
@@ -1914,6 +1913,9 @@ vt_resize(struct vt_device *vd)
 
for (i = 0; i < VT_MAXWINDOWS; i++) {
vw = vd->vd_windows[i];
+   /* Assign default font to window, if not textmode. */
+   if (!(vd->vd_flags & VDF_TEXTMODE) && vw->vw_font == NULL)
+   vw->vw_font = vtfont_ref(&vt_font_default);
/* Resize terminal windows */
vt_change_font(vw, vw->vw_font);
}
@@ -1975,8 +1977,10 @@ vt_allocate(struct vt_driver *drv, void 
vtterm_splash(vd);
 #endif
 
-   if (vd->vd_flags & VDF_ASYNC)
+   if (vd->vd_flags & VDF_ASYNC) {
+   terminal_mute(vd->vd_curwindow->vw_terminal, 0);
callout_schedule(&vd->vd_timer, hz / VT_TIMERFREQ);
+   }
 
termcn_cnregister(vd->vd_windows[VT_CONSWINDOW]->vw_terminal);
 
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r264260 - head/sys/boot

2014-04-08 Thread Ed Maste
Author: emaste
Date: Tue Apr  8 17:40:09 2014
New Revision: 264260
URL: http://svnweb.freebsd.org/changeset/base/264260

Log:
  Revert r264132, disconnecting sys/boot/amd64 for now
  
  Some 64-bit Ficl warnings broke tinderbox builds.

Modified:
  head/sys/boot/Makefile

Modified: head/sys/boot/Makefile
==
--- head/sys/boot/Makefile  Tue Apr  8 14:18:39 2014(r264259)
+++ head/sys/boot/Makefile  Tue Apr  8 17:40:09 2014(r264260)
@@ -9,12 +9,9 @@ SUBDIR+=   ficl
 .endif
 
 # Pick the machine-dependent subdir based on the target architecture.
-ADIR=  ${MACHINE:S/powerpc64/powerpc/}
+ADIR=  ${MACHINE:S/amd64/i386/:S/powerpc64/powerpc/}
 .if exists(${.CURDIR}/${ADIR}/.)
 SUBDIR+=   ${ADIR}
 .endif
-.if ${MACHINE} == "amd64"
-SUBDIR+=   i386
-.endif
 
 .include 
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r264261 - head/sys/boot/ficl

2014-04-08 Thread Ed Maste
Author: emaste
Date: Tue Apr  8 17:50:27 2014
New Revision: 264261
URL: http://svnweb.freebsd.org/changeset/base/264261

Log:
  Correct a variable's type for 64-bit Ficl
  
  FICL_INT is long.

Modified:
  head/sys/boot/ficl/words.c

Modified: head/sys/boot/ficl/words.c
==
--- head/sys/boot/ficl/words.c  Tue Apr  8 17:40:09 2014(r264260)
+++ head/sys/boot/ficl/words.c  Tue Apr  8 17:50:27 2014(r264261)
@@ -2567,7 +2567,7 @@ static void setObjectFlag(FICL_VM *pVM)
 
 static void isObject(FICL_VM *pVM)
 {
-int flag;
+FICL_INT flag;
 FICL_WORD *pFW = (FICL_WORD *)stackPopPtr(pVM->pStack);
 
 flag = ((pFW != NULL) && (pFW->flags & FW_ISOBJECT)) ? FICL_TRUE : 
FICL_FALSE;
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


RE: svn commit: r264243 - in head/etc: . rc.d

2014-04-08 Thread dteske


> -Original Message-
> From: John Baldwin [mailto:j...@freebsd.org]
> Sent: Tuesday, April 8, 2014 6:17 AM
> To: Devin Teske
> Cc: src-committ...@freebsd.org; svn-src-...@freebsd.org; svn-src-
> h...@freebsd.org
> Subject: Re: svn commit: r264243 - in head/etc: . rc.d
> 
> On Monday, April 07, 2014 6:40:29 pm Devin Teske wrote:
> > Author: dteske
> > Date: Mon Apr  7 22:40:29 2014
> > New Revision: 264243
> > URL:
> > https://urldefense.proofpoint.com/v1/url?u=http://svnweb.freebsd.org/c
> >
> hangeset/base/264243&k=%2FbkpAUdJWZuiTILCq%2FFnQg%3D%3D%0A&r=
> Mrjs6vR4%
> >
> 2Faj2Ns9%2FssHJjg%3D%3D%0A&m=x4%2FOSlYxZmvxfxF1vsS2F3iOmYffhRw
> 7e5mRGSs
> >
> LUeM%3D%0A&s=f09e9f49a3e96b674c5845e5ca0b0ffe54de091cfb020683aa2
> fc358b
> > 8f7182d
> >
> > Log:
> >   Loosen the processing of *_IF_aliasN vars to be less strict. Previously,
> >   the first alias had to be _alias0 and processing stopped at the first non-
> >   defined variable (preventing gaps). Allowing gaps gives the administrator
> >   the ability to group aliases in an adhoc manner and also lifts the
> >   requirement to renumber aliases simply to comment-out an existing one.
> >   Aliases are processed in numerical ascending order.
> >
> >   Discussed on: -rc
> >   MFC after:1 week
> 
> Forgot to mention mdconfig in the log message (or did you mean to commit
> that separately)?
> 

Nah, forgot to mention mdconfig in the commit message as you state.
-- 
Devin



_
The information contained in this message is proprietary and/or confidential. 
If you are not the intended recipient, please: (i) delete the message and all 
copies; (ii) do not disclose, distribute or use the message in any manner; and 
(iii) notify the sender immediately. In addition, please be aware that any 
message addressed to our domain is subject to archiving and review by persons 
other than the intended recipient. Thank you.
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r264262 - head/sys/boot/ficl

2014-04-08 Thread Ed Maste
Author: emaste
Date: Tue Apr  8 18:02:32 2014
New Revision: 264262
URL: http://svnweb.freebsd.org/changeset/base/264262

Log:
  Fix printf args for 64-bit archs
  
  Sponsored by: The FreeBSD Foundation

Modified:
  head/sys/boot/ficl/tools.c

Modified: head/sys/boot/ficl/tools.c
==
--- head/sys/boot/ficl/tools.c  Tue Apr  8 17:50:27 2014(r264261)
+++ head/sys/boot/ficl/tools.c  Tue Apr  8 18:02:32 2014(r264262)
@@ -201,7 +201,7 @@ static void seeColon(FICL_VM *pVM, CELL 
*cp++ = '>';
else
*cp++ = ' ';
-cp += sprintf(cp, "%3d   ", pc-param0);
+cp += sprintf(cp, "%3d   ", (int)(pc-param0));
 
 if (isAFiclWord(pd, pFW))
 {
@@ -239,40 +239,40 @@ static void seeColon(FICL_VM *pVM, CELL 
 case IF:
 c = *++pc;
 if (c.i > 0)
-sprintf(cp, "if / while (branch %d)", pc+c.i-param0);
+sprintf(cp, "if / while (branch %d)", 
(int)(pc+c.i-param0));
 else
-sprintf(cp, "until (branch %d)",  pc+c.i-param0);
+sprintf(cp, "until (branch %d)",  
(int)(pc+c.i-param0));
 break; 
  
 case BRANCH:
 c = *++pc;
 if (c.i == 0)
-sprintf(cp, "repeat (branch %d)", pc+c.i-param0);
+sprintf(cp, "repeat (branch %d)", 
(int)(pc+c.i-param0));
 else if (c.i == 1)
-sprintf(cp, "else (branch %d)",   pc+c.i-param0);
+sprintf(cp, "else (branch %d)",   
(int)(pc+c.i-param0));
 else
-sprintf(cp, "endof (branch %d)",   pc+c.i-param0);
+sprintf(cp, "endof (branch %d)",  
(int)(pc+c.i-param0));
 break;
 
 case OF:
 c = *++pc;
-sprintf(cp, "of (branch %d)",   pc+c.i-param0);
+sprintf(cp, "of (branch %d)",   (int)(pc+c.i-param0));
 break;
 
 case QDO:
 c = *++pc;
-sprintf(cp, "?do (leave %d)",  (CELL *)c.p-param0);
+sprintf(cp, "?do (leave %d)",  (int)((CELL *)c.p-param0));
 break;
 case DO:
 c = *++pc;
-sprintf(cp, "do (leave %d)", (CELL *)c.p-param0);
+sprintf(cp, "do (leave %d)", (int)((CELL *)c.p-param0));
 break;
 case LOOP:
 c = *++pc;
-sprintf(cp, "loop (branch %d)", pc+c.i-param0);
+sprintf(cp, "loop (branch %d)", (int)(pc+c.i-param0));
 break;
 case PLOOP:
 c = *++pc;
-sprintf(cp, "+loop (branch %d)", pc+c.i-param0);
+sprintf(cp, "+loop (branch %d)", (int)(pc+c.i-param0));
 break;
 default:
 sprintf(cp, "%.*s", pFW->nName, pFW->name);
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r264263 - head/sys/boot/efi/libefi

2014-04-08 Thread Ed Maste
Author: emaste
Date: Tue Apr  8 18:21:38 2014
New Revision: 264263
URL: http://svnweb.freebsd.org/changeset/base/264263

Log:
  Add explicit casts to quiet warnings in libefi
  
  Sponsored by: The FreeBSD Foundation

Modified:
  head/sys/boot/efi/libefi/efipart.c

Modified: head/sys/boot/efi/libefi/efipart.c
==
--- head/sys/boot/efi/libefi/efipart.c  Tue Apr  8 18:02:32 2014
(r264262)
+++ head/sys/boot/efi/libefi/efipart.c  Tue Apr  8 18:21:38 2014
(r264263)
@@ -93,14 +93,16 @@ efipart_init(void) 
bzero(aliases, nin * sizeof(EFI_HANDLE));
 
for (n = 0; n < nin; n++) {
-   status = BS->HandleProtocol(hin[n], &devpath_guid, &devpath);
+   status = BS->HandleProtocol(hin[n], &devpath_guid,
+   (void **)&devpath);
if (EFI_ERROR(status)) {
continue;
}
node = devpath;
while (!IsDevicePathEnd(NextDevicePathNode(node)))
node = NextDevicePathNode(node);
-   status = BS->HandleProtocol(hin[n], &blkio_guid, &blkio);
+   status = BS->HandleProtocol(hin[n], &blkio_guid,
+   (void**)&blkio);
if (EFI_ERROR(status))
continue;
if (!blkio->Media->LogicalPartition)
@@ -147,7 +149,7 @@ efipart_print(int verbose)
sprintf(line, "%s%d:", efipart_dev.dv_name, unit);
pager_output(line);
 
-   status = BS->HandleProtocol(h, &blkio_guid, &blkio);
+   status = BS->HandleProtocol(h, &blkio_guid, (void **)&blkio);
if (!EFI_ERROR(status)) {
sprintf(line, "%llu blocks",
(unsigned long long)(blkio->Media->LastBlock + 1));
@@ -176,7 +178,7 @@ efipart_open(struct open_file *f, ...)
if (h == NULL)
return (EINVAL);
 
-   status = BS->HandleProtocol(h, &blkio_guid, &blkio);
+   status = BS->HandleProtocol(h, &blkio_guid, (void **)&blkio);
if (EFI_ERROR(status))
return (efi_status_to_errno(status));
 
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r264264 - head/sys/cam/ctl

2014-04-08 Thread Alexander Motin
Author: mav
Date: Tue Apr  8 18:22:03 2014
New Revision: 264264
URL: http://svnweb.freebsd.org/changeset/base/264264

Log:
  Wakeup only one thread of added in r263978i at a time.
  
  This slightly reduces lock congestion between threads.
  
  Submitted by: trasz

Modified:
  head/sys/cam/ctl/ctl.c

Modified: head/sys/cam/ctl/ctl.c
==
--- head/sys/cam/ctl/ctl.c  Tue Apr  8 18:21:38 2014(r264263)
+++ head/sys/cam/ctl/ctl.c  Tue Apr  8 18:22:03 2014(r264264)
@@ -13065,7 +13065,7 @@ ctl_wakeup_thread()
 
softc = control_softc;
 
-   wakeup(softc);
+   wakeup_one(softc);
 }
 
 /* Initialization and failover */
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r264265 - in head: crypto/openssl/crypto/bn crypto/openssl/crypto/ec crypto/openssl/ssl sys/fs/nfsserver

2014-04-08 Thread Xin LI
Author: delphij
Date: Tue Apr  8 18:27:32 2014
New Revision: 264265
URL: http://svnweb.freebsd.org/changeset/base/264265

Log:
  Fix NFS deadlock vulnerability. [SA-14:05]
  
  Fix "Heartbleed" vulnerability and ECDSA Cache Side-channel
  Attack in OpenSSL. [SA-14:06]

Modified:
  head/crypto/openssl/crypto/bn/bn.h
  head/crypto/openssl/crypto/bn/bn_lib.c
  head/crypto/openssl/crypto/ec/ec2_mult.c
  head/crypto/openssl/ssl/d1_both.c
  head/crypto/openssl/ssl/t1_lib.c
  head/sys/fs/nfsserver/nfs_nfsdserv.c

Modified: head/crypto/openssl/crypto/bn/bn.h
==
--- head/crypto/openssl/crypto/bn/bn.h  Tue Apr  8 18:22:03 2014
(r264264)
+++ head/crypto/openssl/crypto/bn/bn.h  Tue Apr  8 18:27:32 2014
(r264265)
@@ -538,6 +538,8 @@ BIGNUM *BN_mod_inverse(BIGNUM *ret,
 BIGNUM *BN_mod_sqrt(BIGNUM *ret,
const BIGNUM *a, const BIGNUM *n,BN_CTX *ctx);
 
+void   BN_consttime_swap(BN_ULONG swap, BIGNUM *a, BIGNUM *b, int nwords);
+
 /* Deprecated versions */
 #ifndef OPENSSL_NO_DEPRECATED
 BIGNUM *BN_generate_prime(BIGNUM *ret,int bits,int safe,
@@ -774,11 +776,20 @@ int RAND_pseudo_bytes(unsigned char *buf
 
 #define bn_fix_top(a)  bn_check_top(a)
 
+#define bn_check_size(bn, bits) bn_wcheck_size(bn, 
((bits+BN_BITS2-1))/BN_BITS2)
+#define bn_wcheck_size(bn, words) \
+   do { \
+   const BIGNUM *_bnum2 = (bn); \
+   assert(words <= (_bnum2)->dmax && words >= (_bnum2)->top); \
+   } while(0)
+
 #else /* !BN_DEBUG */
 
 #define bn_pollute(a)
 #define bn_check_top(a)
 #define bn_fix_top(a)  bn_correct_top(a)
+#define bn_check_size(bn, bits)
+#define bn_wcheck_size(bn, words)
 
 #endif
 

Modified: head/crypto/openssl/crypto/bn/bn_lib.c
==
--- head/crypto/openssl/crypto/bn/bn_lib.c  Tue Apr  8 18:22:03 2014
(r264264)
+++ head/crypto/openssl/crypto/bn/bn_lib.c  Tue Apr  8 18:27:32 2014
(r264265)
@@ -824,3 +824,55 @@ int bn_cmp_part_words(const BN_ULONG *a,
}
return bn_cmp_words(a,b,cl);
}
+
+/* 
+ * Constant-time conditional swap of a and b.  
+ * a and b are swapped if condition is not 0.  The code assumes that at most 
one bit of condition is set.
+ * nwords is the number of words to swap.  The code assumes that at least 
nwords are allocated in both a and b,
+ * and that no more than nwords are used by either a or b.
+ * a and b cannot be the same number
+ */
+void BN_consttime_swap(BN_ULONG condition, BIGNUM *a, BIGNUM *b, int nwords)
+   {
+   BN_ULONG t;
+   int i;
+
+   bn_wcheck_size(a, nwords);
+   bn_wcheck_size(b, nwords);
+
+   assert(a != b);
+   assert((condition & (condition - 1)) == 0);
+   assert(sizeof(BN_ULONG) >= sizeof(int));
+
+   condition = ((condition - 1) >> (BN_BITS2 - 1)) - 1;
+
+   t = (a->top^b->top) & condition;
+   a->top ^= t;
+   b->top ^= t;
+
+#define BN_CONSTTIME_SWAP(ind) \
+   do { \
+   t = (a->d[ind] ^ b->d[ind]) & condition; \
+   a->d[ind] ^= t; \
+   b->d[ind] ^= t; \
+   } while (0)
+
+
+   switch (nwords) {
+   default:
+   for (i = 10; i < nwords; i++) 
+   BN_CONSTTIME_SWAP(i);
+   /* Fallthrough */
+   case 10: BN_CONSTTIME_SWAP(9); /* Fallthrough */
+   case 9: BN_CONSTTIME_SWAP(8); /* Fallthrough */
+   case 8: BN_CONSTTIME_SWAP(7); /* Fallthrough */
+   case 7: BN_CONSTTIME_SWAP(6); /* Fallthrough */
+   case 6: BN_CONSTTIME_SWAP(5); /* Fallthrough */
+   case 5: BN_CONSTTIME_SWAP(4); /* Fallthrough */
+   case 4: BN_CONSTTIME_SWAP(3); /* Fallthrough */
+   case 3: BN_CONSTTIME_SWAP(2); /* Fallthrough */
+   case 2: BN_CONSTTIME_SWAP(1); /* Fallthrough */
+   case 1: BN_CONSTTIME_SWAP(0);
+   }
+#undef BN_CONSTTIME_SWAP
+}

Modified: head/crypto/openssl/crypto/ec/ec2_mult.c
==
--- head/crypto/openssl/crypto/ec/ec2_mult.cTue Apr  8 18:22:03 2014
(r264264)
+++ head/crypto/openssl/crypto/ec/ec2_mult.cTue Apr  8 18:27:32 2014
(r264265)
@@ -208,11 +208,15 @@ static int gf2m_Mxy(const EC_GROUP *grou
return ret;
}
 
+
 /* Computes scalar*point and stores the result in r.
  * point can not equal r.
- * Uses algorithm 2P of
+ * Uses a modified algorithm 2P of
  * Lopez, J. and Dahab, R.  "Fast multiplication on elliptic curves over 
  * GF(2^m) without precomputation" (CHES '99, LNCS 1717).
+ *
+ * To protect against side-channel attack the function uses constant time swap,
+ * avoiding conditional branches.
  */
 static int ec_GF2m_montgomery_point_multiply(const EC_GROUP *group, EC_POINT 
*r, const BIGNUM *scalar,
const EC_POINT *point, BN_CTX *ctx)
@@ -246,6 +250,11 @@ static int ec_GF2m_montgom

svn commit: r264268 - head/sys/boot

2014-04-08 Thread Ed Maste
Author: emaste
Date: Tue Apr  8 19:19:58 2014
New Revision: 264268
URL: http://svnweb.freebsd.org/changeset/base/264268

Log:
  (Re)connect sys/boot/amd64 to the build
  
  Sponsored by: The FreeBSD Foundation

Modified:
  head/sys/boot/Makefile

Modified: head/sys/boot/Makefile
==
--- head/sys/boot/Makefile  Tue Apr  8 18:27:46 2014(r264267)
+++ head/sys/boot/Makefile  Tue Apr  8 19:19:58 2014(r264268)
@@ -9,9 +9,12 @@ SUBDIR+=   ficl
 .endif
 
 # Pick the machine-dependent subdir based on the target architecture.
-ADIR=  ${MACHINE:S/amd64/i386/:S/powerpc64/powerpc/}
+ADIR=  ${MACHINE:S/powerpc64/powerpc/}
 .if exists(${.CURDIR}/${ADIR}/.)
 SUBDIR+=   ${ADIR}
 .endif
+.if ${MACHINE} == "amd64"
+SUBDIR+=   i386
+.endif
 
 .include 
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r264269 - in head: sys/conf sys/kern sys/modules sys/modules/imgact_binmisc sys/sys usr.sbin usr.sbin/binmiscctl

2014-04-08 Thread Sean Bruno
Author: sbruno
Date: Tue Apr  8 20:10:22 2014
New Revision: 264269
URL: http://svnweb.freebsd.org/changeset/base/264269

Log:
  Add Stacey Son's binary activation patches that allow remapping of
  execution to a emumation program via parsing of ELF header information.
  
  With this kernel module and userland tool, poudriere is able to build
  ports packages via the QEMU userland tools (or another emulator program)
  in a different architecture chroot, e.g. TARGET=mips TARGET_ARCH=mips
  
  I'm not connecting this to GENERIC for obvious reasons, but this should
  allow the kernel module to be built by default and enable the building
  of the userland tool (which automatically loads the kernel module).
  
  Submitted by: sson@
  Reviewed by:  jhb@

Added:
  head/sys/kern/imgact_binmisc.c   (contents, props changed)
  head/sys/modules/imgact_binmisc/
  head/sys/modules/imgact_binmisc/Makefile   (contents, props changed)
  head/sys/sys/imgact_binmisc.h   (contents, props changed)
  head/usr.sbin/binmiscctl/
  head/usr.sbin/binmiscctl/Makefile   (contents, props changed)
  head/usr.sbin/binmiscctl/binmiscctl.8   (contents, props changed)
  head/usr.sbin/binmiscctl/binmiscctl.c   (contents, props changed)
Modified:
  head/sys/conf/files.amd64
  head/sys/conf/files.i386
  head/sys/modules/Makefile
  head/usr.sbin/Makefile

Modified: head/sys/conf/files.amd64
==
--- head/sys/conf/files.amd64   Tue Apr  8 19:19:58 2014(r264268)
+++ head/sys/conf/files.amd64   Tue Apr  8 20:10:22 2014(r264269)
@@ -440,6 +440,7 @@ dev/virtio/scsi/virtio_scsi.c   optional
 dev/virtio/random/virtio_random.c  optionalvirtio_random
 isa/syscons_isa.c  optionalsc
 isa/vga_isa.c  optionalvga
+kern/imgact_binmisc.c  optionalimagact_binmisc
 kern/kern_clocksource.cstandard
 kern/link_elf_obj.cstandard
 #

Modified: head/sys/conf/files.i386
==
--- head/sys/conf/files.i386Tue Apr  8 19:19:58 2014(r264268)
+++ head/sys/conf/files.i386Tue Apr  8 20:10:22 2014(r264269)
@@ -522,6 +522,7 @@ isa/syscons_isa.c   optional sc
 isa/vga_isa.c  optional vga
 kern/kern_clocksource.cstandard
 kern/imgact_aout.c optional compat_aout
+kern/imgact_binmisc.c  optional imagact_binmisc
 kern/imgact_gzip.c optional gzip
 libkern/divdi3.c   standard
 libkern/flsll.cstandard

Added: head/sys/kern/imgact_binmisc.c
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/sys/kern/imgact_binmisc.c  Tue Apr  8 20:10:22 2014
(r264269)
@@ -0,0 +1,766 @@
+/*-
+ * Copyright (c) 2013, Stacey D. Son
+ * 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.
+ */
+
+#include 
+__FBSDID("$FreeBSD$");
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+/**
+ * Miscellaneous binary interpreter image activator.
+ *
+ * If the given target executable's header matches 'xbe_magic' field in the
+ * 'interpreter_list' then it will use the user-level interpreter specified in
+ * the 'xbe_interpreter' field to execute the binary. The 'xbe_magic' field may
+ * be adjusted to a given offset using the value in the 'xbe_moffset' field
+ * and bits of the header may be masked using the 'xbe_mask' field.  The
+ * 'in

svn commit: r264270 - head/sys/conf

2014-04-08 Thread Warner Losh
Author: imp
Date: Tue Apr  8 20:10:57 2014
New Revision: 264270
URL: http://svnweb.freebsd.org/changeset/base/264270

Log:
  Put proper ${} around variable expansion.  This fixes the build on 9.2
  with fmake (which complained). Not sure why bmake didn't complain though...

Modified:
  head/sys/conf/Makefile.arm

Modified: head/sys/conf/Makefile.arm
==
--- head/sys/conf/Makefile.arm  Tue Apr  8 20:10:22 2014(r264269)
+++ head/sys/conf/Makefile.arm  Tue Apr  8 20:10:57 2014(r264270)
@@ -44,10 +44,10 @@ CFLAGS += -mno-thumb-interwork
 .endif
 
 .if empty(DDB_ENABLED)
-.if MK_ARM_EABI == "no" && ${COMPILER_TYPE} == "gcc"
+.if ${MK_ARM_EABI} == "no" && ${COMPILER_TYPE} == "gcc"
 CFLAGS += -mno-apcs-frame
 .endif
-.elif MK_ARM_EABI != "no"
+.elif ${MK_ARM_EABI} != "no"
 CFLAGS += -funwind-tables
 .if ${COMPILER_TYPE} == "clang"
 # clang requires us to tell it to emit assembly with unwind information
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r264269 - in head: sys/conf sys/kern sys/modules sys/modules/imgact_binmisc sys/sys usr.sbin usr.sbin/binmiscctl

2014-04-08 Thread John Baldwin
On Tuesday, April 08, 2014 4:10:22 pm Sean Bruno wrote:
> Author: sbruno
> Date: Tue Apr  8 20:10:22 2014
> New Revision: 264269
> URL: http://svnweb.freebsd.org/changeset/base/264269
> 
> Log:
>   Add Stacey Son's binary activation patches that allow remapping of
>   execution to a emumation program via parsing of ELF header information.
>   
>   With this kernel module and userland tool, poudriere is able to build
>   ports packages via the QEMU userland tools (or another emulator program)
>   in a different architecture chroot, e.g. TARGET=mips TARGET_ARCH=mips
>   
>   I'm not connecting this to GENERIC for obvious reasons, but this should
>   allow the kernel module to be built by default and enable the building
>   of the userland tool (which automatically loads the kernel module).
>   
>   Submitted by:   sson@
>   Reviewed by:jhb@
> 
> Added:
>   head/sys/kern/imgact_binmisc.c   (contents, props changed)
>   head/sys/modules/imgact_binmisc/
>   head/sys/modules/imgact_binmisc/Makefile   (contents, props changed)
>   head/sys/sys/imgact_binmisc.h   (contents, props changed)
>   head/usr.sbin/binmiscctl/
>   head/usr.sbin/binmiscctl/Makefile   (contents, props changed)
>   head/usr.sbin/binmiscctl/binmiscctl.8   (contents, props changed)
>   head/usr.sbin/binmiscctl/binmiscctl.c   (contents, props changed)
> Modified:
>   head/sys/conf/files.amd64
>   head/sys/conf/files.i386
>   head/sys/modules/Makefile
>   head/usr.sbin/Makefile

Maybe put it in sys/conf/files instead of only amd64|i386?  You enabled
the module build for all architectures.  Please also add it to sys/conf/NOTES.

-- 
John Baldwin
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r264274 - in head/sys/cam: ctl scsi

2014-04-08 Thread Alexander Motin
Author: mav
Date: Tue Apr  8 20:50:48 2014
New Revision: 264274
URL: http://svnweb.freebsd.org/changeset/base/264274

Log:
  Add support for SCSI UNMAP commands to CTL.
  
  This patch adds support for three new SCSI commands: UNMAP, WRITE SAME(10)
  and WRITE SAME(16).  WRITE SAME commands support both normal write mode
  and UNMAP flag.  To properly report UNMAP capabilities this patch also adds
  support for reporting two new VPD pages: Block limits and Logical Block
  Provisioning.
  
  UNMAP support can be enabled per-LUN by adding "-o unmap=on" to `ctladm
  create` command line or "option unmap on" to lun sections of /etc/ctl.conf.
  
  At this moment UNMAP supported for ramdisks and device-backed block LUNs.
  It was tested to work great with ZFS ZVOLs.  For file-backed LUNs UNMAP
  support is unfortunately missing due to absence of respective VFS KPI.
  
  Reviewed by:  ken
  MFC after:1 month
  Sponsored by: iXsystems, Inc

Modified:
  head/sys/cam/ctl/ctl.c
  head/sys/cam/ctl/ctl_backend.h
  head/sys/cam/ctl/ctl_backend_block.c
  head/sys/cam/ctl/ctl_backend_ramdisk.c
  head/sys/cam/ctl/ctl_cmd_table.c
  head/sys/cam/ctl/ctl_io.h
  head/sys/cam/ctl/ctl_private.h
  head/sys/cam/scsi/scsi_all.h

Modified: head/sys/cam/ctl/ctl.c
==
--- head/sys/cam/ctl/ctl.c  Tue Apr  8 20:40:54 2014(r264273)
+++ head/sys/cam/ctl/ctl.c  Tue Apr  8 20:50:48 2014(r264274)
@@ -331,9 +331,10 @@ SYSCTL_INT(_kern_cam_ctl, OID_AUTO, verb
 &verbose, 0, "Show SCSI errors returned to initiator");
 
 /*
- * Serial number (0x80), device id (0x83), and supported pages (0x00)
+ * Serial number (0x80), device id (0x83), supported pages (0x00),
+ * Block limits (0xB0) and Logical Block Provisioning (0xB2)
  */
-#define SCSI_EVPD_NUM_SUPPORTED_PAGES  3
+#define SCSI_EVPD_NUM_SUPPORTED_PAGES  5
 
 static void ctl_isc_event_handler(ctl_ha_channel chanel, ctl_ha_event event,
  int param);
@@ -391,6 +392,9 @@ static void ctl_hndl_per_res_out_on_othe
 static int ctl_inquiry_evpd_supported(struct ctl_scsiio *ctsio, int alloc_len);
 static int ctl_inquiry_evpd_serial(struct ctl_scsiio *ctsio, int alloc_len);
 static int ctl_inquiry_evpd_devid(struct ctl_scsiio *ctsio, int alloc_len);
+static int ctl_inquiry_evpd_block_limits(struct ctl_scsiio *ctsio,
+int alloc_len);
+static int ctl_inquiry_evpd_lbp(struct ctl_scsiio *ctsio, int alloc_len);
 static int ctl_inquiry_evpd(struct ctl_scsiio *ctsio);
 static int ctl_inquiry_std(struct ctl_scsiio *ctsio);
 static int ctl_get_lba_len(union ctl_io *io, uint64_t *lba, uint32_t *len);
@@ -5787,6 +5791,195 @@ ctl_write_buffer(struct ctl_scsiio *ctsi
return (CTL_RETVAL_COMPLETE);
 }
 
+int
+ctl_write_same(struct ctl_scsiio *ctsio)
+{
+   struct ctl_lun *lun;
+   struct ctl_lba_len_flags lbalen;
+   uint64_t lba;
+   uint32_t num_blocks;
+   int len, retval;
+   uint8_t byte2;
+
+   retval = CTL_RETVAL_COMPLETE;
+
+   CTL_DEBUG_PRINT(("ctl_write_same\n"));
+
+   lun = (struct ctl_lun *)ctsio->io_hdr.ctl_private[CTL_PRIV_LUN].ptr;
+
+   switch (ctsio->cdb[0]) {
+   case WRITE_SAME_10: {
+   struct scsi_write_same_10 *cdb;
+
+   cdb = (struct scsi_write_same_10 *)ctsio->cdb;
+
+   lba = scsi_4btoul(cdb->addr);
+   num_blocks = scsi_2btoul(cdb->length);
+   byte2 = cdb->byte2;
+   break;
+   }
+   case WRITE_SAME_16: {
+   struct scsi_write_same_16 *cdb;
+
+   cdb = (struct scsi_write_same_16 *)ctsio->cdb;
+
+   lba = scsi_8btou64(cdb->addr);
+   num_blocks = scsi_4btoul(cdb->length);
+   byte2 = cdb->byte2;
+   break;
+   }
+   default:
+   /*
+* We got a command we don't support.  This shouldn't
+* happen, commands should be filtered out above us.
+*/
+   ctl_set_invalid_opcode(ctsio);
+   ctl_done((union ctl_io *)ctsio);
+
+   return (CTL_RETVAL_COMPLETE);
+   break; /* NOTREACHED */
+   }
+
+   /*
+* The first check is to make sure we're in bounds, the second
+* check is to catch wrap-around problems.  If the lba + num blocks
+* is less than the lba, then we've wrapped around and the block
+* range is invalid anyway.
+*/
+   if (((lba + num_blocks) > (lun->be_lun->maxlba + 1))
+|| ((lba + num_blocks) < lba)) {
+   ctl_set_lba_out_of_range(ctsio);
+   ctl_done((union ctl_io *)ctsio);
+   return (CTL_RETVAL_COMPLETE);
+   }
+
+   /* Zero number of blocks means "to the last logical block" */
+   if (num_blocks == 0) {
+   if ((lun->be_lun->maxlba + 1) - lba > UINT32_MAX) {
+  

svn commit: r264275 - head/usr.sbin/bhyvectl

2014-04-08 Thread John Baldwin
Author: jhb
Date: Tue Apr  8 20:54:13 2014
New Revision: 264275
URL: http://svnweb.freebsd.org/changeset/base/264275

Log:
  Explicitly initialize 'vmname' to NULL.
  
  Reviewed by:  grehan

Modified:
  head/usr.sbin/bhyvectl/bhyvectl.c

Modified: head/usr.sbin/bhyvectl/bhyvectl.c
==
--- head/usr.sbin/bhyvectl/bhyvectl.c   Tue Apr  8 20:50:48 2014
(r264274)
+++ head/usr.sbin/bhyvectl/bhyvectl.c   Tue Apr  8 20:54:13 2014
(r264275)
@@ -569,6 +569,7 @@ main(int argc, char *argv[])
};
 
vcpu = 0;
+   vmname = NULL;
assert_lapic_lvt = -1;
progname = basename(argv[0]);
 
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r264265 - in head: crypto/openssl/crypto/bn crypto/openssl/crypto/ec crypto/openssl/ssl sys/fs/nfsserver

2014-04-08 Thread Bryan Drewery

On 2014-04-08 13:27, Xin LI wrote:

Author: delphij
Date: Tue Apr  8 18:27:32 2014
New Revision: 264265
URL: http://svnweb.freebsd.org/changeset/base/264265

Log:
  Fix NFS deadlock vulnerability. [SA-14:05]

  Fix "Heartbleed" vulnerability and ECDSA Cache Side-channel
  Attack in OpenSSL. [SA-14:06]

Modified:
  head/crypto/openssl/crypto/bn/bn.h
  head/crypto/openssl/crypto/bn/bn_lib.c
  head/crypto/openssl/crypto/ec/ec2_mult.c
  head/crypto/openssl/ssl/d1_both.c
  head/crypto/openssl/ssl/t1_lib.c
  head/sys/fs/nfsserver/nfs_nfsdserv.c



__FreeBSD_version is needed too.

Also, that this was a partial release of 1.0.1g is confusing a LOT of
users. They think they are still vulnerable. They expect to see 1.0.1g
in 'openssl version'. We could have our own version string in 'openssl
version' to remedy this.

--
Regards,
Bryan Drewery
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r264276 - head/usr.sbin/binmiscctl

2014-04-08 Thread Christian Brueffer
Author: brueffer
Date: Tue Apr  8 20:59:02 2014
New Revision: 264276
URL: http://svnweb.freebsd.org/changeset/base/264276

Log:
  Quick mdoc/whitespace/spelling pass, this needs some more work.

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

Modified: head/usr.sbin/binmiscctl/binmiscctl.8
==
--- head/usr.sbin/binmiscctl/binmiscctl.8   Tue Apr  8 20:54:13 2014
(r264275)
+++ head/usr.sbin/binmiscctl/binmiscctl.8   Tue Apr  8 20:59:02 2014
(r264276)
@@ -27,7 +27,7 @@
 .\"
 .\" Support for miscellaneous binary image activators
 .\"
-.Dd May 14, 2013 
+.Dd April 8, 2014
 .Dt 8 
 .Os
 .Sh NAME
@@ -37,14 +37,14 @@
 .Nm
 .Cm add
 .Ar name
-.Cm --interpreter 
+.Cm --interpreter
 .Ar path
-.Cm --magic 
+.Cm --magic
 .Ar magic
 .Cm --size
 .Ar size
-.Op --mask Ar mask 
-.Op --offset Ar offset 
+.Op --mask Ar mask
+.Op --offset Ar offset
 .Op --set-enabled
 .Nm
 .Cm remove
@@ -65,8 +65,10 @@ The
 .Nm
 utility
 is the management utility for configuring miscellaneous binaries image
-activators in the kernel.  It allows the adding, deleting, disabling,
-enabling, and looking up interpreters. Also, all the interpreters can
+activators in the kernel.
+It allows the adding, deleting, disabling,
+enabling, and looking up interpreters.
+Also, all the interpreters can
 be listed as well.
 .Pp
 The first argument on the command line indicates the operation to be
@@ -76,7 +78,7 @@ Operation must be one of the following:
 .It Xo
 .Cm add
 .Ar name
-.Cm --interpreter 
+.Cm --interpreter
 .Ar path
 .Cm --magic
 .Ar magic
@@ -86,10 +88,11 @@ Operation must be one of the following:
 .Op --offset Ar offset
 .Op --set-enabled
 .Xc
-Add a new activator entry in the kernel.  You must specify an
+Add a new activator entry in the kernel.
+You must specify an
 unique
 .Ar name,
-interpreter path and its arguments 
+interpreter path and its arguments
 .Ar path,
 header
 .Ar magic
@@ -103,25 +106,26 @@ in bytes.
 Optionally you may specify a
 .Ar mask
 to do a bitwise AND with the header bytes.
-
 This effectively allows you to ignore fields in the binary header that
-do not uniquely indentfy binary file's type.
+do not uniquely indentify binary file's type.
 .Pp
 An
 .Ar offset
 may be specified for the magic bytes using the
 .Ar --offset
-argument.  By default the
+argument.
+By default the
 .Ar offset
 is zero.
 .Pp
 To set the activator entry enabled the
 .Ar --set-enabled
-option is used.  The activator default state is disabled.
+option is used.
+The activator default state is disabled.
 .Pp
 The interpreter
 .Ar path
-may also arguments for the interpreter including 
+may also arguments for the interpreter including
 .Ar #a
 which gets replaced by the old argv0 value in the interpreter string.
 .It Cm remove Ar name
@@ -156,31 +160,31 @@ Set the state of the 
 .Ar llvmbc
 image activator to disabled.
 .Pp
-.Dl binmiscctl enable llvmbc 
+.Dl binmiscctl enable llvmbc
 .Pp
 Set the state of the 
 .Ar llvmbc
 image activator to enabled.
 .Pp
-.Dl binmiscctl remove llvmbc 
+.Dl binmiscctl remove llvmbc
 .Pp
 Delete the
 .Ar llvmbc
 image activator.
 .Pp
-.Dl binmiscctl lookup llvmbc 
+.Dl binmiscctl lookup llvmbc
 .Pp
 Lookup and list the record for the
 .Ar llvmbc
 image activator.
 .Sh SEE ALSO
+.Xr lli 1 ,
 .Xr execve 2
-.Xr lli 1
 .Sh HISTORY
 The
 .Cm binmiscctl
 command was added in
-.Fx 10.0 .
+.Fx 10.1 .
 It was developed to support the imgact_binmisc kernel module.
 .Sh AUTHORS
 Stacey D Son
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r264277 - head/usr.sbin/bhyve

2014-04-08 Thread John Baldwin
Author: jhb
Date: Tue Apr  8 21:02:03 2014
New Revision: 264277
URL: http://svnweb.freebsd.org/changeset/base/264277

Log:
  Handle single-byte reads from the bvmcons port (0x220) by returning
  0xff.  Some guests may attempt to read from this port to identify
  psuedo-PNP ISA devices.  (The ie(4) driver in FreeBSD/i386 is one
  example.)
  
  Reviewed by:  grehan

Modified:
  head/usr.sbin/bhyve/consport.c

Modified: head/usr.sbin/bhyve/consport.c
==
--- head/usr.sbin/bhyve/consport.c  Tue Apr  8 20:59:02 2014
(r264276)
+++ head/usr.sbin/bhyve/consport.c  Tue Apr  8 21:02:03 2014
(r264277)
@@ -110,6 +110,15 @@ console_handler(struct vmctx *ctx, int v
return (0);
}
 
+   /*
+* Guests might probe this port to look for old ISA devices
+* using single-byte reads.  Return 0xff for those.
+*/
+   if (bytes == 1 && in) {
+   *eax = 0xff;
+   return (0);
+   }
+
if (bytes != 4)
return (-1);
 
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r264279 - in head/sys/cam: ctl scsi

2014-04-08 Thread Alexander Motin
Author: mav
Date: Tue Apr  8 21:30:10 2014
New Revision: 264279
URL: http://svnweb.freebsd.org/changeset/base/264279

Log:
  Oops! Few quick fixes for r264274.

Modified:
  head/sys/cam/ctl/ctl_backend_ramdisk.c
  head/sys/cam/scsi/scsi_all.h

Modified: head/sys/cam/ctl/ctl_backend_ramdisk.c
==
--- head/sys/cam/ctl/ctl_backend_ramdisk.c  Tue Apr  8 21:06:58 2014
(r264278)
+++ head/sys/cam/ctl/ctl_backend_ramdisk.c  Tue Apr  8 21:30:10 2014
(r264279)
@@ -546,6 +546,7 @@ ctl_backend_ramdisk_create(struct ctl_be
 
be_lun->softc = softc;
 
+   unmap = 0;
for (i = 0; i < req->num_be_args; i++) {
if (strcmp(req->kern_be_args[i].kname, "unmap") == 0 &&
strcmp(req->kern_be_args[i].kvalue, "on") == 0) {
@@ -565,7 +566,7 @@ ctl_backend_ramdisk_create(struct ctl_be
be_lun->flags = CTL_BE_RAMDISK_LUN_UNCONFIGURED;
be_lun->ctl_be_lun.flags = CTL_LUN_FLAG_PRIMARY;
if (unmap)
-   be_lun->ctl_be_lun.flags = CTL_LUN_FLAG_UNMAP;
+   be_lun->ctl_be_lun.flags |= CTL_LUN_FLAG_UNMAP;
be_lun->ctl_be_lun.be_lun = be_lun;
 
if (params->flags & CTL_LUN_FLAG_ID_REQ) {

Modified: head/sys/cam/scsi/scsi_all.h
==
--- head/sys/cam/scsi/scsi_all.hTue Apr  8 21:06:58 2014
(r264278)
+++ head/sys/cam/scsi/scsi_all.hTue Apr  8 21:30:10 2014
(r264279)
@@ -858,7 +858,7 @@ struct scsi_unmap_header
 {
uint8_t length[2];
uint8_t desc_length[2];
-   uint8_t reserved[8];
+   uint8_t reserved[4];
 };
 
 struct scsi_unmap_desc
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r264280 - in head/sys: conf modules

2014-04-08 Thread Sean Bruno
Author: sbruno
Date: Tue Apr  8 21:39:51 2014
New Revision: 264280
URL: http://svnweb.freebsd.org/changeset/base/264280

Log:
  Actually, since this is what I thought I was doing, only allow the
  binmisc code to be build on amd64/i386 for the kernel.
  
  Update NOTES with some indication of what this code is used for.
  
  Pointed out by jhb@ ... thanks!
  
  Submitted by: jhb@

Modified:
  head/sys/conf/NOTES
  head/sys/conf/options.amd64
  head/sys/conf/options.i386
  head/sys/modules/Makefile

Modified: head/sys/conf/NOTES
==
--- head/sys/conf/NOTES Tue Apr  8 21:30:10 2014(r264279)
+++ head/sys/conf/NOTES Tue Apr  8 21:39:51 2014(r264280)
@@ -2963,3 +2963,6 @@ options   RANDOM_YARROW   # Yarrow RNG
 ##options  RANDOM_FORTUNA  # Fortuna RNG - not yet implemented
 optionsRANDOM_DEBUG# Debugging messages
 optionsRANDOM_RWFILE   # Read and write entropy cache
+
+# Module to enable execution of application via emulators like QEMU
+options IMAGACT_BINMISC

Modified: head/sys/conf/options.amd64
==
--- head/sys/conf/options.amd64 Tue Apr  8 21:30:10 2014(r264279)
+++ head/sys/conf/options.amd64 Tue Apr  8 21:39:51 2014(r264280)
@@ -21,6 +21,7 @@ COMPAT_FREEBSD32  opt_compat.h
 COMPAT_LINUX32 opt_compat.h
 #COMPAT_SVR4   opt_dontuse.h
 #DEBUG_SVR4opt_svr4.h
+IMAGACT_BINMISCopt_dontuse.h
 LINPROCFS  opt_dontuse.h
 LINSYSFS   opt_dontuse.h
 NDISAPIopt_dontuse.h

Modified: head/sys/conf/options.i386
==
--- head/sys/conf/options.i386  Tue Apr  8 21:30:10 2014(r264279)
+++ head/sys/conf/options.i386  Tue Apr  8 21:39:51 2014(r264280)
@@ -26,6 +26,7 @@ IBCS2 opt_dontuse.h
 COMPAT_LINUX   opt_dontuse.h
 COMPAT_SVR4opt_dontuse.h
 DEBUG_SVR4 opt_svr4.h
+IMAGACT_BINMISCopt_binmisc.h
 LINPROCFS  opt_dontuse.h
 LINSYSFS   opt_dontuse.h
 NDISAPIopt_dontuse.h

Modified: head/sys/modules/Makefile
==
--- head/sys/modules/Makefile   Tue Apr  8 21:30:10 2014(r264279)
+++ head/sys/modules/Makefile   Tue Apr  8 21:39:51 2014(r264280)
@@ -148,7 +148,7 @@ SUBDIR= \
if_vlan \
${_igb} \
${_iir} \
-   imgact_binmisc \
+   ${_imgact_binmisc} \
${_io} \
 ${_ipoib} \
${_ipdivert} \
@@ -372,6 +372,7 @@ SUBDIR= \
 
 .if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
 _filemon=  filemon
+_imagact_binmisc=  imgact_binmisc
 _vmware=   vmware
 .endif
 
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r264281 - head/tools/tools/nanobsd

2014-04-08 Thread Warner Losh
Author: imp
Date: Tue Apr  8 21:58:04 2014
New Revision: 264281
URL: http://svnweb.freebsd.org/changeset/base/264281

Log:
  Also ignore files from Murcirial (.hg) and git (.git) when copying
  file trees.

Modified:
  head/tools/tools/nanobsd/nanobsd.sh

Modified: head/tools/tools/nanobsd/nanobsd.sh
==
--- head/tools/tools/nanobsd/nanobsd.sh Tue Apr  8 21:39:51 2014
(r264280)
+++ head/tools/tools/nanobsd/nanobsd.sh Tue Apr  8 21:58:04 2014
(r264281)
@@ -436,7 +436,7 @@ populate_slice ( ) (
if [ -n "${dir}" -a -d "${dir}" ]; then
echo "Populating ${lbl} from ${dir}"
cd ${dir}
-   find . -print | grep -Ev '/(CVS|\.svn)' | cpio -dumpv ${mnt}
+   find . -print | grep -Ev '/(CVS|\.svn|\.hg|\.git)' | cpio 
-dumpv ${mnt}
fi
df -i ${mnt}
umount ${mnt}
@@ -705,7 +705,7 @@ cust_allow_ssh_root () (
 
 cust_install_files () (
cd ${NANO_TOOLS}/Files
-   find . -print | grep -Ev '/(CVS|\.svn)' | cpio -Ldumpv ${NANO_WORLDDIR}
+   find . -print | grep -Ev '/(CVS|\.svn|\.hg|\.git)' | cpio -Ldumpv 
${NANO_WORLDDIR}
 )
 
 ###
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r264269 - in head: sys/conf sys/kern sys/modules sys/modules/imgact_binmisc sys/sys usr.sbin usr.sbin/binmiscctl

2014-04-08 Thread Sean Bruno
> > 
> > Added:
> >   head/sys/kern/imgact_binmisc.c   (contents, props changed)
> >   head/sys/modules/imgact_binmisc/
> >   head/sys/modules/imgact_binmisc/Makefile   (contents, props changed)
> >   head/sys/sys/imgact_binmisc.h   (contents, props changed)
> >   head/usr.sbin/binmiscctl/
> >   head/usr.sbin/binmiscctl/Makefile   (contents, props changed)
> >   head/usr.sbin/binmiscctl/binmiscctl.8   (contents, props changed)
> >   head/usr.sbin/binmiscctl/binmiscctl.c   (contents, props changed)
> > Modified:
> >   head/sys/conf/files.amd64
> >   head/sys/conf/files.i386
> >   head/sys/modules/Makefile
> >   head/usr.sbin/Makefile
> 
> Maybe put it in sys/conf/files instead of only amd64|i386?  You enabled
> the module build for all architectures.  Please also add it to sys/conf/NOTES.
> 


I've adjusted things to only build on amd64/i386.  Thank you for
pointing out my misconfiguration.

I've updated NOTES as well at svn r264280 to reflext this and updated
options for amd64/i386.

I haven't tested on non-x86 h/w and have no idea if it works or not. I
didn't feel comfortable building this driver in the non-x86 case.  If
there is a use case/tester for the other arch's, I'll be more than happy
to change this.

sean


signature.asc
Description: This is a digitally signed message part


svn commit: r264282 - in head/sys: kern sys

2014-04-08 Thread Sean Bruno
Author: sbruno
Date: Tue Apr  8 22:12:01 2014
New Revision: 264282
URL: http://svnweb.freebsd.org/changeset/base/264282

Log:
  sys/kern/imgact_binmisc.c -- free the right pointer mask vs magic
  
  sys/sys/imagact_binmisc.h -- cleanup white space tabs vs spaces
-- remove stray " in comment
  
  Submitted by: jmallett@

Modified:
  head/sys/kern/imgact_binmisc.c
  head/sys/sys/imgact_binmisc.h

Modified: head/sys/kern/imgact_binmisc.c
==
--- head/sys/kern/imgact_binmisc.c  Tue Apr  8 21:58:04 2014
(r264281)
+++ head/sys/kern/imgact_binmisc.c  Tue Apr  8 22:12:01 2014
(r264282)
@@ -182,7 +182,7 @@ imgact_binmisc_destroy_entry(imgact_binm
 {
if (!ibe)
return;
-   if (ibe->ibe_mask)
+   if (ibe->ibe_magic)
free(ibe->ibe_magic, M_BINMISC);
if (ibe->ibe_mask)
free(ibe->ibe_mask, M_BINMISC);

Modified: head/sys/sys/imgact_binmisc.h
==
--- head/sys/sys/imgact_binmisc.h   Tue Apr  8 21:58:04 2014
(r264281)
+++ head/sys/sys/imgact_binmisc.h   Tue Apr  8 22:12:01 2014
(r264282)
@@ -40,7 +40,7 @@
 #defineIBE_VERSION 1   /* struct ximgact_binmisc_entry 
version. */
 #defineIBE_NAME_MAX32  /* Max size for entry name. */
 #defineIBE_MAGIC_MAX   256 /* Max size for header magic and mask. 
*/
-#define IBE_ARG_LEN_MAX256 /* Max space for optional interpreter 
command-
+#defineIBE_ARG_LEN_MAX 256 /* Max space for optional interpreter 
command-
   line argruments seperated by white space */
 #defineIBE_INTERP_LEN_MAX  (MAXPATHLEN + IBE_ARG_LEN_MAX)
 #defineIBE_MAX_ENTRIES 64  /* Max number of interpreter entries. */
@@ -70,7 +70,7 @@ typedef struct ximgact_binmisc_entry {
 /*
  * sysctl() command names.
  */
-#define IBE_SYSCTL_NAME"kern.binmisc"
+#defineIBE_SYSCTL_NAME "kern.binmisc"
 
 #defineIBE_SYSCTL_NAME_ADD IBE_SYSCTL_NAME ".add"
 #defineIBE_SYSCTL_NAME_REMOVE  IBE_SYSCTL_NAME ".remove"
@@ -82,7 +82,7 @@ typedef struct ximgact_binmisc_entry {
 #defineKMOD_NAME   "imgact_binmisc"
 
 /*
- * Examples of manipulating he interpreter table using sysctlbyname(3):
+ * Examples of manipulating the interpreter table using sysctlbyname(3):
  *
  * #include 
  *
@@ -127,7 +127,7 @@ typedef struct ximgact_binmisc_entry {
  * xbe.xbe_version = IBE_VERSION;
  * strlcpy(xbe.xbe_name, "llvm_bc", IBE_NAME_MAX);
  * error = sysctlbyname(IBE_SYSCTL_NAME_DISABLE, NULL, NULL, &xbe, 
sizeof(xbe));
- * // OR sysctlbyname(IBE_SYSCTL_NAME_ENABLE", NULL, NULL, &xbe, sizeof(xbe));
+ * // OR sysctlbyname(IBE_SYSCTL_NAME_ENABLE, NULL, NULL, &xbe, sizeof(xbe));
  * // OR sysctlbyname(IBE_SYSCTL_NAME_REMOVE, NULL, NULL, &xbe, sizeof(xbe));
  *
  * // Lookup image activator  "llvm_bc"
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r264283 - head/sys/cam/ctl

2014-04-08 Thread Alexander Motin
Author: mav
Date: Tue Apr  8 22:36:39 2014
New Revision: 264283
URL: http://svnweb.freebsd.org/changeset/base/264283

Log:
  Another fix for r264274.  Last moment cosmetic changes are evil!

Modified:
  head/sys/cam/ctl/ctl_backend_block.c

Modified: head/sys/cam/ctl/ctl_backend_block.c
==
--- head/sys/cam/ctl/ctl_backend_block.cTue Apr  8 22:12:01 2014
(r264282)
+++ head/sys/cam/ctl/ctl_backend_block.cTue Apr  8 22:36:39 2014
(r264283)
@@ -823,7 +823,7 @@ ctl_be_block_unmap_dev(struct ctl_be_blo
beio->io_len += len;
ctl_be_block_unmap_dev_range(be_lun, beio,
scsi_8btou64(buf->lba) * be_lun->blocksize, len,
-   (end - buf < 32) ? TRUE : FALSE);
+   (end - buf < 2) ? TRUE : FALSE);
}
} else
ctl_be_block_unmap_dev_range(be_lun, beio,
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r264289 - head/sys/sys stable/10/sys/sys stable/9/sys/sys

2014-04-08 Thread Peter Wemm
Author: peter
Date: Wed Apr  9 01:26:58 2014
New Revision: 264289
URL: http://svnweb.freebsd.org/changeset/base/264289

Log:
  Bump osreldate for tracking SA-14:06

Modified:
  head/sys/sys/param.h

Changes in other areas also in this revision:
Modified:
  stable/10/sys/sys/param.h
  stable/9/sys/sys/param.h

Modified: head/sys/sys/param.h
==
--- head/sys/sys/param.hWed Apr  9 00:46:12 2014(r264288)
+++ head/sys/sys/param.hWed Apr  9 01:26:58 2014(r264289)
@@ -58,7 +58,7 @@
  * in the range 5 to 9.
  */
 #undef __FreeBSD_version
-#define __FreeBSD_version 1100018  /* Master, propagated to newvers */
+#define __FreeBSD_version 1100019  /* Master, propagated to newvers */
 
 /*
  * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD,
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r264291 - head/sys/modules

2014-04-08 Thread Sean Bruno
Author: sbruno
Date: Wed Apr  9 03:46:04 2014
New Revision: 264291
URL: http://svnweb.freebsd.org/changeset/base/264291

Log:
  Spell imgact_binmisc correctly

Modified:
  head/sys/modules/Makefile

Modified: head/sys/modules/Makefile
==
--- head/sys/modules/Makefile   Wed Apr  9 03:39:57 2014(r264290)
+++ head/sys/modules/Makefile   Wed Apr  9 03:46:04 2014(r264291)
@@ -372,7 +372,7 @@ SUBDIR= \
 
 .if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
 _filemon=  filemon
-_imagact_binmisc=  imgact_binmisc
+_imgact_binmisc=   imgact_binmisc
 _vmware=   vmware
 .endif
 
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r264292 - head/sys/dev/ath

2014-04-08 Thread Adrian Chadd
Author: adrian
Date: Wed Apr  9 03:51:05 2014
New Revision: 264292
URL: http://svnweb.freebsd.org/changeset/base/264292

Log:
  Add a function to check whether the given register can be accessed whilst
  the chip is asleep.
  
  It's AR5416 and later specific; I'll add a HAL method to generalise it
  later.
  
  Tested:
  
  * AR5416, STA mode

Modified:
  head/sys/dev/ath/ah_osdep.c

Modified: head/sys/dev/ath/ah_osdep.c
==
--- head/sys/dev/ath/ah_osdep.c Wed Apr  9 03:46:04 2014(r264291)
+++ head/sys/dev/ath/ah_osdep.c Wed Apr  9 03:51:05 2014(r264292)
@@ -138,6 +138,24 @@ ath_hal_ether_sprintf(const u_int8_t *ma
 
 #ifdef AH_DEBUG
 
+/*
+ * XXX This is highly relevant only for the AR5416 and later
+ * PCI/PCIe NICs.  It'll need adjustment for other hardware
+ * variations.
+ */
+static int
+ath_hal_reg_whilst_asleep(struct ath_hal *ah, uint32_t reg)
+{
+
+   if (reg >= 0x4000 && reg < 0x5000)
+   return (1);
+   if (reg >= 0x6000 && reg < 0x7000)
+   return (1);
+   if (reg >= 0x7000 && reg < 0x8000)
+   return (1);
+   return (0);
+}
+
 void
 DO_HALDEBUG(struct ath_hal *ah, u_int mask, const char* fmt, ...)
 {
@@ -254,7 +272,8 @@ ath_hal_reg_write(struct ath_hal *ah, u_
bus_space_handle_t h = ah->ah_sh;
 
/* Debug - complain if we haven't fully waken things up */
-   if (ah->ah_powerMode != HAL_PM_AWAKE) {
+   if (! ath_hal_reg_whilst_asleep(ah, reg) &&
+   ah->ah_powerMode != HAL_PM_AWAKE) {
ath_hal_printf(ah, "%s: reg=0x%08x, val=0x%08x, pm=%d\n",
__func__, reg, val, ah->ah_powerMode);
}
@@ -285,7 +304,8 @@ ath_hal_reg_read(struct ath_hal *ah, u_i
u_int32_t val;
 
/* Debug - complain if we haven't fully waken things up */
-   if (ah->ah_powerMode != HAL_PM_AWAKE) {
+   if (! ath_hal_reg_whilst_asleep(ah, reg) &&
+   ah->ah_powerMode != HAL_PM_AWAKE) {
ath_hal_printf(ah, "%s: reg=0x%08x, pm=%d\n",
__func__, reg, ah->ah_powerMode);
}
@@ -343,7 +363,8 @@ ath_hal_reg_write(struct ath_hal *ah, u_
bus_space_handle_t h = ah->ah_sh;
 
/* Debug - complain if we haven't fully waken things up */
-   if (ah->ah_powerMode != HAL_PM_AWAKE) {
+   if (! ath_hal_reg_whilst_asleep(ah, reg) &&
+   ah->ah_powerMode != HAL_PM_AWAKE) {
ath_hal_printf(ah, "%s: reg=0x%08x, val=0x%08x, pm=%d\n",
__func__, reg, val, ah->ah_powerMode);
}
@@ -363,7 +384,8 @@ ath_hal_reg_read(struct ath_hal *ah, u_i
u_int32_t val;
 
/* Debug - complain if we haven't fully waken things up */
-   if (ah->ah_powerMode != HAL_PM_AWAKE) {
+   if (! ath_hal_reg_whilst_asleep(ah, reg) &&
+   ah->ah_powerMode != HAL_PM_AWAKE) {
ath_hal_printf(ah, "%s: reg=0x%08x, pm=%d\n",
__func__, reg, ah->ah_powerMode);
}
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r264293 - head/sys/dev/nfe

2014-04-08 Thread Pyun YongHyeon
Author: yongari
Date: Wed Apr  9 05:15:40 2014
New Revision: 264293
URL: http://svnweb.freebsd.org/changeset/base/264293

Log:
  Add workaround for MCP61 Ethernet controller found on MSI K9
  motherboard.  PHY hardware used for the controller responded at
  all possible addresses which in turn resulted in having 32 PHYs
  for the controller.  If driver detects "MSI K9N6PGM2-V2 (MS-7309)"
  motherboard, tell miibus(4) PHY is located at 0.
  
  Tested by:Chris H

Modified:
  head/sys/dev/nfe/if_nfe.c

Modified: head/sys/dev/nfe/if_nfe.c
==
--- head/sys/dev/nfe/if_nfe.c   Wed Apr  9 03:51:05 2014(r264292)
+++ head/sys/dev/nfe/if_nfe.c   Wed Apr  9 05:15:40 2014(r264293)
@@ -79,6 +79,7 @@ static int  nfe_suspend(device_t);
 static int  nfe_resume(device_t);
 static int nfe_shutdown(device_t);
 static int  nfe_can_use_msix(struct nfe_softc *);
+static int  nfe_detect_msik9(struct nfe_softc *);
 static void nfe_power(struct nfe_softc *);
 static int  nfe_miibus_readreg(device_t, int, int);
 static int  nfe_miibus_writereg(device_t, int, int, int);
@@ -334,13 +335,38 @@ nfe_alloc_msix(struct nfe_softc *sc, int
}
 }
 
+
+static int
+nfe_detect_msik9(struct nfe_softc *sc)
+{
+   static const char *maker = "MSI";
+   static const char *product = "K9N6PGM2-V2 (MS-7309)";
+   char *m, *p;
+   int found;
+
+   found = 0;
+   m = getenv("smbios.planar.maker");
+   p = getenv("smbios.planar.product");
+   if (m != NULL && p != NULL) {
+   if (strcmp(m, maker) == 0 && strcmp(p, product) == 0)
+   found = 1;
+   }
+   if (m != NULL)
+   freeenv(m);
+   if (p != NULL)
+   freeenv(p);
+
+   return (found);
+}
+
+
 static int
 nfe_attach(device_t dev)
 {
struct nfe_softc *sc;
struct ifnet *ifp;
bus_addr_t dma_addr_max;
-   int error = 0, i, msic, reg, rid;
+   int error = 0, i, msic, phyloc, reg, rid;
 
sc = device_get_softc(dev);
sc->nfe_dev = dev;
@@ -608,8 +634,16 @@ nfe_attach(device_t dev)
 #endif
 
/* Do MII setup */
+   phyloc = MII_PHY_ANY;
+   if (sc->nfe_devid == PCI_PRODUCT_NVIDIA_MCP61_LAN1 ||
+   sc->nfe_devid == PCI_PRODUCT_NVIDIA_MCP61_LAN2 ||
+   sc->nfe_devid == PCI_PRODUCT_NVIDIA_MCP61_LAN3 ||
+   sc->nfe_devid == PCI_PRODUCT_NVIDIA_MCP61_LAN4) {
+   if (nfe_detect_msik9(sc) != 0)
+   phyloc = 0;
+   }
error = mii_attach(dev, &sc->nfe_miibus, ifp, nfe_ifmedia_upd,
-   nfe_ifmedia_sts, BMSR_DEFCAPMASK, MII_PHY_ANY, MII_OFFSET_ANY,
+   nfe_ifmedia_sts, BMSR_DEFCAPMASK, phyloc, MII_OFFSET_ANY,
MIIF_DOPAUSE);
if (error != 0) {
device_printf(dev, "attaching PHYs failed\n");
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r264294 - head/sys/dev/usb/controller

2014-04-08 Thread Hans Petter Selasky
Author: hselasky
Date: Wed Apr  9 06:27:04 2014
New Revision: 264294
URL: http://svnweb.freebsd.org/changeset/base/264294

Log:
  Fix for infinite XHCI reset loops when the set address USB request fails.
  
  MFC after:2 days

Modified:
  head/sys/dev/usb/controller/xhci.c

Modified: head/sys/dev/usb/controller/xhci.c
==
--- head/sys/dev/usb/controller/xhci.c  Wed Apr  9 05:15:40 2014
(r264293)
+++ head/sys/dev/usb/controller/xhci.c  Wed Apr  9 06:27:04 2014
(r264294)
@@ -1218,8 +1218,20 @@ retry:
 */
if (timeout == 0 &&
xhci_reset_command_queue_locked(sc) == 0) {
-   timeout = 1;
-   goto retry;
+   temp = le32toh(trb->dwTrb3);
+
+   /*
+* Avoid infinite XHCI reset loops if the set
+* address command fails to respond due to a
+* non-enumerating device:
+*/
+   if (XHCI_TRB_3_TYPE_GET(temp) == 
XHCI_TRB_TYPE_ADDRESS_DEVICE &&
+   (temp & XHCI_TRB_3_BSR_BIT) == 0) {
+   DPRINTF("Set address timeout\n");
+   } else {
+   timeout = 1;
+   goto retry;
+   }
} else {
DPRINTF("Controller reset!\n");
usb_bus_reset_async_locked(&sc->sc_bus);
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"