svn commit: r283099 - head/sys/mips/conf

2015-05-19 Thread Adrian Chadd
Author: adrian
Date: Tue May 19 06:45:56 2015
New Revision: 283099
URL: https://svnweb.freebsd.org/changeset/base/283099

Log:
  Convert routerstation to use geom_uncompress.

Modified:
  head/sys/mips/conf/ROUTERSTATION

Modified: head/sys/mips/conf/ROUTERSTATION
==
--- head/sys/mips/conf/ROUTERSTATIONTue May 19 06:45:06 2015
(r283098)
+++ head/sys/mips/conf/ROUTERSTATIONTue May 19 06:45:56 2015
(r283099)
@@ -12,8 +12,8 @@ hints ROUTERSTATION.hints
 
 # GEOM modules
 device geom_redboot# to get access to the SPI flash partitions
-device geom_uzip   # compressed in-memory filesystem support
-optionsGEOM_UZIP
+device geom_uncompress # compressed in-memory filesystem support
+optionsGEOM_UNCOMPRESS
 
 # For DOS
 optionsMSDOSFS
@@ -25,4 +25,4 @@ deviceetherswitch
 device ukswitch
 
 # Boot path - redboot MFS
-optionsROOTDEVNAME=\ufs:redboot/rootfs.uzip\
+optionsROOTDEVNAME=\ufs:redboot/rootfs.uncompress\
___
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: r283098 - head/sys/mips/conf

2015-05-19 Thread Adrian Chadd
Author: adrian
Date: Tue May 19 06:45:06 2015
New Revision: 283098
URL: https://svnweb.freebsd.org/changeset/base/283098

Log:
  Migrate RSPRO to use the uncompress module, not uzip.
  
  (This is hand-in-hand with what I'm about to do with freebsd-wifi-build.)

Modified:
  head/sys/mips/conf/RSPRO

Modified: head/sys/mips/conf/RSPRO
==
--- head/sys/mips/conf/RSPROTue May 19 05:41:00 2015(r283097)
+++ head/sys/mips/conf/RSPROTue May 19 06:45:06 2015(r283098)
@@ -13,8 +13,8 @@ devicepcf2123_rtc
 
 # GEOM modules
 device geom_redboot# to get access to the SPI flash partitions
-device geom_uzip   # compressed in-memory filesystem support
-optionsGEOM_UZIP
+device geom_uncompress # compressed in-memory filesystem support
+optionsGEOM_UNCOMPRESS
 
 # For DOS
 optionsMSDOSFS
@@ -26,5 +26,5 @@ deviceetherswitch
 device arswitch
 
 # Boot off of flash
-optionsROOTDEVNAME=\ufs:redboot/rootfs.uzip\
+optionsROOTDEVNAME=\ufs:redboot/rootfs.uncompress\
 
___
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: r283102 - head/sys/netipsec

2015-05-19 Thread Andrey V. Elsukov
Author: ae
Date: Tue May 19 08:37:03 2015
New Revision: 283102
URL: https://svnweb.freebsd.org/changeset/base/283102

Log:
  Change SA's state before sending SADB_EXPIRE message. This state will
  be reported to keying daemon.
  
  MFC after:2 weeks

Modified:
  head/sys/netipsec/key.c

Modified: head/sys/netipsec/key.c
==
--- head/sys/netipsec/key.c Tue May 19 08:30:04 2015(r283101)
+++ head/sys/netipsec/key.c Tue May 19 08:37:03 2015(r283102)
@@ -4283,8 +4283,8 @@ key_flush_sad(time_t now)
 
if (sav-lft_h-addtime != 0 
now - sav-created  sav-lft_h-addtime) {
-   key_expire(sav, 1);
key_sa_chgstate(sav, SADB_SASTATE_DEAD);
+   key_expire(sav, 1);
KEY_FREESAV(sav);
}
 #if 0  /* XXX Should we keep to send expire message until HARD lifetime ? */
@@ -4306,8 +4306,8 @@ key_flush_sad(time_t now)
/* check HARD lifetime by bytes */
else if (sav-lft_h-bytes != 0 
sav-lft_h-bytes  sav-lft_c-bytes) {
-   key_expire(sav, 1);
key_sa_chgstate(sav, SADB_SASTATE_DEAD);
+   key_expire(sav, 1);
KEY_FREESAV(sav);
}
}
___
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: r282941 - head/sys/dev/sfxge

2015-05-19 Thread Gleb Smirnoff
  Andrew,

On Fri, May 15, 2015 at 06:49:44AM +, Andrew Rybchenko wrote:
A Author: arybchik
A Date: Fri May 15 06:49:43 2015
A New Revision: 282941
A URL: https://svnweb.freebsd.org/changeset/base/282941
A 
A Log:
A   sfxge: do not change CSUM_TSO when IFCAP_TSOx is changed
A   
A   It is simply not required since the kernel checks corresponding
A   IFCAP_TSOx capability and CSUM_TSO in hw-assisted offloads.
A   Note that CSUM_TSO is two bits (CSUM_IP_TSO|CSUM_IP6_TSO) and both bits
A   are set in IPv4 and IPv6 mbufs.

I am not sure that this is a part of driver KPI. AFAIU, the if_capenable
is user visible declaration of capabilities, and if_hwassist is stack
visible. So, they should be changed together. At least all drivers do that.
What made you to make such change to sfxge?

Whether this is a good KPI or not is of course discussable. If you have
ideas and improvements, let's do them in projects/ifnet branch.

-- 
Totus tuus, Glebius.
___
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: r283104 - head/sys/geom/uncompress

2015-05-19 Thread Andrey V. Elsukov
Author: ae
Date: Tue May 19 09:28:52 2015
New Revision: 283104
URL: https://svnweb.freebsd.org/changeset/base/283104

Log:
  Read GEOM_UNCOMPRESS metadata using several requests that fit into
  MAXPHYS. For large compressed images the metadata size can be bigger
  than MAXPHYS and this triggers KASSERT in g_read_data().
  Also use g_free() to free memory allocated by g_read_data().
  
  PR:   199476
  MFC after:2 weeks

Modified:
  head/sys/geom/uncompress/g_uncompress.c

Modified: head/sys/geom/uncompress/g_uncompress.c
==
--- head/sys/geom/uncompress/g_uncompress.c Tue May 19 09:22:06 2015
(r283103)
+++ head/sys/geom/uncompress/g_uncompress.c Tue May 19 09:28:52 2015
(r283104)
@@ -464,7 +464,8 @@ g_uncompress_taste(struct g_class *mp, s
struct g_provider *pp2;
struct g_consumer *cp;
struct g_geom *gp;
-   uint32_t i, total_offsets, type;
+   uint64_t *offsets;
+   uint32_t i, r, total, total_offsets, type;
uint8_t *buf;
int error;
 
@@ -499,8 +500,8 @@ g_uncompress_taste(struct g_class *mp, s
 */
DPRINTF((%s: media sectorsize %u, mediasize %jd\n,
gp-name, pp-sectorsize, (intmax_t)pp-mediasize));
-   i = roundup(sizeof(struct cloop_header), pp-sectorsize);
-   buf = g_read_data(cp, 0, i, NULL);
+   total = roundup(sizeof(struct cloop_header), pp-sectorsize);
+   buf = g_read_data(cp, 0, total, NULL);
if (buf == NULL)
goto err;
header = (struct cloop_header *) buf;
@@ -557,20 +558,29 @@ g_uncompress_taste(struct g_class *mp, s
gp-name, sc-nblocks);
goto err;
}
-   free(buf, M_GEOM);
+   g_free(buf);
 
-   i = roundup((sizeof(struct cloop_header) +
-   total_offsets * sizeof(uint64_t)), pp-sectorsize);
-   buf = g_read_data(cp, 0, i, NULL);
-   if (buf == NULL)
-   goto err;
sc-offsets = malloc(total_offsets * sizeof(uint64_t),
-   M_GEOM_UNCOMPRESS, M_WAITOK);
-   for (i = 0; i = total_offsets; i++) {
-   sc-offsets[i] = be64toh(((uint64_t *)
-   (buf+sizeof(struct cloop_header)))[i]);
+   M_GEOM_UNCOMPRESS, M_WAITOK | M_ZERO);
+   total = roundup((sizeof(struct cloop_header) +
+   total_offsets * sizeof(uint64_t)), pp-sectorsize);
+#defineRSZ ((total - r)  MAXPHYS ? MAXPHYS: (total - r))
+   for (r = 0, i = 0; r  total; r += MAXPHYS) {
+   buf = g_read_data(cp, r, RSZ, error);
+   if (buf == NULL) {
+   free(sc-offsets, M_GEOM_UNCOMPRESS);
+   goto err;
+   }
+   offsets = (uint64_t *)buf;
+   if (r == 0)
+   offsets +=
+   sizeof(struct cloop_header) / sizeof(uint64_t);
+   for (; i  total_offsets  offsets  (uint64_t *)(buf + RSZ);
+   i++, offsets++)
+   sc-offsets[i] = be64toh(*offsets);
+   g_free(buf);
}
-   free(buf, M_GEOM);
+#undef RSZ
buf = NULL;
DPRINTF((%s: done reading offsets\n, gp-name));
mtx_init(sc-last_mtx, geom_uncompress cache, NULL, MTX_DEF);
@@ -619,7 +629,7 @@ err:
g_topology_lock();
g_access(cp, -1, 0, 0);
if (buf != NULL)
-   free(buf, M_GEOM);
+   g_free(buf);
if (gp-softc != NULL) {
g_uncompress_softc_free(gp-softc, NULL);
gp-softc = NULL;
___
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: r283103 - head/sys/dev/usb/controller

2015-05-19 Thread Hans Petter Selasky
Author: hselasky
Date: Tue May 19 09:22:06 2015
New Revision: 283103
URL: https://svnweb.freebsd.org/changeset/base/283103

Log:
  Fix for DWC OTG device side isochronous transfers. The even or odd
  isochronous frame bit needs to be flipped.
  
  MFC after:3 days

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

Modified: head/sys/dev/usb/controller/dwc_otg.c
==
--- head/sys/dev/usb/controller/dwc_otg.c   Tue May 19 08:37:03 2015
(r283102)
+++ head/sys/dev/usb/controller/dwc_otg.c   Tue May 19 09:22:06 2015
(r283103)
@@ -1557,6 +1557,22 @@ dwc_otg_data_rx(struct dwc_otg_softc *sc
/* release FIFO */
dwc_otg_common_rx_ack(sc);
 
+   temp = sc-sc_out_ctl[td-ep_no];
+
+   /* check for isochronous mode */
+   if ((temp  DIEPCTL_EPTYPE_MASK) ==
+   (DIEPCTL_EPTYPE_ISOC  DIEPCTL_EPTYPE_SHIFT)) {
+   /* toggle odd or even frame bit */
+   if (temp  DIEPCTL_SETD1PID) {
+   temp = ~DIEPCTL_SETD1PID;
+   temp |= DIEPCTL_SETD0PID;
+   } else {
+   temp = ~DIEPCTL_SETD0PID;
+   temp |= DIEPCTL_SETD1PID;
+   }
+   sc-sc_out_ctl[td-ep_no] = temp;
+   }
+
/* check if we are complete */
if ((td-remainder == 0) || got_short) {
if (td-short_pkt) {
@@ -2132,10 +2148,23 @@ repeat:
 
temp = sc-sc_in_ctl[td-ep_no];
 
+   /* check for isochronous mode */
+   if ((temp  DIEPCTL_EPTYPE_MASK) ==
+   (DIEPCTL_EPTYPE_ISOC  DIEPCTL_EPTYPE_SHIFT)) {
+   /* toggle odd or even frame bit */
+   if (temp  DIEPCTL_SETD1PID) {
+   temp = ~DIEPCTL_SETD1PID;
+   temp |= DIEPCTL_SETD0PID;
+   } else {
+   temp = ~DIEPCTL_SETD0PID;
+   temp |= DIEPCTL_SETD1PID;
+   }
+   sc-sc_in_ctl[td-ep_no] = temp;
+   }
+
/* must enable before writing data to FIFO */
DWC_OTG_WRITE_4(sc, DOTG_DIEPCTL(td-ep_no), temp |
-   DIEPCTL_EPENA |
-   DIEPCTL_CNAK);
+   DIEPCTL_EPENA | DIEPCTL_CNAK);
 
td-tx_bytes = count;
 
___
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: r283101 - head/sys/netipsec

2015-05-19 Thread Andrey V. Elsukov
Author: ae
Date: Tue May 19 08:30:04 2015
New Revision: 283101
URL: https://svnweb.freebsd.org/changeset/base/283101

Log:
  Teach key_expire() send SADB_EXPIRE message with the SADB_EXT_LIFETIME_HARD
  extension header type. The key_flush_sad() now will send SADB_EXPIRE
  message when HARD lifetime expires. This is required by RFC 2367 and some
  keying daemons rely on these messages. HARD lifetime messages have
  precedence over SOFT lifetime messages, so now they will be checked first.
  Also now SADB_EXPIRE messages will be send even the SA has not been used,
  because keying daemons might want to rekey such SA.
  
  PR:   200282, 200283
  Submitted by: Tobias Brunner tobias at strongswan dot org
  MFC after:2 weeks

Modified:
  head/sys/netipsec/key.c

Modified: head/sys/netipsec/key.c
==
--- head/sys/netipsec/key.c Tue May 19 08:00:39 2015(r283100)
+++ head/sys/netipsec/key.c Tue May 19 08:30:04 2015(r283101)
@@ -537,7 +537,7 @@ static int key_acquire2(struct socket *,
const struct sadb_msghdr *);
 static int key_register(struct socket *, struct mbuf *,
const struct sadb_msghdr *);
-static int key_expire(struct secasvar *);
+static int key_expire(struct secasvar *, int);
 static int key_flush(struct socket *, struct mbuf *,
const struct sadb_msghdr *);
 static int key_dump(struct socket *, struct mbuf *,
@@ -4242,41 +4242,29 @@ key_flush_sad(time_t now)
time, why?\n, __func__));
continue;
}
-
-   /* check SOFT lifetime */
-   if (sav-lft_s-addtime != 0 
-   now - sav-created  sav-lft_s-addtime) {
-   key_sa_chgstate(sav, SADB_SASTATE_DYING);
-   /* 
-* Actually, only send expire message if
-* SA has been used, as it was done before,
-* but should we always send such message,
-* and let IKE daemon decide if it should be
-* renegotiated or not ?
-* XXX expire message will actually NOT be
-* sent if SA is only used after soft
-* lifetime has been reached, see below
-* (DYING state)
-*/
-   if (sav-lft_c-usetime != 0)
-   key_expire(sav);
-   }
-   /* check SOFT lifetime by bytes */
/*
-* XXX I don't know the way to delete this SA
-* when new SA is installed.  Caution when it's
-* installed too big lifetime by time.
+* RFC 2367:
+* HARD lifetimes MUST take precedence over SOFT
+* lifetimes, meaning if the HARD and SOFT lifetimes
+* are the same, the HARD lifetime will appear on the
+* EXPIRE message.
 */
-   else if (sav-lft_s-bytes != 0 
-   sav-lft_s-bytes  sav-lft_c-bytes) {
-
+   /* check HARD lifetime */
+   if ((sav-lft_h-addtime != 0 
+   now - sav-created  sav-lft_h-addtime) ||
+   (sav-lft_h-bytes != 0 
+   sav-lft_h-bytes  sav-lft_c-bytes)) {
+   key_sa_chgstate(sav, SADB_SASTATE_DEAD);
+   key_expire(sav, 1);
+   KEY_FREESAV(sav);
+   }
+   /* check SOFT lifetime */
+   else if ((sav-lft_s-addtime != 0 
+   now - sav-created  sav-lft_s-addtime) ||
+   (sav-lft_s-bytes != 0 
+   sav-lft_s-bytes  sav-lft_c-bytes)) {
key_sa_chgstate(sav, SADB_SASTATE_DYING);
-   /*
-* XXX If we keep to send expire
-* message in the status of
-* DYING. Do remove below code.
-*/
-   key_expire(sav);
+   key_expire(sav, 0);
}
}
 
@@ -4295,6 +4283,7 @@ key_flush_sad(time_t now)
 
if (sav-lft_h-addtime != 0 
now - sav-created  sav-lft_h-addtime) {
+   key_expire(sav, 1);
 

svn commit: r283105 - head/share/man/man9

2015-05-19 Thread Julian Elischer
Author: julian
Date: Tue May 19 11:33:04 2015
New Revision: 283105
URL: https://svnweb.freebsd.org/changeset/base/283105

Log:
  Only several years late, catch the psignal man page up to the
  fact that psignal has been renamed to kern_psignal since 9.0.
  
  MFC after:1 week

Modified:
  head/share/man/man9/psignal.9

Modified: head/share/man/man9/psignal.9
==
--- head/share/man/man9/psignal.9   Tue May 19 09:28:52 2015
(r283104)
+++ head/share/man/man9/psignal.9   Tue May 19 11:33:04 2015
(r283105)
@@ -33,6 +33,7 @@
 .Os
 .Sh NAME
 .Nm psignal ,
+.Nm kern_psignal ,
 .Nm pgsignal ,
 .Nm gsignal ,
 .Nm tdsignal
@@ -41,7 +42,7 @@
 .In sys/types.h
 .In sys/signalvar.h
 .Ft void
-.Fn psignal struct proc *p int signum
+.Fn kern_psignal struct proc *p int signum
 .Ft void
 .Fn pgsignal struct pgrp *pgrp int signum int checkctty
 .Ft void
@@ -56,16 +57,21 @@ common to all three functions should be 
 .Bq 1- Ns Dv NSIG .
 .Pp
 The
-.Fn psignal
+.Fn kern_psignal
 function posts signal number
 .Fa signum
 to the process represented by the process structure
 .Fa p .
+The
+.Fn kernel_psignal
+function used to be called 
+.Fn psignal
+but was renamed.
 With a few exceptions noted below, the target process signal disposition is
 updated and is marked as runnable, so further handling of the signal is done
 in the context of the target process after a context switch.
 Note that
-.Fn psignal
+.Fn kern_psignal
 does not by itself cause a context switch to happen.
 .Pp
 The target process is not marked as runnable in the following cases:
@@ -91,7 +97,7 @@ regardless of the signal action
 .El
 .Pp
 If the target process is being traced
-.Fn psignal
+.Fn kern_psignal
 behaves as if the target process were taking the default action for
 .Fa signum .
 This allows the tracing process to be notified of the signal.
@@ -113,7 +119,7 @@ of the process group structure
 pointed at by
 .Fa pgrp
 and calling
-.Fn psignal
+.Fn kern_psignal
 as appropriate.
 If
 .Fa pgrp
@@ -149,3 +155,10 @@ to the thread represented by the thread 
 .Xr sigaction 2 ,
 .Xr signal 9 ,
 .Xr tsleep 9
+.Sh HISTORY
+The
+.Fn psignal
+call was renamed to 
+.Fn kern_psignal
+in 
+.Fx 9.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


svn commit: r283137 - head/sys/arm/conf

2015-05-19 Thread Ganbold Tsagaankhuu
Author: ganbold
Date: Wed May 20 05:49:52 2015
New Revision: 283137
URL: https://svnweb.freebsd.org/changeset/base/283137

Log:
  D2432 (Patch for Amlogic single core PIC) moved the SMP option out
  of AML8726 and into board specific config files since some boards
  (e.g. YYHD18) use the aml8726-m3 which only have a single core.
  
  r283057 applied most of D2432, however while it removed SMP from
  AML8726, it missed adding the SMP option to the board specific
  config files.
  
  Differential Revision:https://reviews.freebsd.org/D2589
  Submitted by: John Wehle

Modified:
  head/sys/arm/conf/ODROIDC1
  head/sys/arm/conf/VSATV102

Modified: head/sys/arm/conf/ODROIDC1
==
--- head/sys/arm/conf/ODROIDC1  Wed May 20 01:08:01 2015(r283136)
+++ head/sys/arm/conf/ODROIDC1  Wed May 20 05:49:52 2015(r283137)
@@ -22,6 +22,8 @@
 includeAML8726
 ident  ODROIDC1
 
+optionsSMP # Enable multiple cores
+
 # Interrupt controller
 device gic
 

Modified: head/sys/arm/conf/VSATV102
==
--- head/sys/arm/conf/VSATV102  Wed May 20 01:08:01 2015(r283136)
+++ head/sys/arm/conf/VSATV102  Wed May 20 05:49:52 2015(r283137)
@@ -22,6 +22,8 @@
 includeAML8726
 ident  VSATV102
 
+optionsSMP # Enable multiple cores
+
 # Interrupt controller
 device gic
 
___
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: r283136 - head/sys/netinet

2015-05-19 Thread Hiren Panchasara
On 05/20/15 at 02:13P, Lawrence Stewart wrote:
 Hi Hiren,
 
 On 05/20/15 11:08, Hiren Panchasara wrote:
  Author: hiren
  Date: Wed May 20 01:08:01 2015
  New Revision: 283136
  URL: https://svnweb.freebsd.org/changeset/base/283136
  
  Log:
Add a new sysctl net.inet.tcp.hostcache.purgenow=1 to expire and purge all
entries in hostcache immediately.

In collaboration with:bz, rwatson
MFC after:1 week
Relnotes: yes
Sponsored by: Limelight Networks
 
 Why introduce a new sysctl and not change the existing behaviour of
 net.inet.tcp.hostcache.purge?

I thought it'd make more sense to keep the existing behavior as is and
provide new knob for the new behavior.

cheers,
Hiren


pgp7jOFjo66KC.pgp
Description: PGP signature


svn commit: r283136 - head/sys/netinet

2015-05-19 Thread Hiren Panchasara
Author: hiren
Date: Wed May 20 01:08:01 2015
New Revision: 283136
URL: https://svnweb.freebsd.org/changeset/base/283136

Log:
  Add a new sysctl net.inet.tcp.hostcache.purgenow=1 to expire and purge all
  entries in hostcache immediately.
  
  In collaboration with:bz, rwatson
  MFC after:1 week
  Relnotes: yes
  Sponsored by: Limelight Networks

Modified:
  head/sys/netinet/tcp_hostcache.c

Modified: head/sys/netinet/tcp_hostcache.c
==
--- head/sys/netinet/tcp_hostcache.cTue May 19 23:53:25 2015
(r283135)
+++ head/sys/netinet/tcp_hostcache.cWed May 20 01:08:01 2015
(r283136)
@@ -117,6 +117,7 @@ static VNET_DEFINE(struct callout, tcp_h
 static struct hc_metrics *tcp_hc_lookup(struct in_conninfo *);
 static struct hc_metrics *tcp_hc_insert(struct in_conninfo *);
 static int sysctl_tcp_hc_list(SYSCTL_HANDLER_ARGS);
+static int sysctl_tcp_hc_purgenow(SYSCTL_HANDLER_ARGS);
 static void tcp_hc_purge_internal(int);
 static void tcp_hc_purge(void *);
 
@@ -155,6 +156,9 @@ SYSCTL_PROC(_net_inet_tcp_hostcache, OID
 CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_SKIP, 0, 0,
 sysctl_tcp_hc_list, A, List of all hostcache entries);
 
+SYSCTL_PROC(_net_inet_tcp_hostcache, OID_AUTO, purgenow,
+CTLTYPE_INT | CTLFLAG_RW, NULL, 0,
+sysctl_tcp_hc_purgenow, I, Immediately purge all entries);
 
 static MALLOC_DEFINE(M_HOSTCACHE, hostcache, TCP hostcache);
 
@@ -696,3 +700,24 @@ tcp_hc_purge(void *arg)
tcp_hc_purge, arg);
CURVNET_RESTORE();
 }
+
+/*
+ * Expire and purge all entries in hostcache immediately.
+ */
+static int
+sysctl_tcp_hc_purgenow(SYSCTL_HANDLER_ARGS)
+{
+   int error, val;
+
+   val = 0;
+   error = sysctl_handle_int(oidp, val, 0, req);
+   if (error || !req-newptr)
+   return (error);
+
+   tcp_hc_purge_internal(1);
+
+   callout_reset(V_tcp_hc_callout, V_tcp_hostcache.prune * hz,
+   tcp_hc_purge, curvnet);
+
+   return (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: r283136 - head/sys/netinet

2015-05-19 Thread Lawrence Stewart
Hi Hiren,

On 05/20/15 11:08, Hiren Panchasara wrote:
 Author: hiren
 Date: Wed May 20 01:08:01 2015
 New Revision: 283136
 URL: https://svnweb.freebsd.org/changeset/base/283136
 
 Log:
   Add a new sysctl net.inet.tcp.hostcache.purgenow=1 to expire and purge all
   entries in hostcache immediately.
   
   In collaboration with:  bz, rwatson
   MFC after:  1 week
   Relnotes:   yes
   Sponsored by:   Limelight Networks

Why introduce a new sysctl and not change the existing behaviour of
net.inet.tcp.hostcache.purge?

Cheers,
Lawrence
___
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: r283109 - head/sys/x86/x86

2015-05-19 Thread Konstantin Belousov
Author: kib
Date: Tue May 19 14:21:00 2015
New Revision: 283109
URL: https://svnweb.freebsd.org/changeset/base/283109

Log:
  When sleeping in Sx state using MWAIT instruction, accept fast wakeup
  requests from writes to the monitored line.
  
  Submitted by: avg

Modified:
  head/sys/x86/x86/cpu_machdep.c

Modified: head/sys/x86/x86/cpu_machdep.c
==
--- head/sys/x86/x86/cpu_machdep.c  Tue May 19 14:05:15 2015
(r283108)
+++ head/sys/x86/x86/cpu_machdep.c  Tue May 19 14:21:00 2015
(r283109)
@@ -101,6 +101,10 @@ __FBSDID($FreeBSD$);
 #include vm/vm_pager.h
 #include vm/vm_param.h
 
+#defineSTATE_RUNNING   0x0
+#defineSTATE_MWAIT 0x1
+#defineSTATE_SLEEPING  0x2
+
 /*
  * Machine dependent boot() routine
  *
@@ -134,13 +138,24 @@ acpi_cpu_idle_mwait(uint32_t mwait_hint)
 {
int *state;
 
-   state = (int *)PCPU_PTR(monitorbuf);
/*
 * XXXKIB.  Software coordination mode should be supported,
 * but all Intel CPUs provide hardware coordination.
 */
+
+   state = (int *)PCPU_PTR(monitorbuf);
+   KASSERT(*state == STATE_SLEEPING,
+   (cpu_mwait_cx: wrong monitorbuf state));
+   *state = STATE_MWAIT;
cpu_monitor(state, 0, 0);
-   cpu_mwait(MWAIT_INTRBREAK, mwait_hint);
+   if (*state == STATE_MWAIT)
+   cpu_mwait(MWAIT_INTRBREAK, mwait_hint);
+
+   /*
+* We should exit on any event that interrupts mwait, because
+* that event might be a wanted interrupt.
+*/
+   *state = STATE_RUNNING;
 }
 
 /* Get current clock frequency for the given cpu id. */
@@ -231,10 +246,6 @@ static int idle_mwait = 1; /* Use MONIT
 SYSCTL_INT(_machdep, OID_AUTO, idle_mwait, CTLFLAG_RWTUN, idle_mwait,
 0, Use MONITOR/MWAIT for short idle);
 
-#defineSTATE_RUNNING   0x0
-#defineSTATE_MWAIT 0x1
-#defineSTATE_SLEEPING  0x2
-
 #ifndef PC98
 static void
 cpu_idle_acpi(sbintime_t sbt)
___
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: r283108 - head

2015-05-19 Thread Ed Maste
Author: emaste
Date: Tue May 19 14:05:15 2015
New Revision: 283108
URL: https://svnweb.freebsd.org/changeset/base/283108

Log:
  Update crunch bootstrapping test for recent fixes
  
  - r277259 crunchide: Correct 64-bit section header offset
  - r281674 crunchide: always include both 32- and 64-bit ELF support
  
  With built-in cross-size support we also no longer need a special case
  for cross-build crunchide.
  
  Reviewed by:  imp
  Sponsored by: The FreeBSD Foundation
  Differential Revision: https://reviews.freebsd.org/D2576

Modified:
  head/Makefile.inc1

Modified: head/Makefile.inc1
==
--- head/Makefile.inc1  Tue May 19 14:04:21 2015(r283107)
+++ head/Makefile.inc1  Tue May 19 14:05:15 2015(r283108)
@@ -1297,7 +1297,9 @@ _cat= bin/cat
 _lex=  usr.bin/lex
 .endif
 
-.if ${BOOTSTRAPPING}  1001507
+# r277259 crunchide: Correct 64-bit section header offset
+# r281674 crunchide: always include both 32- and 64-bit ELF support
+.if ${BOOTSTRAPPING}  1100071
 _crunch=   usr.sbin/crunch
 .endif
 
@@ -1466,11 +1468,6 @@ kernel-tools: .MAKE
 _btxld=usr.sbin/btxld
 .endif
 .endif
-.if ${TARGET_ARCH} != ${MACHINE_ARCH}
-.if ${MK_RESCUE} != no
-_crunchide=usr.sbin/crunch/crunchide
-.endif
-.endif
 
 # If we're given an XAS, don't build binutils.
 .if ${XAS:M/*} == 
___
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: r283088 - head/sys/ddb

2015-05-19 Thread Ian Lepore
On Mon, 2015-05-18 at 22:49 -0500, Pedro Giffuni wrote:
  Il giorno 18/mag/2015, alle ore 20:48, Bruce Evans b...@optusnet.com.au 
  ha scritto:
  
  On Mon, 18 May 2015, Pedro F. Giffuni wrote:
  
  Log:
  ddb: stop boolean screaming.
  
  TRUE -- true
  FALSE-- false
  
  Hinted by: NetBSD
  
  This is not just churn to a style regression, but a type mismatch.
  
 
 It is an attempt to reduce differences with NetBSD.
 
 One of the complaints of hear from newcomers to the ddb code is that
 the format is old-fashioned (it still had pre-ANSI headers not long ago)
 and unmaintained.
 
  Modified: head/sys/ddb/db_break.c
  ==
  --- head/sys/ddb/db_break.cMon May 18 22:14:06 2015
  (r283087)
  +++ head/sys/ddb/db_break.cMon May 18 22:27:46 2015
  (r283088)
  @@ -155,12 +155,12 @@ db_find_breakpoint_here(db_addr_t addr)
 return db_find_breakpoint(db_map_addr(addr), addr);
  }
  
  -static boolean_t  db_breakpoints_inserted = TRUE;
  +static boolean_t  db_breakpoints_inserted = true;
  
  This code hasn't been churned to use the boolean type.  It still uses
  boolean_t, which is plain int.  TRUE and FALSE go with this type.  true
  and false go with the boolean type.  This probably makes no difference,
  because TRUE happens to be implemented with the same value as true and
  there are lots of implicit versions between the types.
  
 
 Yes, I noticed the return types are still ints. It doesn’t look difficult
 to convert it to use a real boolean type.  In any case, I would prefer to go
 forward (using bool) instead of reverting this change.
 

Yes, please do.  Pedanticism aside, boolean types are extremely valuable
because they document the intended use of the data.  IMO the value in
that far outweighs arguments about spelling and conversions and other
whinging about things that work just fine.

To sum it up, int is one of the vaguest things you can say in C, and
boolean (in any reasonable spelling variation) is one of the clearest.

-- Ian

  The boolean type is almost useless since C's type system is too weak to
  distinguish between plain int used as a boolean and pure boolean.  If
  it were stronger, then it would complain about all the implicit conversions
  between int and boolean, and the boolean type would be harder to use for
  other reasons.
  
 
 And I would like that to happen, but it would probably break a lot of legacy 
 code.
 I thought boolean_t was a transition type.
 
 
 Pedro.
 
 
 


___
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: r283110 - head/sys/sys

2015-05-19 Thread Ed Maste
Author: emaste
Date: Tue May 19 14:23:33 2015
New Revision: 283110
URL: https://svnweb.freebsd.org/changeset/base/283110

Log:
  Add GRP_COMDAT section group flag to ELF header
  
  Reviewed by:  kib
  MFC after:1 week
  Sponsored by: The FreeBSD Foundation
  Differential Revision:https://reviews.freebsd.org/D2582

Modified:
  head/sys/sys/elf_common.h

Modified: head/sys/sys/elf_common.h
==
--- head/sys/sys/elf_common.h   Tue May 19 14:21:00 2015(r283109)
+++ head/sys/sys/elf_common.h   Tue May 19 14:23:33 2015(r283110)
@@ -473,6 +473,9 @@ typedef struct {
 #defineSHF_MASKOS  0x0ff0  /* OS-specific semantics. */
 #defineSHF_MASKPROC0xf000  /* Processor-specific 
semantics. */
 
+/* Flags for section groups. */
+#defineGRP_COMDAT  0x1 /* COMDAT semantics. */
+
 /* Values for p_type. */
 #definePT_NULL 0   /* Unused entry. */
 #definePT_LOAD 1   /* Loadable segment. */
___
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: r283107 - head/sys/netpfil/pf

2015-05-19 Thread Gleb Smirnoff
Author: glebius
Date: Tue May 19 14:04:21 2015
New Revision: 283107
URL: https://svnweb.freebsd.org/changeset/base/283107

Log:
  Use MTX_SYSINIT() instead of mtx_init() to separate mutex initialization
  from associated structures initialization.  The mutexes are global, while
  the structures are per-vnet.
  
  Submitted by: Nikos Vassiliadis nvass gmx.com

Modified:
  head/sys/netpfil/pf/pf.c
  head/sys/netpfil/pf/pf_if.c
  head/sys/netpfil/pf/pf_norm.c

Modified: head/sys/netpfil/pf/pf.c
==
--- head/sys/netpfil/pf/pf.cTue May 19 14:02:40 2015(r283106)
+++ head/sys/netpfil/pf/pf.cTue May 19 14:04:21 2015(r283107)
@@ -151,6 +151,7 @@ static VNET_DEFINE(struct pf_send_head, 
 #defineV_pf_sendqueue  VNET(pf_sendqueue)
 
 static struct mtx pf_sendqueue_mtx;
+MTX_SYSINIT(pf_sendqueue_mtx, pf_sendqueue_mtx, pf send queue, MTX_DEF);
 #definePF_SENDQ_LOCK() mtx_lock(pf_sendqueue_mtx)
 #definePF_SENDQ_UNLOCK()   mtx_unlock(pf_sendqueue_mtx)
 
@@ -172,11 +173,15 @@ static VNET_DEFINE(struct task, pf_overl
 #defineV_pf_overloadtask   VNET(pf_overloadtask)
 
 static struct mtx pf_overloadqueue_mtx;
+MTX_SYSINIT(pf_overloadqueue_mtx, pf_overloadqueue_mtx,
+pf overload/flush queue, MTX_DEF);
 #definePF_OVERLOADQ_LOCK() mtx_lock(pf_overloadqueue_mtx)
 #definePF_OVERLOADQ_UNLOCK()   mtx_unlock(pf_overloadqueue_mtx)
 
 VNET_DEFINE(struct pf_rulequeue, pf_unlinked_rules);
 struct mtx pf_unlnkdrules_mtx;
+MTX_SYSINIT(pf_unlnkdrules_mtx, pf_unlnkdrules_mtx, pf unlinked rules,
+MTX_DEF);
 
 static VNET_DEFINE(uma_zone_t, pf_sources_z);
 #defineV_pf_sources_z  VNET(pf_sources_z)
@@ -804,18 +809,13 @@ pf_initialize()
V_pf_altqs_active = V_pf_altqs[0];
V_pf_altqs_inactive = V_pf_altqs[1];
 
-
/* Send  overload+flush queues. */
STAILQ_INIT(V_pf_sendqueue);
SLIST_INIT(V_pf_overloadqueue);
TASK_INIT(V_pf_overloadtask, 0, pf_overload_task, curvnet);
-   mtx_init(pf_sendqueue_mtx, pf send queue, NULL, MTX_DEF);
-   mtx_init(pf_overloadqueue_mtx, pf overload/flush queue, NULL,
-   MTX_DEF);
 
/* Unlinked, but may be referenced rules. */
TAILQ_INIT(V_pf_unlinked_rules);
-   mtx_init(pf_unlnkdrules_mtx, pf unlinked rules, NULL, MTX_DEF);
 }
 
 void
@@ -858,10 +858,6 @@ pf_cleanup()
free(pfse, M_PFTEMP);
}
 
-   mtx_destroy(pf_sendqueue_mtx);
-   mtx_destroy(pf_overloadqueue_mtx);
-   mtx_destroy(pf_unlnkdrules_mtx);
-
uma_zdestroy(V_pf_sources_z);
uma_zdestroy(V_pf_state_z);
uma_zdestroy(V_pf_state_key_z);

Modified: head/sys/netpfil/pf/pf_if.c
==
--- head/sys/netpfil/pf/pf_if.c Tue May 19 14:02:40 2015(r283106)
+++ head/sys/netpfil/pf/pf_if.c Tue May 19 14:04:21 2015(r283107)
@@ -103,6 +103,8 @@ LIST_HEAD(pfi_list, pfi_kif);
 static VNET_DEFINE(struct pfi_list, pfi_unlinked_kifs);
 #defineV_pfi_unlinked_kifs VNET(pfi_unlinked_kifs)
 static struct mtx pfi_unlnkdkifs_mtx;
+MTX_SYSINIT(pfi_unlnkdkifs_mtx, pfi_unlnkdkifs_mtx, pf unlinked interfaces,
+MTX_DEF);
 
 void
 pfi_initialize(void)
@@ -115,8 +117,6 @@ pfi_initialize(void)
V_pfi_buffer = malloc(V_pfi_buffer_max * sizeof(*V_pfi_buffer),
PFI_MTYPE, M_WAITOK);
 
-   mtx_init(pfi_unlnkdkifs_mtx, pf unlinked interfaces, NULL, MTX_DEF);
-
kif = malloc(sizeof(*kif), PFI_MTYPE, M_WAITOK);
PF_RULES_WLOCK();
V_pfi_all = pfi_kif_attach(kif, IFG_ALL);
@@ -166,8 +166,6 @@ pfi_cleanup(void)
free(p, PFI_MTYPE);
}
 
-   mtx_destroy(pfi_unlnkdkifs_mtx);
-
free(V_pfi_buffer, PFI_MTYPE);
 }
 

Modified: head/sys/netpfil/pf/pf_norm.c
==
--- head/sys/netpfil/pf/pf_norm.c   Tue May 19 14:02:40 2015
(r283106)
+++ head/sys/netpfil/pf/pf_norm.c   Tue May 19 14:04:21 2015
(r283107)
@@ -34,6 +34,7 @@ __FBSDID($FreeBSD$);
 #include opt_pf.h
 
 #include sys/param.h
+#include sys/kernel.h
 #include sys/lock.h
 #include sys/mbuf.h
 #include sys/mutex.h
@@ -108,6 +109,7 @@ struct pf_fragment_tag {
 };
 
 static struct mtx pf_frag_mtx;
+MTX_SYSINIT(pf_frag_mtx, pf_frag_mtx, pf fragments, MTX_DEF);
 #define PF_FRAG_LOCK() mtx_lock(pf_frag_mtx)
 #define PF_FRAG_UNLOCK()   mtx_unlock(pf_frag_mtx)
 #define PF_FRAG_ASSERT()   mtx_assert(pf_frag_mtx, MA_OWNED)
@@ -197,8 +199,6 @@ pf_normalize_init(void)
uma_zone_set_max(V_pf_frent_z, PFFRAG_FRENT_HIWAT);
uma_zone_set_warning(V_pf_frent_z, PF frag entries limit reached);
 
-   mtx_init(pf_frag_mtx, pf fragments, NULL, MTX_DEF);
-
TAILQ_INIT(V_pf_fragqueue);
TAILQ_INIT(V_pf_cachequeue);
 }
@@ -210,8 +210,6 @@ 

Re: svn commit: r283105 - head/share/man/man9

2015-05-19 Thread John Baldwin
On Tuesday, May 19, 2015 10:34:11 PM Bruce Evans wrote:
 It would be better to fix the function to match its documented name.
 
 Many other function names are similarly broken.  For example, the primary
 function in getenv(9).

I agree. :(  I would prefer to restore the psignal() and getenv() names.
getenv() also has the related misfeature that only getenv() was renamed,
but not functions like getenv_int() (similar to pgsignal() for psignal()).
Given that no attempt was made to handle the far more pervasive issues
with printf and malloc, I think these renames should be reverted.  If
someone wants to have a user-mode kernel then whatever solution is devised
for malloc() (whether #define or symbol renaming trickery) can be done
for getenv() and psignal().

-- 
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: r283106 - head/sys/netpfil/pf

2015-05-19 Thread Gleb Smirnoff
Author: glebius
Date: Tue May 19 14:02:40 2015
New Revision: 283106
URL: https://svnweb.freebsd.org/changeset/base/283106

Log:
  During module unload unlock rules before destroying UMA zones, which
  may sleep in uma_drain(). It is safe to unlock here, since we are already
  dehooked from pfil(9) and all pf threads had quit.
  
  Sponsored by: Nginx, Inc.

Modified:
  head/sys/netpfil/pf/pf_ioctl.c

Modified: head/sys/netpfil/pf/pf_ioctl.c
==
--- head/sys/netpfil/pf/pf_ioctl.c  Tue May 19 11:33:04 2015
(r283105)
+++ head/sys/netpfil/pf/pf_ioctl.c  Tue May 19 14:02:40 2015
(r283106)
@@ -3756,6 +3756,7 @@ pf_unload(void)
wakeup_one(pf_purge_thread);
rw_sleep(pf_purge_thread, pf_rules_lock, 0, pftmo, 0);
}
+   PF_RULES_WUNLOCK();
pf_normalize_cleanup();
pfi_cleanup();
pfr_cleanup();
@@ -3763,7 +3764,6 @@ pf_unload(void)
pf_cleanup();
if (IS_DEFAULT_VNET(curvnet))
pf_mtag_cleanup();
-   PF_RULES_WUNLOCK();
destroy_dev(pf_dev);
rw_destroy(pf_rules_lock);
sx_destroy(pf_ioctl_lock);
___
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: r283088 - head/sys/ddb

2015-05-19 Thread John Baldwin
On Tuesday, May 19, 2015 12:28:05 AM Pedro Giffuni wrote:
  Modified: head/sys/ddb/db_break.c
  ==
  --- head/sys/ddb/db_break.c  Mon May 18 22:14:06 2015
  (r283087)
  +++ head/sys/ddb/db_break.c  Mon May 18 22:27:46 2015
  (r283088)
  @@ -155,12 +155,12 @@ db_find_breakpoint_here(db_addr_t addr)
   return db_find_breakpoint(db_map_addr(addr), addr);
  }
  
  -static boolean_tdb_breakpoints_inserted = TRUE;
  +static boolean_tdb_breakpoints_inserted = true;
  
  This code hasn't been churned to use the boolean type.  It still uses
  boolean_t, which is plain int.  TRUE and FALSE go with this type.  true
  and false go with the boolean type.  This probably makes no difference,
  because TRUE happens to be implemented with the same value as true and
  there are lots of implicit versions between the types.
  
  Yes, I noticed the return types are still ints. It doesn’t look difficult
  to convert it to use a real boolean type.  In any case, I would prefer to 
  go
  forward (using bool) instead of reverting this change.
  
  That wuld be sideways.
  
  I forgot to mention (again) in my previous reply that boolean_t is a mistake
  by me.  KNF code doesn't even use the ! operator, but uses explicit
  comparison with 0.  The boolean_t type and TRUE and FALSE are from Mach.
  They were used mainly in ddb and vm, and are still almost never used in
  kern.  I used to like typedefs and a typedef for boolean types, and didn't
  know KNF very well, so in 1995 I moved the declaration of boolean_t from
  Mach vm code to sys/types.h to try to popularize it.  This was a mistake.
  Fortunately, it is still rarely used in core kernel code.
  
  The boolean type is also almost never used for syscalls.  In POSIX.1-2001,
  stdbool.h is inherited from C99, but is never used for any other POSIX
  API.  Using it for syscalls would mainly cause portability problems.
  
 
 OK, I do understand the kernel wants to keep the C dialect somewhat limited,
 and adding stdbool.h doesn’t buy us any type safety here.
 
 I’ll revert the change (prob. tomorrow though).

I will disagree with Bruce a bit and put my vote in for replacing boolean_t
with bool where it is used.  I do think that logically (if not strictly) your
commit is a type mismatch as TRUE/FALSE is for boolean_t and true/false are
for bool.  I agree with Bruce that we probably don't want to use bool for
system calls.  However, I think using bool in the kernel itself is ok and that
we should replace boolean_t with bool.

-- 
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: r283105 - head/share/man/man9

2015-05-19 Thread Bruce Evans

On Tue, 19 May 2015, Julian Elischer wrote:


Author: julian

Log:
 Only several years late, catch the psignal man page up to the
 fact that psignal has been renamed to kern_psignal since 9.0.

 MFC after: 1 week


It would be better to fix the function to match its documented name.

Many other function names are similarly broken.  For example, the primary
function in getenv(9).

There is not a single syscall named foo() misnamed as sys_foo() in any
section 9 man page, but I think that is because there never was a single
syscall named whose kernel part foo() is documented as foo(9) in any
man page, so there was no documentation except the source code to break
by renaming.

There is even less than null documentation for the kern_foo() layer of
syscalls named foo().  Null documentation would be empty.  The actual
documentation is .Xr kern_openat 9 in devfs_set_cdevpriv.9.  This
reference is more broken than usual.  As usual, the man page containing
the pointer gives no hint on what might be relevant in the pointed-to
man page.  Here the pointed-to man page also doesn't exist.


Modified:
 head/share/man/man9/psignal.9

Modified: head/share/man/man9/psignal.9


Now the name of this manpage is broken.  It doesn't match the name of
any function in it.


==
--- head/share/man/man9/psignal.9   Tue May 19 09:28:52 2015
(r283104)
+++ head/share/man/man9/psignal.9   Tue May 19 11:33:04 2015
(r283105)
@@ -33,6 +33,7 @@
.Os
.Sh NAME
.Nm psignal ,
+.Nm kern_psignal ,
.Nm pgsignal ,
.Nm gsignal ,
.Nm tdsignal


psignal() was misnamed because there is a section 3 psignal() and namespaces
are handled badly somewhere.

The other functions here don't conflict with application names and
were not renamed.  This gives an inconsistent namespace here.  All the
other functions have shorter names without an underscore.  If the functions
(in userland too) had modern uglier names with 'signal' (or better 'sig',
but that wouldn't be verbose enough) as a prefix, then renaming would
cause larger inconsistencies, but wouldn't be necessary since there would
be no conflict because p would be spelled verbosely as 'process' in the kernel
and 'print' in userland.

More important functions like printf() and malloc() weren't renamed since
the churn from than would be too painful.

The kernel is compiled with -ffreestanding to handle namespaces correctly
in it.  This is the correct way of preventing the compiler knowing too
much about printf() and turning it into functions that don't exist in the
kernel.  The kernel malloc() is even more incompatible.

printf(9) has the worse name printk() in Minix and Linux.  I liked to
get away from that.  This was technically needed in Minix before C90
standardized things, in particular freestanding environments.  Without
a standard, the compiler might rewrite any library function like
printf().  gcc didn't implement special support for freestanding
environments until much later when it started rewriting printf().  BSD
ignored this portability problem and just used printf(9).

Bruce
___
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: r283111 - head/sys/netpfil/ipfw

2015-05-19 Thread Luigi Rizzo
Author: luigi
Date: Tue May 19 14:49:31 2015
New Revision: 283111
URL: https://svnweb.freebsd.org/changeset/base/283111

Log:
  remove an extra ; after MODULE_DEPEND
  (would otherwise generate a warning with more verbose compiler flags)
  
  MFC after:1 week

Modified:
  head/sys/netpfil/ipfw/dn_sched.h

Modified: head/sys/netpfil/ipfw/dn_sched.h
==
--- head/sys/netpfil/ipfw/dn_sched.hTue May 19 14:23:33 2015
(r283110)
+++ head/sys/netpfil/ipfw/dn_sched.hTue May 19 14:49:31 2015
(r283111)
@@ -188,5 +188,5 @@ int dn_sched_modevent(module_t mod, int 
};  \
DECLARE_MODULE(name, name##_mod,\
SI_SUB_PROTO_IFATTACHDOMAIN, SI_ORDER_ANY); \
-MODULE_DEPEND(name, dummynet, 3, 3, 3);
+MODULE_DEPEND(name, dummynet, 3, 3, 3)
 #endif /* _DN_SCHED_H */
___
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: r283112 - in head: lib/libpmc sys/arm/arm sys/arm64/arm64 sys/arm64/include sys/conf sys/dev/hwpmc sys/sys

2015-05-19 Thread Ruslan Bukin
Author: br
Date: Tue May 19 15:25:47 2015
New Revision: 283112
URL: https://svnweb.freebsd.org/changeset/base/283112

Log:
  Add Performance Monitoring Counters support for AArch64.
  Family-common and CPU-specific counters implemented.
  
  Supported CPUs: ARM Cortex A53/57/72.
  
  Reviewed by:  andrew, bz, emaste, gnn, jhb
  Sponsored by: ARM Limited
  Differential Revision:https://reviews.freebsd.org/D2555

Added:
  head/sys/dev/hwpmc/hwpmc_arm64.c   (contents, props changed)
  head/sys/dev/hwpmc/hwpmc_arm64.h   (contents, props changed)
  head/sys/dev/hwpmc/hwpmc_arm64_md.c   (contents, props changed)
Modified:
  head/lib/libpmc/libpmc.c
  head/sys/arm/arm/pmu.c
  head/sys/arm64/arm64/intr_machdep.c
  head/sys/arm64/include/armreg.h
  head/sys/arm64/include/pmc_mdep.h
  head/sys/conf/files.arm64
  head/sys/dev/hwpmc/pmc_events.h
  head/sys/sys/pmc.h

Modified: head/lib/libpmc/libpmc.c
==
--- head/lib/libpmc/libpmc.cTue May 19 14:49:31 2015(r283111)
+++ head/lib/libpmc/libpmc.cTue May 19 15:25:47 2015(r283112)
@@ -82,6 +82,10 @@ static int xscale_allocate_pmc(enum pmc_
 static int armv7_allocate_pmc(enum pmc_event _pe, char *_ctrspec,
 struct pmc_op_pmcallocate *_pmc_config);
 #endif
+#if defined(__aarch64__)
+static int arm64_allocate_pmc(enum pmc_event _pe, char *_ctrspec,
+struct pmc_op_pmcallocate *_pmc_config);
+#endif
 #if defined(__mips__)
 static int mips_allocate_pmc(enum pmc_event _pe, char* ctrspec,
 struct pmc_op_pmcallocate *_pmc_config);
@@ -158,6 +162,7 @@ PMC_CLASSDEP_TABLE(p5, P5);
 PMC_CLASSDEP_TABLE(p6, P6);
 PMC_CLASSDEP_TABLE(xscale, XSCALE);
 PMC_CLASSDEP_TABLE(armv7, ARMV7);
+PMC_CLASSDEP_TABLE(armv8, ARMV8);
 PMC_CLASSDEP_TABLE(mips24k, MIPS24K);
 PMC_CLASSDEP_TABLE(mips74k, MIPS74K);
 PMC_CLASSDEP_TABLE(octeon, OCTEON);
@@ -263,6 +268,16 @@ static const struct pmc_event_descr west
__PMC_EV_ALIAS_WESTMEREUC()
 };
 
+static const struct pmc_event_descr cortex_a53_event_table[] = 
+{
+   __PMC_EV_ALIAS_ARMV8_CORTEX_A53()
+};
+
+static const struct pmc_event_descr cortex_a57_event_table[] = 
+{
+   __PMC_EV_ALIAS_ARMV8_CORTEX_A57()
+};
+
 /*
  * PMC_MDEP_TABLE(NAME, PRIMARYCLASS, ADDITIONAL_CLASSES...)
  *
@@ -294,6 +309,8 @@ PMC_MDEP_TABLE(p5, P5, PMC_CLASS_SOFT, P
 PMC_MDEP_TABLE(p6, P6, PMC_CLASS_SOFT, PMC_CLASS_TSC);
 PMC_MDEP_TABLE(xscale, XSCALE, PMC_CLASS_SOFT, PMC_CLASS_XSCALE);
 PMC_MDEP_TABLE(armv7, ARMV7, PMC_CLASS_SOFT, PMC_CLASS_ARMV7);
+PMC_MDEP_TABLE(cortex_a53, ARMV8, PMC_CLASS_SOFT, PMC_CLASS_ARMV8);
+PMC_MDEP_TABLE(cortex_a57, ARMV8, PMC_CLASS_SOFT, PMC_CLASS_ARMV8);
 PMC_MDEP_TABLE(mips24k, MIPS24K, PMC_CLASS_SOFT, PMC_CLASS_MIPS24K);
 PMC_MDEP_TABLE(mips74k, MIPS74K, PMC_CLASS_SOFT, PMC_CLASS_MIPS74K);
 PMC_MDEP_TABLE(octeon, OCTEON, PMC_CLASS_SOFT, PMC_CLASS_OCTEON);
@@ -362,6 +379,10 @@ PMC_CLASS_TABLE_DESC(xscale, XSCALE, xsc
 #endif
 PMC_CLASS_TABLE_DESC(armv7, ARMV7, armv7, armv7);
 #endif
+#ifdefined(__aarch64__)
+PMC_CLASS_TABLE_DESC(cortex_a53, ARMV8, cortex_a53, arm64);
+PMC_CLASS_TABLE_DESC(cortex_a57, ARMV8, cortex_a57, arm64);
+#endif
 #if defined(__mips__)
 PMC_CLASS_TABLE_DESC(mips24k, MIPS24K, mips24k, mips);
 PMC_CLASS_TABLE_DESC(mips74k, MIPS74K, mips74k, mips);
@@ -2429,6 +2450,26 @@ armv7_allocate_pmc(enum pmc_event pe, ch
 }
 #endif
 
+#ifdefined(__aarch64__)
+static struct pmc_event_alias cortex_a53_aliases[] = {
+   EV_ALIAS(NULL, NULL)
+};
+static struct pmc_event_alias cortex_a57_aliases[] = {
+   EV_ALIAS(NULL, NULL)
+};
+static int
+arm64_allocate_pmc(enum pmc_event pe, char *ctrspec __unused,
+struct pmc_op_pmcallocate *pmc_config __unused)
+{
+   switch (pe) {
+   default:
+   break;
+   }
+
+   return (0);
+}
+#endif
+
 #if defined(__mips__)
 
 static struct pmc_event_alias mips24k_aliases[] = {
@@ -2938,6 +2979,19 @@ pmc_event_names_of_class(enum pmc_class 
ev = armv7_event_table;
count = PMC_EVENT_TABLE_SIZE(armv7);
break;
+   case PMC_CLASS_ARMV8:
+   switch (cpu_info.pm_cputype) {
+   default:
+   case PMC_CPU_ARMV8_CORTEX_A53:
+   ev = cortex_a53_event_table;
+   count = PMC_EVENT_TABLE_SIZE(cortex_a53);
+   break;
+   case PMC_CPU_ARMV8_CORTEX_A57:
+   ev = cortex_a57_event_table;
+   count = PMC_EVENT_TABLE_SIZE(cortex_a57);
+   break;
+   }
+   break;
case PMC_CLASS_MIPS24K:
ev = mips24k_event_table;
count = PMC_EVENT_TABLE_SIZE(mips24k);
@@ -3235,6 +3289,16 @@ pmc_init(void)
pmc_class_table[n] = armv7_class_table_descr;
break;
 #endif
+#if defined(__aarch64__)
+   case PMC_CPU_ARMV8_CORTEX_A53:
+   

svn commit: r283113 - head/sys/netpfil/ipfw

2015-05-19 Thread Luigi Rizzo
Author: luigi
Date: Tue May 19 15:29:00 2015
New Revision: 283113
URL: https://svnweb.freebsd.org/changeset/base/283113

Log:
  remove a redundant ; at the end of a function
  
  MFC after:1 week

Modified:
  head/sys/netpfil/ipfw/ip_dn_private.h

Modified: head/sys/netpfil/ipfw/ip_dn_private.h
==
--- head/sys/netpfil/ipfw/ip_dn_private.h   Tue May 19 15:25:47 2015
(r283112)
+++ head/sys/netpfil/ipfw/ip_dn_private.h   Tue May 19 15:29:00 2015
(r283113)
@@ -92,7 +92,7 @@ set_oid(struct dn_id *o, int type, int l
 o-type = type;
 o-len = len;
 o-subtype = 0;
-};
+}
 
 /*
  * configuration and global data for a dummynet instance
___
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: r283116 - head/sys/netpfil/ipfw

2015-05-19 Thread Luigi Rizzo
Author: luigi
Date: Tue May 19 16:51:30 2015
New Revision: 283116
URL: https://svnweb.freebsd.org/changeset/base/283116

Log:
  use proper types to represent function pointers

Modified:
  head/sys/netpfil/ipfw/ip_fw_pfil.c
  head/sys/netpfil/ipfw/ip_fw_sockopt.c

Modified: head/sys/netpfil/ipfw/ip_fw_pfil.c
==
--- head/sys/netpfil/ipfw/ip_fw_pfil.c  Tue May 19 16:23:47 2015
(r283115)
+++ head/sys/netpfil/ipfw/ip_fw_pfil.c  Tue May 19 16:51:30 2015
(r283116)
@@ -505,7 +505,7 @@ static int
 ipfw_hook(int onoff, int pf)
 {
struct pfil_head *pfh;
-   void *hook_func;
+   pfil_func_t hook_func;
 
pfh = pfil_head_get(PFIL_TYPE_AF, pf);
if (pfh == NULL)

Modified: head/sys/netpfil/ipfw/ip_fw_sockopt.c
==
--- head/sys/netpfil/ipfw/ip_fw_sockopt.c   Tue May 19 16:23:47 2015
(r283115)
+++ head/sys/netpfil/ipfw/ip_fw_sockopt.c   Tue May 19 16:51:30 2015
(r283116)
@@ -2846,7 +2846,7 @@ compare_sh(const void *_a, const void *_
  * Returns pointer to handler or NULL.
  */
 static struct ipfw_sopt_handler *
-find_sh(uint16_t code, uint8_t version, void *handler)
+find_sh(uint16_t code, uint8_t version, sopt_handler_f *handler)
 {
struct ipfw_sopt_handler *sh, h;
 
___
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: r283117 - head/sys/netipsec

2015-05-19 Thread Andrey V. Elsukov
Author: ae
Date: Tue May 19 17:14:27 2015
New Revision: 283117
URL: https://svnweb.freebsd.org/changeset/base/283117

Log:
  Remove unneded mbuf length adjustment, M_PREPEND() already did that.
  
  PR:   139387
  MFC after:1 week

Modified:
  head/sys/netipsec/keysock.c

Modified: head/sys/netipsec/keysock.c
==
--- head/sys/netipsec/keysock.c Tue May 19 16:51:30 2015(r283116)
+++ head/sys/netipsec/keysock.c Tue May 19 17:14:27 2015(r283117)
@@ -149,8 +149,6 @@ key_sendup0(struct rawcb *rp, struct mbu
PFKEYSTAT_INC(in_nomem);
return (ENOBUFS);
}
-   m-m_pkthdr.len += sizeof(*pmsg); /* XXX: is this correct? */
-
pmsg = mtod(m, struct sadb_msg *);
bzero(pmsg, sizeof(*pmsg));
pmsg-sadb_msg_version = PF_KEY_V2;
___
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: r283118 - head/sbin/ipfw

2015-05-19 Thread Alexander V. Chernikov
Author: melifaro
Date: Tue May 19 18:29:13 2015
New Revision: 283118
URL: https://svnweb.freebsd.org/changeset/base/283118

Log:
  Bring back support for checking tables via ipfw -n.
  
  Currently we have different table key types which can easily interfere
  with each other (numbers and IPv4 address, interface names and hostnames,
flows and hostnames/addresses).
  This conflicts are solved by [auto-]creating _typed_ tables, so after
  table is created, only keys of given type can be inserted to that table.
  ipfw(8) consults with kernel about key/value type for particular table so
  it knows key/value interpretation.
  However, we have 2 cases (adding entries to non-existing table and
parsing configuration file via `ipfw -n`) when kernel is unable to
provide us table info we need. Fix the latter case by partially importing
old `table_fill_xentry()` parse function responsible for guessing key type.
  
  Sponsored by: Yandex LLC

Modified:
  head/sbin/ipfw/tables.c

Modified: head/sbin/ipfw/tables.c
==
--- head/sbin/ipfw/tables.c Tue May 19 17:14:27 2015(r283117)
+++ head/sbin/ipfw/tables.c Tue May 19 18:29:13 2015(r283118)
@@ -1310,6 +1310,63 @@ tentry_fill_key_type(char *arg, ipfw_obj
tentry-masklen = masklen;
 }
 
+/*
+ * Tries to guess table key type.
+ * This procedure is used in legacy table auto-create
+ * code AND in `ipfw -n` ruleset checking.
+ *
+ * Imported from old table_fill_xentry() parse code.
+ */
+static int
+guess_key_type(char *key, uint8_t *ptype)
+{
+   char *p;
+   struct in6_addr addr;
+   uint32_t kv;
+
+   if (ishexnumber(*key) != 0 || *key == ':') {
+   /* Remove / if exists */
+   if ((p = strchr(key, '/')) != NULL)
+   *p = '\0';
+
+   if ((inet_pton(AF_INET, key, addr) == 1) ||
+   (inet_pton(AF_INET6, key, addr) == 1)) {
+   *ptype = IPFW_TABLE_CIDR;
+   if (p != NULL)
+   *p = '/';
+   return (0);
+   } else {
+   /* Port or any other key */
+   /* Skip non-base 10 entries like 'fa1' */
+   kv = strtol(key, p, 10);
+   if (*p == '\0') {
+   *ptype = IPFW_TABLE_NUMBER;
+   return (0);
+   } else if ((p != key)  (*p == '.')) {
+   /*
+* Warn on IPv4 address strings
+* which are valid for inet_aton() but not
+* in inet_pton().
+*
+* Typical examples: '10.5' or '10.0.0.05'
+*/
+   return (1);
+   }
+   }
+   }
+
+   if (strchr(key, '.') == NULL) {
+   *ptype = IPFW_TABLE_INTERFACE;
+   return (0);
+   }
+
+   if (lookup_host(key, (struct in_addr *)addr) != 0)
+   return (1);
+
+   *ptype = IPFW_TABLE_CIDR;
+   return (0);
+}
+
 static void
 tentry_fill_key(ipfw_obj_header *oh, ipfw_obj_tentry *tent, char *key,
 int add, uint8_t *ptype, uint32_t *pvmask, ipfw_xtable_info *xi)
@@ -1317,7 +1374,6 @@ tentry_fill_key(ipfw_obj_header *oh, ipf
uint8_t type, tflags;
uint32_t vmask;
int error;
-   char *del;
 
type = 0;
tflags = 0;
@@ -1329,10 +1385,24 @@ tentry_fill_key(ipfw_obj_header *oh, ipf
error = 0;
 
if (error == 0) {
-   /* Table found. */
-   type = xi-type;
-   tflags = xi-tflags;
-   vmask = xi-vmask;
+   if (co.test_only == 0) {
+   /* Table found */
+   type = xi-type;
+   tflags = xi-tflags;
+   vmask = xi-vmask;
+   } else {
+   /*
+* we're running `ipfw -n`
+* Compability layer: try to guess key type
+* before failing.
+*/
+   if (guess_key_type(key, type) != 0) {
+   /* Inknown key */
+   errx(EX_USAGE, Cannot guess 
+   key '%s' type, key);
+   }
+   vmask = IPFW_VTYPE_LEGACY;
+   }
} else {
if (error != ESRCH)
errx(EX_OSERR, Error requesting table %s info,
@@ -1341,24 +1411,16 @@ tentry_fill_key(ipfw_obj_header *oh, ipf
errx(EX_DATAERR, Table %s does not exist,
oh-ntlv.name);
   

svn commit: r283119 - head/sys/dev/ixl

2015-05-19 Thread John Baldwin
Author: jhb
Date: Tue May 19 18:35:18 2015
New Revision: 283119
URL: https://svnweb.freebsd.org/changeset/base/283119

Log:
  Remove executable property from several ixl(4) source files.
  
  Differential Revision:https://reviews.freebsd.org/D2583
  Reviewed by:  erj

Modified:
Directory Properties:
  head/sys/dev/ixl/i40e_adminq.c   (props changed)
  head/sys/dev/ixl/i40e_adminq.h   (props changed)
  head/sys/dev/ixl/i40e_adminq_cmd.h   (props changed)
  head/sys/dev/ixl/i40e_alloc.h   (props changed)
  head/sys/dev/ixl/i40e_common.c   (props changed)
  head/sys/dev/ixl/i40e_hmc.c   (props changed)
  head/sys/dev/ixl/i40e_hmc.h   (props changed)
  head/sys/dev/ixl/i40e_lan_hmc.c   (props changed)
  head/sys/dev/ixl/i40e_lan_hmc.h   (props changed)
  head/sys/dev/ixl/i40e_nvm.c   (props changed)
  head/sys/dev/ixl/i40e_osdep.c   (props changed)
  head/sys/dev/ixl/i40e_osdep.h   (props changed)
  head/sys/dev/ixl/i40e_prototype.h   (props changed)
  head/sys/dev/ixl/i40e_register.h   (props changed)
  head/sys/dev/ixl/i40e_status.h   (props changed)
  head/sys/dev/ixl/i40e_type.h   (props changed)
  head/sys/dev/ixl/i40e_virtchnl.h   (props changed)
  head/sys/dev/ixl/if_ixl.c   (props changed)
  head/sys/dev/ixl/ixl_txrx.c   (props changed)
___
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: r283104 - head/sys/geom/uncompress

2015-05-19 Thread Adrian Chadd
Sweet, just checking. Thanks for finding this!


-a
___
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: r283120 - in head: lib/libpmc sys/dev/hwpmc sys/sys

2015-05-19 Thread John Baldwin
Author: jhb
Date: Tue May 19 18:58:18 2015
New Revision: 283120
URL: https://svnweb.freebsd.org/changeset/base/283120

Log:
  Use fixed enum values for PMC_CLASSES().
  
  This removes one of the frequent causes of ABI breakage when new CPU
  types are added to hwpmc(4).
  
  Differential Revision:https://reviews.freebsd.org/D2586
  Reviewed by:  davide, emaste, gnn (earlier version)
  MFC after:2 weeks

Modified:
  head/lib/libpmc/libpmc.c
  head/sys/dev/hwpmc/hwpmc_mod.c
  head/sys/sys/pmc.h

Modified: head/lib/libpmc/libpmc.c
==
--- head/lib/libpmc/libpmc.cTue May 19 18:35:18 2015(r283119)
+++ head/lib/libpmc/libpmc.cTue May 19 18:58:18 2015(r283120)
@@ -423,9 +423,14 @@ static const char * pmc_capability_names
__PMC_CAPS()
 };
 
-static const char * pmc_class_names[] = {
+struct pmc_class_map {
+   enum pmc_class  pm_class;
+   const char  *pm_name;
+};
+
+static const struct pmc_class_map pmc_class_names[] = {
 #undef __PMC_CLASS
-#define __PMC_CLASS(C) #C ,
+#define __PMC_CLASS(S,V,D) { .pm_class = PMC_CLASS_##S, .pm_name = #S } ,
__PMC_CLASSES()
 };
 
@@ -3362,9 +3367,11 @@ pmc_name_of_capability(enum pmc_caps cap
 const char *
 pmc_name_of_class(enum pmc_class pc)
 {
-   if ((int) pc = PMC_CLASS_FIRST 
-   pc = PMC_CLASS_LAST)
-   return (pmc_class_names[pc]);
+   size_t n;
+
+   for (n = 0; n  PMC_TABLE_SIZE(pmc_class_names); n++)
+   if (pc == pmc_class_names[n].pm_class)
+   return (pmc_class_names[n].pm_name);
 
errno = EINVAL;
return (NULL);

Modified: head/sys/dev/hwpmc/hwpmc_mod.c
==
--- head/sys/dev/hwpmc/hwpmc_mod.c  Tue May 19 18:35:18 2015
(r283119)
+++ head/sys/dev/hwpmc/hwpmc_mod.c  Tue May 19 18:58:18 2015
(r283120)
@@ -4625,12 +4625,20 @@ pmc_kld_unload(void *arg __unused, const
 /*
  * initialization
  */
+static const char *
+pmc_name_of_pmcclass(enum pmc_class class)
+{
 
-static const char *pmc_name_of_pmcclass[] = {
+   switch (class) {
 #undef __PMC_CLASS
-#define__PMC_CLASS(N) #N ,
-   __PMC_CLASSES()
-};
+#define__PMC_CLASS(S,V,D)  
\
+   case PMC_CLASS_##S: \
+   return #S;
+   __PMC_CLASSES();
+   default:
+   return (unknown);
+   }
+}
 
 /*
  * Base class initializer: allocate structure and set default classes.
@@ -4909,7 +4917,7 @@ pmc_initialize(void)
for (n = 0; n  (int) md-pmd_nclass; n++) {
pcd = md-pmd_classdep[n];
printf( %s/%d/%d/0x%b,
-   pmc_name_of_pmcclass[pcd-pcd_class],
+   pmc_name_of_pmcclass(pcd-pcd_class),
pcd-pcd_num,
pcd-pcd_width,
pcd-pcd_caps,

Modified: head/sys/sys/pmc.h
==
--- head/sys/sys/pmc.h  Tue May 19 18:35:18 2015(r283119)
+++ head/sys/sys/pmc.h  Tue May 19 18:58:18 2015(r283120)
@@ -123,30 +123,30 @@ enum pmc_cputype {
  */
 
 #define__PMC_CLASSES() 
\
-   __PMC_CLASS(TSC)/* CPU Timestamp counter */ \
-   __PMC_CLASS(K7) /* AMD K7 performance counters */   \
-   __PMC_CLASS(K8) /* AMD K8 performance counters */   \
-   __PMC_CLASS(P5) /* Intel Pentium counters */\
-   __PMC_CLASS(P6) /* Intel Pentium Pro counters */\
-   __PMC_CLASS(P4) /* Intel Pentium-IV counters */ \
-   __PMC_CLASS(IAF)/* Intel Core2/Atom, fixed function */  \
-   __PMC_CLASS(IAP)/* Intel Core...Atom, programmable */   \
-   __PMC_CLASS(UCF)/* Intel Uncore fixed function */   \
-   __PMC_CLASS(UCP)/* Intel Uncore programmable */ \
-   __PMC_CLASS(XSCALE) /* Intel XScale counters */ \
-   __PMC_CLASS(ARMV7)  /* ARMv7 */ \
-   __PMC_CLASS(ARMV8)  /* ARMv8 */ \
-   __PMC_CLASS(MIPS24K)/* MIPS 24K */  \
-   __PMC_CLASS(OCTEON) /* Cavium Octeon */ \
-   __PMC_CLASS(MIPS74K)/* MIPS 74K */  \
-   __PMC_CLASS(PPC7450)/* Motorola MPC7450 class */\
-   __PMC_CLASS(PPC970) /* IBM PowerPC 970 class */ \
-   __PMC_CLASS(E500)   /* Freescale e500 class */  \
-   __PMC_CLASS(SOFT)   /* Software events */
+   __PMC_CLASS(TSC,0x000,  CPU Timestamp 

Re: svn commit: r283105 - head/share/man/man9

2015-05-19 Thread Benjamin Kaduk
On Tue, May 19, 2015 at 8:34 AM, Bruce Evans b...@optusnet.com.au wrote:

 On Tue, 19 May 2015, Julian Elischer wrote:

  Author: julian

 Log:
  Only several years late, catch the psignal man page up to the
  fact that psignal has been renamed to kern_psignal since 9.0.

  MFC after: 1 week


 It would be better to fix the function to match its documented name.


Whoops, I missed this prior to committing r283114.

Julian, 'mandoc -Tlint share/man/man9/psignal.9' would complain about the
trailing whitespace.

-Ben
___
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: r283104 - head/sys/geom/uncompress

2015-05-19 Thread Adrian Chadd
Hi,

How big are the images you were using?

Did you try on the smaller footprint boards (eg things with  128MB
RAM) to see if it changed behaviour?


-a


On 19 May 2015 at 02:28, Andrey V. Elsukov a...@freebsd.org wrote:
 Author: ae
 Date: Tue May 19 09:28:52 2015
 New Revision: 283104
 URL: https://svnweb.freebsd.org/changeset/base/283104

 Log:
   Read GEOM_UNCOMPRESS metadata using several requests that fit into
   MAXPHYS. For large compressed images the metadata size can be bigger
   than MAXPHYS and this triggers KASSERT in g_read_data().
   Also use g_free() to free memory allocated by g_read_data().

   PR:   199476
   MFC after:2 weeks

 Modified:
   head/sys/geom/uncompress/g_uncompress.c

 Modified: head/sys/geom/uncompress/g_uncompress.c
 ==
 --- head/sys/geom/uncompress/g_uncompress.c Tue May 19 09:22:06 2015  
   (r283103)
 +++ head/sys/geom/uncompress/g_uncompress.c Tue May 19 09:28:52 2015  
   (r283104)
 @@ -464,7 +464,8 @@ g_uncompress_taste(struct g_class *mp, s
 struct g_provider *pp2;
 struct g_consumer *cp;
 struct g_geom *gp;
 -   uint32_t i, total_offsets, type;
 +   uint64_t *offsets;
 +   uint32_t i, r, total, total_offsets, type;
 uint8_t *buf;
 int error;

 @@ -499,8 +500,8 @@ g_uncompress_taste(struct g_class *mp, s
  */
 DPRINTF((%s: media sectorsize %u, mediasize %jd\n,
 gp-name, pp-sectorsize, (intmax_t)pp-mediasize));
 -   i = roundup(sizeof(struct cloop_header), pp-sectorsize);
 -   buf = g_read_data(cp, 0, i, NULL);
 +   total = roundup(sizeof(struct cloop_header), pp-sectorsize);
 +   buf = g_read_data(cp, 0, total, NULL);
 if (buf == NULL)
 goto err;
 header = (struct cloop_header *) buf;
 @@ -557,20 +558,29 @@ g_uncompress_taste(struct g_class *mp, s
 gp-name, sc-nblocks);
 goto err;
 }
 -   free(buf, M_GEOM);
 +   g_free(buf);

 -   i = roundup((sizeof(struct cloop_header) +
 -   total_offsets * sizeof(uint64_t)), pp-sectorsize);
 -   buf = g_read_data(cp, 0, i, NULL);
 -   if (buf == NULL)
 -   goto err;
 sc-offsets = malloc(total_offsets * sizeof(uint64_t),
 -   M_GEOM_UNCOMPRESS, M_WAITOK);
 -   for (i = 0; i = total_offsets; i++) {
 -   sc-offsets[i] = be64toh(((uint64_t *)
 -   (buf+sizeof(struct cloop_header)))[i]);
 +   M_GEOM_UNCOMPRESS, M_WAITOK | M_ZERO);
 +   total = roundup((sizeof(struct cloop_header) +
 +   total_offsets * sizeof(uint64_t)), pp-sectorsize);
 +#defineRSZ ((total - r)  MAXPHYS ? MAXPHYS: (total - r))
 +   for (r = 0, i = 0; r  total; r += MAXPHYS) {
 +   buf = g_read_data(cp, r, RSZ, error);
 +   if (buf == NULL) {
 +   free(sc-offsets, M_GEOM_UNCOMPRESS);
 +   goto err;
 +   }
 +   offsets = (uint64_t *)buf;
 +   if (r == 0)
 +   offsets +=
 +   sizeof(struct cloop_header) / sizeof(uint64_t);
 +   for (; i  total_offsets  offsets  (uint64_t *)(buf + RSZ);
 +   i++, offsets++)
 +   sc-offsets[i] = be64toh(*offsets);
 +   g_free(buf);
 }
 -   free(buf, M_GEOM);
 +#undef RSZ
 buf = NULL;
 DPRINTF((%s: done reading offsets\n, gp-name));
 mtx_init(sc-last_mtx, geom_uncompress cache, NULL, MTX_DEF);
 @@ -619,7 +629,7 @@ err:
 g_topology_lock();
 g_access(cp, -1, 0, 0);
 if (buf != NULL)
 -   free(buf, M_GEOM);
 +   g_free(buf);
 if (gp-softc != NULL) {
 g_uncompress_softc_free(gp-softc, NULL);
 gp-softc = NULL;

___
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: r283132 - head/lib/libproc

2015-05-19 Thread Baptiste Daroussin
Author: bapt
Date: Tue May 19 22:23:15 2015
New Revision: 283132
URL: https://svnweb.freebsd.org/changeset/base/283132

Log:
  Fix underlinking

Modified:
  head/lib/libproc/Makefile

Modified: head/lib/libproc/Makefile
==
--- head/lib/libproc/Makefile   Tue May 19 22:22:53 2015(r283131)
+++ head/lib/libproc/Makefile   Tue May 19 22:23:15 2015(r283132)
@@ -23,6 +23,8 @@ LIBADD+=  cxxrt
 LIBADD+=   supcplusplus
 .endif
 
+LIBADD+=   elf rtld_db util
+
 .if ${MK_CDDL} != no
 LIBADD+=   ctf
 IGNORE_PRAGMA= YES
___
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: r283131 - head/share/mk

2015-05-19 Thread Baptiste Daroussin
Author: bapt
Date: Tue May 19 22:22:53 2015
New Revision: 283131
URL: https://svnweb.freebsd.org/changeset/base/283131

Log:
  Register libdtrace and its direct and indirect dependencies
  Register librdlt_db
  Register libproc dependencies
  Register libctf dependencies

Modified:
  head/share/mk/src.libnames.mk

Modified: head/share/mk/src.libnames.mk
==
--- head/share/mk/src.libnames.mk   Tue May 19 21:59:00 2015
(r283130)
+++ head/share/mk/src.libnames.mk   Tue May 19 22:22:53 2015
(r283131)
@@ -78,6 +78,7 @@ _LIBRARIES=   \
devstat \
dialog \
dpv \
+   dtrace \
dwarf \
edit \
elf \
@@ -133,6 +134,7 @@ _LIBRARIES= \
rpcsec_gss \
rpcsvc \
rt \
+   rtld_db \
sbuf \
sdp \
sm \
@@ -230,6 +232,9 @@ _DP_gssapi_krb5+=   gssapi krb5 crypto rok
 _DP_lzma=  pthread
 _DP_ucl=   m
 _DP_vmmapi=util
+_DP_ctf=   z
+_DP_proc=  rtld_db util
+_DP_dtrace=rtld_db pthread
 
 # Define spacial cases
 LDADD_supcplusplus=-lsupc++
@@ -275,6 +280,9 @@ LDADD_ipf+= ${LDADD_kvm}
 DPADD_mt+= ${DPADD_sbuf}
 LDADD_mt+= ${LDADD_sbuf}
 
+DPADD_dtrace+= ${DPADD_ctf} ${DPADD_elf} ${DPADD_proc}
+LDADD_dtrace+= ${LDADD_ctf} ${LDADD_elf} ${LDADD_proc}
+
 # The following depends on libraries which are using pthread
 DPADD_hdb+=${DPADD_pthread}
 LDADD_hdb+=${LDADD_pthread}
___
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: r283134 - in head/cddl/usr.sbin: lockstat plockstat

2015-05-19 Thread Baptiste Daroussin
Author: bapt
Date: Tue May 19 22:29:11 2015
New Revision: 283134
URL: https://svnweb.freebsd.org/changeset/base/283134

Log:
  Reduce overlinking.
  Because of libdtrace there is still a bit a overlinking but nothing we can 
deal
  with easily

Modified:
  head/cddl/usr.sbin/lockstat/Makefile
  head/cddl/usr.sbin/plockstat/Makefile

Modified: head/cddl/usr.sbin/lockstat/Makefile
==
--- head/cddl/usr.sbin/lockstat/MakefileTue May 19 22:24:19 2015
(r283133)
+++ head/cddl/usr.sbin/lockstat/MakefileTue May 19 22:29:11 2015
(r283134)
@@ -21,10 +21,6 @@ CFLAGS+= -DNEED_ERRLOC -g
 
 #YFLAGS+=  -d
 
-DPADD= ${LIBPTHREAD} ${LIBDTRACE} ${LIBY} ${LIBL} ${LIBPROC} \
-   ${LIBCTF} ${LIBELF} ${LIBZ} ${LIBRT} ${LIBUTIL} \
-   ${LIBRTLD_DB}
-LDADD= -lpthread -ldtrace -ly -ll -lproc -lctf -lelf -lz -lrt -lutil \
-   -lrtld_db
+LIBADD=elf dtrace rt
 
 .include bsd.prog.mk

Modified: head/cddl/usr.sbin/plockstat/Makefile
==
--- head/cddl/usr.sbin/plockstat/Makefile   Tue May 19 22:24:19 2015
(r283133)
+++ head/cddl/usr.sbin/plockstat/Makefile   Tue May 19 22:29:11 2015
(r283134)
@@ -18,9 +18,6 @@ CFLAGS+=  -I${.CURDIR}/../../../sys/cddl/
-I${.CURDIR}/../../../cddl/lib/libdtrace \
-I${.CURDIR}/../../../sys
 
-DPADD= ${LIBPTHREAD} ${LIBDTRACE} ${LIBY} ${LIBL} ${LIBPROC} ${LIBCTF}\
-   ${LIBELF} ${LIBZ} ${LIBRT} ${LIBRTLD_DB} ${LIBUTIL}
-LDADD= -lpthread -ldtrace -ly -ll -lproc -lctf -lelf -lz -lrt \
-   -lrtld_db -lutil
+LIBADD=dtrace proc
 
 .include bsd.prog.mk
___
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: r283127 - head/sys/arm/conf

2015-05-19 Thread Warner Losh
Author: imp
Date: Tue May 19 21:16:51 2015
New Revision: 283127
URL: https://svnweb.freebsd.org/changeset/base/283127

Log:
  Add NFS server to mix (for easier, in-place updates). Move to
  partition 2 for root (since partition 1 is reserved for FAT
  files the Atmel ROMs can load).

Modified:
  head/sys/arm/conf/SAM9G20EK

Modified: head/sys/arm/conf/SAM9G20EK
==
--- head/sys/arm/conf/SAM9G20EK Tue May 19 21:16:37 2015(r283126)
+++ head/sys/arm/conf/SAM9G20EK Tue May 19 21:16:51 2015(r283127)
@@ -1,4 +1,5 @@
 # Kernel configuration for Atmel AT91SAM9G20EK Rev B. development card
+# Many after-market boards follow its conventions.
 #
 # For more information on this file, please read the handbook section on
 # Kernel Configuration Files:
@@ -40,8 +41,8 @@ options   FFS # Berkeley Fast 
Filesyste
 #options   MD_ROOT_SIZE=4096   # 4MB ram disk
 optionsNANDFS  # NAND file system
 optionsNFSCL   # Network Filesystem Client
-#options   NFSD# Network Filesystem Server
-#options   NFSLOCKD# Network Lock Manager
+optionsNFSD# Network Filesystem Server
+optionsNFSLOCKD# Network Lock Manager
 #options   NFS_ROOT# NFS usable as /, requires NFSCL
 #options   MSDOSFS # MSDOS Filesystem
 #options   CD9660  # ISO 9660 Filesystem
@@ -59,6 +60,7 @@ options   _KPOSIX_PRIORITY_SCHEDULING # P
 # Debugging support.  Always need this:
 optionsKDB # Enable kernel debugger support
 optionsDDB # Enable the kernel debugger
+# Always turn these off, even in -current builds, they are too slow.
 #options   INVARIANTS  # Enable calls of extra sanity checking
 #options   INVARIANT_SUPPORT   # Extra sanity checks of internal 
structures, required by INVARIANTS
 #options   WITNESS # Enable checks to detect deadlocks and 
cycles
@@ -72,7 +74,9 @@ options   DDB # Enable the kernel 
debug
 #options   BOOTP_NFSV3
 #options   BOOTP_WIRED_TO=ate0
 
-optionsROOTDEVNAME=\ufs:/dev/mmcsd0s1a\
+# s2 because s1 is reserved for the DOS parittions sometimes needed to
+# boot off SD cards on the G20 and newer chips.
+optionsROOTDEVNAME=\ufs:/dev/mmcsd0s2a\
 
 # kernel/memory size reduction
 optionsMUTEX_NOINLINE
___
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: r283126 - head/sys/arm/arm

2015-05-19 Thread Warner Losh
Author: imp
Date: Tue May 19 21:16:37 2015
New Revision: 283126
URL: https://svnweb.freebsd.org/changeset/base/283126

Log:
  Improve comment about unmapped I/O and fix typos.
  
  Submitted by: Matteo Riondato
  MFC After: 2 days

Modified:
  head/sys/arm/arm/pmap.c

Modified: head/sys/arm/arm/pmap.c
==
--- head/sys/arm/arm/pmap.c Tue May 19 21:00:53 2015(r283125)
+++ head/sys/arm/arm/pmap.c Tue May 19 21:16:37 2015(r283126)
@@ -4311,10 +4311,10 @@ pmap_copy_page(vm_page_t src, vm_page_t 
 }
 
 /*
- * We have code to do unmapped I/O. However, it isn't quite right
- * an causes un-page-aligned I/O to devices to fail (most notably
- * newfs or fsck). We give up a little performance to do this, but
- * we trade that for rock-solid stability so it is a good trade.
+ * We have code to do unmapped I/O. However, it isn't quite right and
+ * causes un-page-aligned I/O to devices to fail (most notably newfs
+ * or fsck). We give up a little performance to not allow unmapped I/O
+ * to gain stability.
  */
 int unmapped_buf_allowed = 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


svn commit: r283133 - in head/cddl: lib/libdtrace usr.sbin/dtrace

2015-05-19 Thread Baptiste Daroussin
Author: bapt
Date: Tue May 19 22:24:19 2015
New Revision: 283133
URL: https://svnweb.freebsd.org/changeset/base/283133

Log:
  Correctly link libdtrace and convert to LIBADD
  Make dtrace only link to libdtrace

Modified:
  head/cddl/lib/libdtrace/Makefile
  head/cddl/usr.sbin/dtrace/Makefile

Modified: head/cddl/lib/libdtrace/Makefile
==
--- head/cddl/lib/libdtrace/MakefileTue May 19 22:23:15 2015
(r283132)
+++ head/cddl/lib/libdtrace/MakefileTue May 19 22:24:19 2015
(r283133)
@@ -104,6 +104,8 @@ LFLAGS+=-l
 
 YFLAGS+=-d
 
+LIBADD=ctf elf proc pthread rtld_db
+
 CLEANFILES=dt_errtags.c dt_names.c
 
 dt_errtags.c:

Modified: head/cddl/usr.sbin/dtrace/Makefile
==
--- head/cddl/usr.sbin/dtrace/Makefile  Tue May 19 22:23:15 2015
(r283132)
+++ head/cddl/usr.sbin/dtrace/Makefile  Tue May 19 22:24:19 2015
(r283133)
@@ -20,9 +20,6 @@ CFLAGS+=  -I${.CURDIR}/../../../sys/cddl/
 #CFLAGS+=  -DNEED_ERRLOC
 #YFLAGS+=  -d
 
-DPADD= ${LIBPTHREAD} ${LIBDTRACE} ${LIBY} ${LIBL} ${LIBPROC} \
-   ${LIBCTF} ${LIBELF} ${LIBZ} ${LIBUTIL} ${LIBRTLD_DB}
-LDADD= -lpthread -ldtrace -ly -ll -lproc -lctf -lelf -lz -lutil \
-   -lrtld_db
+LIBADD=dtrace
 
 .include bsd.prog.mk
___
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: r283128 - head/sys/dev/mmc

2015-05-19 Thread Warner Losh
Author: imp
Date: Tue May 19 21:16:53 2015
New Revision: 283128
URL: https://svnweb.freebsd.org/changeset/base/283128

Log:
  Re-select the SD card before getting the SD status. On a couple Atmel
  boards, this prevents some error messages during enumeration and also
  gives us the correct erase block size. They appear to be harmless
  elsewhere.
  
  # Note: we treat too many commands as 'can't fail' if they don't work
  # after a couple of retries. We need to fix that, but not today...

Modified:
  head/sys/dev/mmc/mmc.c

Modified: head/sys/dev/mmc/mmc.c
==
--- head/sys/dev/mmc/mmc.c  Tue May 19 21:16:51 2015(r283127)
+++ head/sys/dev/mmc/mmc.c  Tue May 19 21:16:53 2015(r283128)
@@ -1379,6 +1379,20 @@ mmc_discover_cards(struct mmc_softc *sc)
ivar-hs_tran_speed = SD_MAX_HS;
}
}
+
+   /*
+* We reselect the card here. Some cards become
+* unselected and timeout with the above two commands,
+* although the state tables / diagrams in the standard
+* suggest they go back to the transfer state. The only
+* thing we use from the sd_status is the erase sector
+* size, but it is still nice to get that right. It is
+* normally harmless for cards not misbehaving. The
+* Atmel bridge will complain about this command timing
+* out. Others seem to handle it correctly, so it may
+* be a combination of card and controller.
+*/
+   mmc_select_card(sc, ivar-rca);
mmc_app_sd_status(sc, ivar-rca, ivar-raw_sd_status);
mmc_app_decode_sd_status(ivar-raw_sd_status,
ivar-sd_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: r283125 - in head/lib/csu: . i386 i386-elf

2015-05-19 Thread Ed Maste
Author: emaste
Date: Tue May 19 21:00:53 2015
New Revision: 283125
URL: https://svnweb.freebsd.org/changeset/base/283125

Log:
  All FreeBSD platforms are elf: move i386-elf to i386
  
  This was a leftover from when we had both i386 a.out and ELF.
  
  Reviewed by:  kib, imp
  Sponsored by: The FreeBSD Foundation
  Differential Revision:https://reviews.freebsd.org/D2591

Added:
  head/lib/csu/i386/
 - copied from r283117, head/lib/csu/i386-elf/
Deleted:
  head/lib/csu/i386-elf/
Modified:
  head/lib/csu/Makefile

Modified: head/lib/csu/Makefile
==
--- head/lib/csu/Makefile   Tue May 19 19:17:20 2015(r283124)
+++ head/lib/csu/Makefile   Tue May 19 21:00:53 2015(r283125)
@@ -1,8 +1,7 @@
 # $FreeBSD$
 
-ARCH= ${MACHINE_ARCH:S/i386/i386-elf/}
-.if exists(${.CURDIR}/${ARCH})
-SUBDIR+= ${ARCH}
+.if exists(${.CURDIR}/${MACHINE_ARCH})
+SUBDIR+= ${MACHINE_ARCH}
 .else
 SUBDIR+= ${MACHINE_CPUARCH}
 .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: r283129 - head/cddl/usr.bin/ctfdump

2015-05-19 Thread Baptiste Daroussin
Author: bapt
Date: Tue May 19 21:57:11 2015
New Revision: 283129
URL: https://svnweb.freebsd.org/changeset/base/283129

Log:
  Convert to LIBADD
  Remove dependency on pthread, it is not needed

Modified:
  head/cddl/usr.bin/ctfdump/Makefile

Modified: head/cddl/usr.bin/ctfdump/Makefile
==
--- head/cddl/usr.bin/ctfdump/Makefile  Tue May 19 21:16:53 2015
(r283128)
+++ head/cddl/usr.bin/ctfdump/Makefile  Tue May 19 21:57:11 2015
(r283129)
@@ -17,7 +17,6 @@ CFLAGS+=  -I${OPENSOLARIS_USR_DISTDIR} \
-I${OPENSOLARIS_USR_DISTDIR}/tools/ctf/common \
-I${OPENSOLARIS_SYS_DISTDIR}/uts/common
 
-DPADD= ${LIBPTHREAD} ${LIBELF} ${LIBZ}
-LDADD= -lpthread -lelf -lz
+LIBADD=elf z
 
 .include bsd.prog.mk
___
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: r283130 - head/cddl/usr.bin/ctfconvert

2015-05-19 Thread Baptiste Daroussin
Author: bapt
Date: Tue May 19 21:59:00 2015
New Revision: 283130
URL: https://svnweb.freebsd.org/changeset/base/283130

Log:
  Convert to LIBADD

Modified:
  head/cddl/usr.bin/ctfconvert/Makefile

Modified: head/cddl/usr.bin/ctfconvert/Makefile
==
--- head/cddl/usr.bin/ctfconvert/Makefile   Tue May 19 21:57:11 2015
(r283129)
+++ head/cddl/usr.bin/ctfconvert/Makefile   Tue May 19 21:59:00 2015
(r283130)
@@ -36,7 +36,6 @@ CFLAGS+=  -I${.CURDIR}/../../../sys/cddl/
-I${OPENSOLARIS_USR_DISTDIR}/tools/ctf/cvt \
-I${OPENSOLARIS_SYS_DISTDIR}/uts/common
 
-DPADD= ${LIBDWARF} ${LIBELF} ${LIBZ} ${LIBPTHREAD}
-LDADD= -ldwarf -lelf -lz -lpthread
+LIBADD=dwarf elf z pthread
 
 .include bsd.prog.mk
___
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: r283114 - head/share/man/man9

2015-05-19 Thread Benjamin Kaduk
Author: bjk (doc committer)
Date: Tue May 19 15:43:20 2015
New Revision: 283114
URL: https://svnweb.freebsd.org/changeset/base/283114

Log:
  Fixup to the kern_psignal manpage
  
  r283105 misspelled kern_psignal as kernel_psignal in one occurrence, and
  added trailing whitespace.
  
  While here, change 'call' to the more standard 'function', and say why
  the name was changed (taken from the commit message for r225617).

Modified:
  head/share/man/man9/psignal.9

Modified: head/share/man/man9/psignal.9
==
--- head/share/man/man9/psignal.9   Tue May 19 15:29:00 2015
(r283113)
+++ head/share/man/man9/psignal.9   Tue May 19 15:43:20 2015
(r283114)
@@ -63,10 +63,11 @@ function posts signal number
 to the process represented by the process structure
 .Fa p .
 The
-.Fn kernel_psignal
-function used to be called 
+.Fn kern_psignal
+function used to be called
 .Fn psignal
-but was renamed.
+but was renamed in order to eliminate a name collision with the libc
+function of that name and facilitate code reuse.
 With a few exceptions noted below, the target process signal disposition is
 updated and is marked as runnable, so further handling of the signal is done
 in the context of the target process after a context switch.
@@ -158,7 +159,7 @@ to the thread represented by the thread 
 .Sh HISTORY
 The
 .Fn psignal
-call was renamed to 
+function was renamed to
 .Fn kern_psignal
-in 
+in
 .Fx 9.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: r283088 - head/sys/ddb

2015-05-19 Thread Pedro Giffuni




On 05/19/15 08:45, John Baldwin wrote:

On Tuesday, May 19, 2015 12:28:05 AM Pedro Giffuni wrote:

Modified: head/sys/ddb/db_break.c
==
--- head/sys/ddb/db_break.c Mon May 18 22:14:06 2015(r283087)
+++ head/sys/ddb/db_break.c Mon May 18 22:27:46 2015(r283088)
@@ -155,12 +155,12 @@ db_find_breakpoint_here(db_addr_t addr)
return db_find_breakpoint(db_map_addr(addr), addr);
}

-static boolean_t   db_breakpoints_inserted = TRUE;
+static boolean_t   db_breakpoints_inserted = true;

This code hasn't been churned to use the boolean type.  It still uses
boolean_t, which is plain int.  TRUE and FALSE go with this type.  true
and false go with the boolean type.  This probably makes no difference,
because TRUE happens to be implemented with the same value as true and
there are lots of implicit versions between the types.

Yes, I noticed the return types are still ints. It doesn’t look difficult
to convert it to use a real boolean type.  In any case, I would prefer to go
forward (using bool) instead of reverting this change.

That wuld be sideways.

I forgot to mention (again) in my previous reply that boolean_t is a mistake
by me.  KNF code doesn't even use the ! operator, but uses explicit
comparison with 0.  The boolean_t type and TRUE and FALSE are from Mach.
They were used mainly in ddb and vm, and are still almost never used in
kern.  I used to like typedefs and a typedef for boolean types, and didn't
know KNF very well, so in 1995 I moved the declaration of boolean_t from
Mach vm code to sys/types.h to try to popularize it.  This was a mistake.
Fortunately, it is still rarely used in core kernel code.

The boolean type is also almost never used for syscalls.  In POSIX.1-2001,
stdbool.h is inherited from C99, but is never used for any other POSIX
API.  Using it for syscalls would mainly cause portability problems.


OK, I do understand the kernel wants to keep the C dialect somewhat limited,
and adding stdbool.h doesn’t buy us any type safety here.

I’ll revert the change (prob. tomorrow though).

I will disagree with Bruce a bit and put my vote in for replacing boolean_t
with bool where it is used.  I do think that logically (if not strictly) your
commit is a type mismatch as TRUE/FALSE is for boolean_t and true/false are
for bool.  I agree with Bruce that we probably don't want to use bool for
system calls.  However, I think using bool in the kernel itself is ok and that
we should replace boolean_t with bool.


I guess it boils down to the dilemma between modernity and common
practice.

OK, I know the current change can't stay as-is, and even Bruce admits
that boolean_t is a mistake, so I think I will give the bool a try.

Thanks for the feedback!

Pedro.
___
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: r283115 - head/sys/kern

2015-05-19 Thread Alan Somers
Author: asomers
Date: Tue May 19 16:23:47 2015
New Revision: 283115
URL: https://svnweb.freebsd.org/changeset/base/283115

Log:
  Properly null-terminate strings in a kernel dump header.  A version string
  longer than 192 bytes will cause the version field of a dump header to
  overflow. strncpy doesn't null terminate it, so savecore will print a
  corrupted info file. Using strlcpy fixes the bug.
  
  Differential Revision:https://reviews.freebsd.org/D2560
  Reviewed by:  markj
  MFC after:3 weeks
  Sponsored by: Spectra Logic

Modified:
  head/sys/kern/kern_shutdown.c

Modified: head/sys/kern/kern_shutdown.c
==
--- head/sys/kern/kern_shutdown.c   Tue May 19 15:43:20 2015
(r283114)
+++ head/sys/kern/kern_shutdown.c   Tue May 19 16:23:47 2015
(r283115)
@@ -873,16 +873,16 @@ mkdumpheader(struct kerneldumpheader *kd
 {
 
bzero(kdh, sizeof(*kdh));
-   strncpy(kdh-magic, magic, sizeof(kdh-magic));
-   strncpy(kdh-architecture, MACHINE_ARCH, sizeof(kdh-architecture));
+   strlcpy(kdh-magic, magic, sizeof(kdh-magic));
+   strlcpy(kdh-architecture, MACHINE_ARCH, sizeof(kdh-architecture));
kdh-version = htod32(KERNELDUMPVERSION);
kdh-architectureversion = htod32(archver);
kdh-dumplength = htod64(dumplen);
kdh-dumptime = htod64(time_second);
kdh-blocksize = htod32(blksz);
-   strncpy(kdh-hostname, prison0.pr_hostname, sizeof(kdh-hostname));
-   strncpy(kdh-versionstring, version, sizeof(kdh-versionstring));
+   strlcpy(kdh-hostname, prison0.pr_hostname, sizeof(kdh-hostname));
+   strlcpy(kdh-versionstring, version, sizeof(kdh-versionstring));
if (panicstr != NULL)
-   strncpy(kdh-panicstring, panicstr, sizeof(kdh-panicstring));
+   strlcpy(kdh-panicstring, panicstr, sizeof(kdh-panicstring));
kdh-parity = kerneldump_parity(kdh);
 }
___
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: r283104 - head/sys/geom/uncompress

2015-05-19 Thread Andrey V. Elsukov
On 19.05.2015 20:36, Adrian Chadd wrote:
 Hi,
 
 How big are the images you were using?
 Did you try on the smaller footprint boards (eg things with  128MB
 RAM) to see if it changed behaviour?

I tried several images with size from 700k to 2G. Something doesn't work
for you?

It isn't clear from the code, why it used i = total_offsets when it
filled sc-offsets, it looks like a bug for me.

-- 
WBR, Andrey V. Elsukov



signature.asc
Description: OpenPGP digital signature


Re: svn commit: r283104 - head/sys/geom/uncompress

2015-05-19 Thread Andrey V. Elsukov
On 19.05.2015 20:36, Adrian Chadd wrote:
 Did you try on the smaller footprint boards (eg things with  128MB
 RAM) to see if it changed behaviour?

No, I have no such boards. This is taste method and it called only once,
so I don't expect some changes here. For small images it just will work
as before.

-- 
WBR, Andrey V. Elsukov



signature.asc
Description: OpenPGP digital signature


svn commit: r283121 - head/sys/dev/hwpmc

2015-05-19 Thread John Baldwin
Author: jhb
Date: Tue May 19 19:01:22 2015
New Revision: 283121
URL: https://svnweb.freebsd.org/changeset/base/283121

Log:
  Use the proper mask when reloading sampling PMCs for Core CPUs.
  
  Differential Revision:https://reviews.freebsd.org/D2492
  Reviewed by:  emaste
  MFC after:1 month

Modified:
  head/sys/dev/hwpmc/hwpmc_core.c

Modified: head/sys/dev/hwpmc/hwpmc_core.c
==
--- head/sys/dev/hwpmc/hwpmc_core.c Tue May 19 18:58:18 2015
(r283120)
+++ head/sys/dev/hwpmc/hwpmc_core.c Tue May 19 19:01:22 2015
(r283121)
@@ -2588,7 +2588,7 @@ core_intr(int cpu, struct trapframe *tf)
TRAPF_USERMODE(tf));
 
v = pm-pm_sc.pm_reloadcount;
-   v = iaf_reload_count_to_perfctr_value(v);
+   v = iap_reload_count_to_perfctr_value(v);
 
/*
 * Stop the counter, reload it but only restart it if
___
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: r283119 - head/sys/dev/ixl

2015-05-19 Thread John Baldwin
On Tuesday, May 19, 2015 06:35:18 PM John Baldwin wrote:
 Author: jhb
 Date: Tue May 19 18:35:18 2015
 New Revision: 283119
 URL: https://svnweb.freebsd.org/changeset/base/283119
 
 Log:
   Remove executable property from several ixl(4) source files.
   
   Differential Revision:  https://reviews.freebsd.org/D2583
   Reviewed by:erj

I did this because any patches to these files would fail the lint
check in arcanist, so changes to these files couldn't be uploaded
into phabricator via arcanist.

-- 
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: r283121 - head/sys/dev/hwpmc

2015-05-19 Thread John Baldwin
On Tuesday, May 19, 2015 07:01:22 PM John Baldwin wrote:
 Author: jhb
 Date: Tue May 19 19:01:22 2015
 New Revision: 283121
 URL: https://svnweb.freebsd.org/changeset/base/283121
 
 Log:
   Use the proper mask when reloading sampling PMCs for Core CPUs.
   
   Differential Revision:  https://reviews.freebsd.org/D2492
   Reviewed by:emaste
   MFC after:  1 month

Ryan Stone attempted to test this but hasn't (yet) been able to do so.  If
someone has one of these CPUs lying around and can test it, that would be
appreciated.  This was found purely by code inspection.

-- 
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: r283120 - in head: lib/libpmc sys/dev/hwpmc sys/sys

2015-05-19 Thread John Baldwin
On Tuesday, May 19, 2015 06:58:19 PM John Baldwin wrote:
 Author: jhb
 Date: Tue May 19 18:58:18 2015
 New Revision: 283120
 URL: https://svnweb.freebsd.org/changeset/base/283120
 
 Log:
   Use fixed enum values for PMC_CLASSES().
   
   This removes one of the frequent causes of ABI breakage when new CPU
   types are added to hwpmc(4).
   
   Differential Revision:  https://reviews.freebsd.org/D2586
   Reviewed by:davide, emaste, gnn (earlier version)
   MFC after:  2 weeks

The ABI was already broken today with the ARMv8 counters.   Merging this to
stable will break the ABI there as well.  Since PMC_SOFT always gets
renumbered it always breaks pmcccontrol -L when this enum is updated.  I
believe it has already been broken in once stable/10.  My preference would
be that we only MFC this the next time we want to add a new class to 10 to
avoid being too disruptive.  At the time the new class is added, then this
change could be merged as well.

-- 
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: r283124 - head/sys/netinet

2015-05-19 Thread Hiren Panchasara
Author: hiren
Date: Tue May 19 19:17:20 2015
New Revision: 283124
URL: https://svnweb.freebsd.org/changeset/base/283124

Log:
  Correct the wording as we are increasing the window size.
  
  Reviewed by:  jhb
  Sponsored by: Limelight Networks

Modified:
  head/sys/netinet/tcp_input.c

Modified: head/sys/netinet/tcp_input.c
==
--- head/sys/netinet/tcp_input.cTue May 19 19:15:19 2015
(r283123)
+++ head/sys/netinet/tcp_input.cTue May 19 19:17:20 2015
(r283124)
@@ -1542,7 +1542,7 @@ tcp_do_segment(struct mbuf *m, struct tc
tcp_timer_activate(tp, TT_KEEP, TP_KEEPIDLE(tp));
 
/*
-* Unscale the window into a 32-bit value.
+* Scale up the window into a 32-bit value.
 * For the SYN_SENT state the scale is zero.
 */
tiwin = th-th_win  tp-snd_scale;
___
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