svn commit: r309531 - head/sys/arm/include

2016-12-04 Thread Michal Meloun
Author: mmel
Date: Sun Dec  4 15:27:39 2016
New Revision: 309531
URL: https://svnweb.freebsd.org/changeset/base/309531

Log:
  Implement fake pmap_mapdev_attr() for ARMv6.
  This function is referenced, but never called from DRM2 code. Also,
  real behavior of pmap_mapdev_attr() in ARM world is unclear as we don't
  have any additional attribute for a device memory type.
  
  MFC after: 2 weeks

Modified:
  head/sys/arm/include/pmap-v6.h
  head/sys/arm/include/pmap.h

Modified: head/sys/arm/include/pmap-v6.h
==
--- head/sys/arm/include/pmap-v6.h  Sun Dec  4 13:56:15 2016
(r309530)
+++ head/sys/arm/include/pmap-v6.h  Sun Dec  4 15:27:39 2016
(r309531)
@@ -166,7 +166,6 @@ extern ttb_entry_t pmap_kern_ttb;   /* TT
 void pmap_bootstrap(vm_offset_t);
 void pmap_kenter(vm_offset_t, vm_paddr_t);
 void pmap_kremove(vm_offset_t);
-void *pmap_mapdev_attr(vm_paddr_t, vm_size_t, int);
 boolean_t pmap_page_is_mapped(vm_page_t);
 
 void pmap_tlb_flush(pmap_t, vm_offset_t);

Modified: head/sys/arm/include/pmap.h
==
--- head/sys/arm/include/pmap.h Sun Dec  4 13:56:15 2016(r309530)
+++ head/sys/arm/include/pmap.h Sun Dec  4 15:27:39 2016(r309531)
@@ -53,6 +53,12 @@ void pmap_page_set_memattr(vm_page_t, vm
 void *pmap_mapdev(vm_paddr_t, vm_size_t);
 void pmap_unmapdev(vm_offset_t, vm_size_t);
 
+static inline void *
+pmap_mapdev_attr(vm_paddr_t addr, vm_size_t size, int attr)
+{
+   panic("%s is not implemented yet!\n", __func__);
+}
+
 struct pcb;
 void pmap_set_pcb_pagedir(pmap_t, struct pcb *);
 
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r309532 - head/sys/dev/sound/pci/hda

2016-12-04 Thread Michal Meloun
Author: mmel
Date: Sun Dec  4 15:28:30 2016
New Revision: 309532
URL: https://svnweb.freebsd.org/changeset/base/309532

Log:
  Add IDs for HDA codecs found on Nvidia Tegra SoCs.
  
  MFC after: 2 weeks

Modified:
  head/sys/dev/sound/pci/hda/hdac.h
  head/sys/dev/sound/pci/hda/hdacc.c

Modified: head/sys/dev/sound/pci/hda/hdac.h
==
--- head/sys/dev/sound/pci/hda/hdac.h   Sun Dec  4 15:27:39 2016
(r309531)
+++ head/sys/dev/sound/pci/hda/hdac.h   Sun Dec  4 15:28:30 2016
(r309532)
@@ -619,6 +619,10 @@
 #define HDA_CODEC_NVIDIAGT440  HDA_CODEC_CONSTRUCT(NVIDIA, 0x0014)
 #define HDA_CODEC_NVIDIAGTX550 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0015)
 #define HDA_CODEC_NVIDIAGTX570 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0018)
+#define HDA_CODEC_NVIDIATEGRA30HDA_CODEC_CONSTRUCT(NVIDIA, 0x0020)
+#define HDA_CODEC_NVIDIATEGRA114 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0022)
+#define HDA_CODEC_NVIDIATEGRA124 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0028)
+#define HDA_CODEC_NVIDIATEGRA210 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0029)
 #define HDA_CODEC_NVIDIAMCP67  HDA_CODEC_CONSTRUCT(NVIDIA, 0x0067)
 #define HDA_CODEC_NVIDIAMCP73  HDA_CODEC_CONSTRUCT(NVIDIA, 0x8001)
 #define HDA_CODEC_NVIDIA   HDA_CODEC_CONSTRUCT(NVIDIA, 0x)

Modified: head/sys/dev/sound/pci/hda/hdacc.c
==
--- head/sys/dev/sound/pci/hda/hdacc.c  Sun Dec  4 15:27:39 2016
(r309531)
+++ head/sys/dev/sound/pci/hda/hdacc.c  Sun Dec  4 15:28:30 2016
(r309532)
@@ -314,6 +314,10 @@ static const struct {
{ HDA_CODEC_NVIDIAGT440, 0, "NVIDIA GT440" },
{ HDA_CODEC_NVIDIAGTX550, 0,"NVIDIA GTX550" },
{ HDA_CODEC_NVIDIAGTX570, 0,"NVIDIA GTX570" },
+   { HDA_CODEC_NVIDIATEGRA30, 0,   "NVIDIA Tegra30" },
+   { HDA_CODEC_NVIDIATEGRA114, 0,  "NVIDIA Tegra114" },
+   { HDA_CODEC_NVIDIATEGRA124, 0,  "NVIDIA Tegra124" },
+   { HDA_CODEC_NVIDIATEGRA210, 0,  "NVIDIA Tegra210" },
{ HDA_CODEC_INTELIP, 0, "Intel Ibex Peak" },
{ HDA_CODEC_INTELBL, 0, "Intel Bearlake" },
{ HDA_CODEC_INTELCA, 0, "Intel Cantiga" },
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r309534 - head/etc

2016-12-04 Thread Andriy Voskoboinyk
Author: avos
Date: Sun Dec  4 15:58:34 2016
New Revision: 309534
URL: https://svnweb.freebsd.org/changeset/base/309534

Log:
  Do not try to recreate wlan(4) interface if it already exists.
  
  This should fix error messages caused by devd(8) during startup:
  
  Starting Network: lo0 wlan0.
  ...
  Starting devd.
  ifconfig: SIOCS80211: Device busy
  wpa_supplicant already running?  (pid=323).
  
  MFC after:2 weeks

Modified:
  head/etc/pccard_ether

Modified: head/etc/pccard_ether
==
--- head/etc/pccard_ether   Sun Dec  4 15:55:59 2016(r309533)
+++ head/etc/pccard_ether   Sun Dec  4 15:58:34 2016(r309534)
@@ -120,6 +120,9 @@ pccard_ether_restart()
 pccard_ether_startchildren()
 {
for child in `get_if_var $ifn wlans_IF`; do
+   if ifexists $child; then
+   continue
+   fi
/etc/rc.d/netif quietstart $child
done
 }
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r309537 - head/sys/dev/extres/clk

2016-12-04 Thread Michal Meloun
Author: mmel
Date: Sun Dec  4 16:02:59 2016
New Revision: 309537
URL: https://svnweb.freebsd.org/changeset/base/309537

Log:
  Clock framework fixes:
   - The clk_test_freq() (aka CLK_SET_DRYRUN) doesn't change frequency,
 don't cache it result.
   - Fix busy condition for clk_set_freq().
  
  MFC after: 3 weeks

Modified:
  head/sys/dev/extres/clk/clk.c

Modified: head/sys/dev/extres/clk/clk.c
==
--- head/sys/dev/extres/clk/clk.c   Sun Dec  4 16:00:25 2016
(r309536)
+++ head/sys/dev/extres/clk/clk.c   Sun Dec  4 16:02:59 2016
(r309537)
@@ -830,9 +830,10 @@ clknode_set_freq(struct clknode *clknode
 * OR
 *   clock is glitch free and is enabled by calling consumer only
 */
-   if ((clknode->enable_cnt > 1) &&
-   ((clknode->enable_cnt > enablecnt) ||
-   !(clknode->flags & CLK_NODE_GLITCH_FREE))) {
+   if ((flags & CLK_SET_DRYRUN) == 0 &&
+   clknode->enable_cnt > 1 &&
+   clknode->enable_cnt > enablecnt &&
+   (clknode->flags & CLK_NODE_GLITCH_FREE) == 0) {
return (EBUSY);
}
 
@@ -856,9 +857,10 @@ clknode_set_freq(struct clknode *clknode
 
if (done) {
/* Success - invalidate frequency cache for all children. */
-   clknode->freq = freq;
-   if ((flags & CLK_SET_DRYRUN) == 0)
+   if ((flags & CLK_SET_DRYRUN) == 0) {
+   clknode->freq = freq;
clknode_refresh_cache(clknode, parent_freq);
+   }
} else if (clknode->parent != NULL) {
/* Nothing changed, pass request to parent. */
rv = clknode_set_freq(clknode->parent, freq, flags, enablecnt);
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r309538 - head/sys/arm/nvidia/tegra124

2016-12-04 Thread Michal Meloun
Author: mmel
Date: Sun Dec  4 16:04:22 2016
New Revision: 309538
URL: https://svnweb.freebsd.org/changeset/base/309538

Log:
  Fixes for NVIDIA Tegra124 clocks:
   - EMC clock have standard peripheral clock block. Use it.
   - Implement full frequency set method for PLLD2. This PLL
 is used as HDMI pixel clock so we must be able to set it
 to wide range of frequencies, within 5% tolerance allowed
 by HDMI specification. Due to this, full state space search
 (over m, n, p fields) is necessary.
  
  MFC after: 3 weeks

Modified:
  head/sys/arm/nvidia/tegra124/tegra124_car.c
  head/sys/arm/nvidia/tegra124/tegra124_clk_per.c
  head/sys/arm/nvidia/tegra124/tegra124_clk_pll.c

Modified: head/sys/arm/nvidia/tegra124/tegra124_car.c
==
--- head/sys/arm/nvidia/tegra124/tegra124_car.c Sun Dec  4 16:02:59 2016
(r309537)
+++ head/sys/arm/nvidia/tegra124/tegra124_car.c Sun Dec  4 16:04:22 2016
(r309538)
@@ -189,8 +189,6 @@ PLIST(mux_pll_srcs) = {"osc_div_clk", NU
 PLIST(mux_plle_src1) = {"osc_div_clk", "pllP_out0"};
 PLIST(mux_plle_src) = {"pllE_src1", "pllREFE_out"};
 PLIST(mux_plld_out0_plld2_out0) = {"pllD_out0", "pllD2_out0"};
-PLIST(mux_pllmcp_clkm) = {"pllM_out0", "pllC_out0", "pllP_out0", "clk_m",
-"pllM_UD", "pllC2_out0", "pllC3_out0", "pllC_UD"};
 PLIST(mux_xusb_hs) = {"xusb_ss_div2", "pllU_60"};
 PLIST(mux_xusb_ss) = {"pc_xusb_ss", "osc_div_clk"};
 
@@ -240,7 +238,6 @@ static struct clk_mux_def tegra124_mux_c
/* Base peripheral clocks. */
MUX(0, "dsia_mux", mux_plld_out0_plld2_out0, PLLD_BASE, 25, 1),
MUX(0, "dsib_mux", mux_plld_out0_plld2_out0, PLLD2_BASE, 25, 1),
-   MUX(0, "emc_mux", mux_pllmcp_clkm, CLK_SOURCE_EMC, 29, 3),
 
/* USB. */
MUX(TEGRA124_CLK_XUSB_HS_SRC, "xusb_hs", mux_xusb_hs, 
CLK_SOURCE_XUSB_SS, 25, 1),

Modified: head/sys/arm/nvidia/tegra124/tegra124_clk_per.c
==
--- head/sys/arm/nvidia/tegra124/tegra124_clk_per.c Sun Dec  4 16:02:59 
2016(r309537)
+++ head/sys/arm/nvidia/tegra124/tegra124_clk_per.c Sun Dec  4 16:04:22 
2016(r309538)
@@ -126,6 +126,10 @@ PLIST(mux_m_c_p_a_c2_c3_clkm_c4) =
 PLIST(mux_m_c_p_clkm_mud_c2_c3) =
 {"pllM_out0", "pllC_out0", "pllP_out0", "clk_m",
  "pllM_UD", "pllC2_out0", "pllC3_out0"};
+PLIST(mux_m_c_p_clkm_mud_c2_c3_cud) =
+{"pllM_out0", "pllC_out0", "pllP_out0", "clk_m",
+ "pllM_UD", "pllC2_out0", "pllC3_out0", "pllC_UD"};
+
 PLIST(mux_m_c2_c_c3_p_N_a) =
 {"pllM_out0", "pllC2_out0", "pllC_out0", "pllC3_out0",
  "pllP_out0", NULL, "pllA_out0"};
@@ -260,7 +264,7 @@ static struct pgate_def pgate_def[] = {
GATE(I2C2, "i2c2", "pc_i2c2", H(22)),
GATE(UARTC, "uartc", "pc_uartc", H(23)),
GATE(MIPI_CAL, "mipi_cal", "clk_m", H(24)),
-   GATE(EMC, "emc", "emc_mux", H(25)),
+   GATE(EMC, "emc", "pc_emc_2x", H(25)),
GATE(USB2, "usb2", "clk_m", H(26)),
GATE(USB3, "usb3", "clk_m", H(27)),
GATE(VDE, "vde", "pc_vde", H(29)),
@@ -356,7 +360,7 @@ static struct pgate_def pgate_def[] = {
/* GATE(CAM_MCLK, "CAM_MCLK", "clk_m", X(4)), */
/* GATE(CAM_MCLK2, "CAM_MCLK2", "clk_m", X(5)), */
GATE(I2C6, "i2c6", "pc_i2c6", X(6)),
-   /* GATE(VIM2_CLK, "vim2_clk", clk_m, X(11)), */
+   GATE(VIM2_CLK, "vim2_clk", "clk_m", X(11)),
/* GATE(EMC_DLL, "emc_dll", "pc_emc_dll", X(14)), */
GATE(HDMI_AUDIO, "hdmi_audio", "pc_hdmi_audio", X(16)),
GATE(CLK72MHZ, "clk72mhz", "pc_clk72mhz", X(17)),
@@ -373,17 +377,18 @@ static struct pgate_def pgate_def[] = {
 #defineDCF_HAVE_ENA0x0200 /* Block with enable bit */
 #defineDCF_HAVE_DIV0x0400 /* Block with divider */
 
-/* Mark block with additional bis / functionality. */
+/* Mark block with additional bits / functionality. */
 #defineDCF_IS_MASK 0x00FF
 #defineDCF_IS_UART 0x0001
 #defineDCF_IS_VI   0x0002
 #defineDCF_IS_HOST1X   0x0003
 #defineDCF_IS_XUSB_SS  0x0004
 #defineDCF_IS_EMC_DLL  0x0005
-#defineFDS_IS_SATA 0x0006
+#defineDCF_IS_SATA 0x0006
 #defineDCF_IS_VIC  0x0007
 #defineDCF_IS_AUDIO0x0008
 #defineDCF_IS_SOR0 0x0009
+#defineDCF_IS_EMC  0x000A
 
 /* Basic pheripheral clock */
 #definePER_CLK(_id, cn, pl, r, diw, fiw, f)
\
@@ -438,7 +443,7 @@ static struct periph_def periph_def[] = 
CLK_8_1(0, "pc_host1x", mux_p_c2_c_c3_m_N_clkm, CLK_SOURCE_HOST1X, 
DCF_IS_HOST1X),
CLK_8_1(0, "pc_hdmi", mux_p_m_d_a_c_d2_clkm, CLK_SOURCE_HDMI, 0),
CLK16_0(0, "pc_i2c2", mux_p_c2_c_c3_m_N_clkm, CLK_SOURCE_I2C2, 0),
-/* EMC  8 */
+   CLK_8_1(0, "pc_emc_2x"

svn commit: r309539 - head/sys/kern

2016-12-04 Thread Konstantin Belousov
Author: kib
Date: Sun Dec  4 20:44:58 2016
New Revision: 309539
URL: https://svnweb.freebsd.org/changeset/base/309539

Log:
  Restructure the code to handle reporting of non-exited processes from
  wait(2).
  - Do not acquire the process spinlock if neither WTRAPPED nor WUNTRACED
options were passed [1].
  - Extract the code to report alive process into a new helper
report_alive_proc() and use it for trapped, stopped and continued
childrens.
  
  Note that the process spinlock is required around the WTRAPPED and
  WUNTRACED tests, because P_STOPPED_TRACE and P_STOPPED_SIG flags are
  set before other threads are stopped at the suspension point, and that
  threads increment p_suspcount while owning only the process spinlock,
  the process lock is dropped by them.  If the spinlock is not taken for
  tests, the syscall thread might miss both p_suspcount increment and
  wakeup in wakeup in thread_suspend_switch().
  
  Based on the submission by:   mjg [1]
  Tested by:pho
  Sponsored by: The FreeBSD Foundation
  MFC after:1 week

Modified:
  head/sys/kern/kern_exit.c

Modified: head/sys/kern/kern_exit.c
==
--- head/sys/kern/kern_exit.c   Sun Dec  4 16:04:22 2016(r309538)
+++ head/sys/kern/kern_exit.c   Sun Dec  4 20:44:58 2016(r309539)
@@ -1105,6 +1105,38 @@ kern_wait(struct thread *td, pid_t pid, 
return (ret);
 }
 
+static void
+report_alive_proc(struct thread *td, struct proc *p, siginfo_t *siginfo,
+int *status, int options, int si_code)
+{
+   bool cont;
+
+   PROC_LOCK_ASSERT(p, MA_OWNED);
+   sx_assert(&proctree_lock, SA_XLOCKED);
+   MPASS(si_code == CLD_TRAPPED || si_code == CLD_STOPPED ||
+   si_code == CLD_CONTINUED);
+
+   cont = si_code == CLD_CONTINUED;
+   if ((options & WNOWAIT) == 0) {
+   if (cont)
+   p->p_flag &= ~P_CONTINUED;
+   else
+   p->p_flag |= P_WAITED;
+   PROC_LOCK(td->td_proc);
+   sigqueue_take(p->p_ksi);
+   PROC_UNLOCK(td->td_proc);
+   }
+   sx_xunlock(&proctree_lock);
+   if (siginfo != NULL) {
+   siginfo->si_code = si_code;
+   siginfo->si_status = cont ? SIGCONT : p->p_xsig;
+   }
+   if (status != NULL)
+   *status = cont ? SIGCONT : W_STOPCODE(p->p_xsig);
+   PROC_UNLOCK(p);
+   td->td_retval[0] = p->p_pid;
+}
+
 int
 kern_wait6(struct thread *td, idtype_t idtype, id_t id, int *status,
 int options, struct __wrusage *wrusage, siginfo_t *siginfo)
@@ -1162,82 +1194,41 @@ loop:
}
 
PROC_LOCK_ASSERT(p, MA_OWNED);
-   PROC_SLOCK(p);
+
+   if ((options & (WTRAPPED | WUNTRACED)) != 0)
+   PROC_SLOCK(p);
 
if ((options & WTRAPPED) != 0 &&
(p->p_flag & P_TRACED) != 0 &&
(p->p_flag & (P_STOPPED_TRACE | P_STOPPED_SIG)) != 0 &&
-   (p->p_suspcount == p->p_numthreads) &&
-   ((p->p_flag & P_WAITED) == 0)) {
+   p->p_suspcount == p->p_numthreads &&
+   (p->p_flag & P_WAITED) == 0) {
PROC_SUNLOCK(p);
-   if ((options & WNOWAIT) == 0)
-   p->p_flag |= P_WAITED;
-   sx_xunlock(&proctree_lock);
-
-   if (status != NULL)
-   *status = W_STOPCODE(p->p_xsig);
-   if (siginfo != NULL) {
-   siginfo->si_status = p->p_xsig;
-   siginfo->si_code = CLD_TRAPPED;
-   }
-   if ((options & WNOWAIT) == 0) {
-   PROC_LOCK(q);
-   sigqueue_take(p->p_ksi);
-   PROC_UNLOCK(q);
-   }
-
CTR4(KTR_PTRACE,
-   "wait: returning trapped pid %d status %#x (xstat %d) xthread %d",
+   "wait: returning trapped pid %d status %#x "
+   "(xstat %d) xthread %d",
p->p_pid, W_STOPCODE(p->p_xsig), p->p_xsig,
-   p->p_xthread != NULL ? p->p_xthread->td_tid : -1);
-   PROC_UNLOCK(p);
-   td->td_retval[0] = pid;
+   p->p_xthread != NULL ?
+   p->p_xthread->td_tid : -1);
+   report_alive_proc(td, p, siginfo, status, options,
+   CLD_TRAPPED);
return (0);
-   }
+   }
if ((options & WUNTRACED) != 0 &&
(p->p_flag & P_STOPPED_SIG) != 0 &&
-   (p->p_suspcount == p->p_numthreads) &&
-   

svn commit: r309540 - in head/contrib/jemalloc: . doc include/jemalloc include/jemalloc/internal src

2016-12-04 Thread Jason Evans
Author: jasone
Date: Sun Dec  4 21:13:26 2016
New Revision: 309540
URL: https://svnweb.freebsd.org/changeset/base/309540

Log:
  Update jemalloc to 4.4.0.

Modified:
  head/contrib/jemalloc/ChangeLog
  head/contrib/jemalloc/FREEBSD-diffs
  head/contrib/jemalloc/VERSION
  head/contrib/jemalloc/doc/jemalloc.3
  head/contrib/jemalloc/include/jemalloc/internal/arena.h
  head/contrib/jemalloc/include/jemalloc/internal/chunk.h
  head/contrib/jemalloc/include/jemalloc/internal/extent.h
  head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal.h
  head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h
  head/contrib/jemalloc/include/jemalloc/internal/pages.h
  head/contrib/jemalloc/include/jemalloc/internal/private_namespace.h
  head/contrib/jemalloc/include/jemalloc/internal/stats.h
  head/contrib/jemalloc/include/jemalloc/internal/util.h
  head/contrib/jemalloc/include/jemalloc/internal/valgrind.h
  head/contrib/jemalloc/include/jemalloc/jemalloc.h
  head/contrib/jemalloc/src/arena.c
  head/contrib/jemalloc/src/base.c
  head/contrib/jemalloc/src/chunk.c
  head/contrib/jemalloc/src/chunk_dss.c
  head/contrib/jemalloc/src/extent.c
  head/contrib/jemalloc/src/huge.c
  head/contrib/jemalloc/src/jemalloc.c
  head/contrib/jemalloc/src/pages.c
  head/contrib/jemalloc/src/stats.c
  head/contrib/jemalloc/src/tcache.c
  head/contrib/jemalloc/src/util.c

Modified: head/contrib/jemalloc/ChangeLog
==
--- head/contrib/jemalloc/ChangeLog Sun Dec  4 20:44:58 2016
(r309539)
+++ head/contrib/jemalloc/ChangeLog Sun Dec  4 21:13:26 2016
(r309540)
@@ -4,6 +4,33 @@ brevity.  Much more detail can be found 
 
 https://github.com/jemalloc/jemalloc
 
+* 4.4.0 (December 3, 2016)
+
+  New features:
+  - Add configure support for *-*-linux-android.  (@cferris1000, @jasone)
+  - Add the --disable-syscall configure option, for use on systems that place
+security-motivated limitations on syscall(2).  (@jasone)
+  - Add support for Debian GNU/kFreeBSD.  (@thesam)
+
+  Optimizations:
+  - Add extent serial numbers and use them where appropriate as a sort key that
+is higher priority than address, so that the allocation policy prefers 
older
+extents.  This tends to improve locality (decrease fragmentation) when
+memory grows downward.  (@jasone)
+  - Refactor madvise(2) configuration so that MADV_FREE is detected and 
utilized
+on Linux 4.5 and newer.  (@jasone)
+  - Mark partially purged arena chunks as non-huge-page.  This improves
+interaction with Linux's transparent huge page functionality.  (@jasone)
+
+  Bug fixes:
+  - Fix size class computations for edge conditions involving extremely large
+allocations.  This regression was first released in 4.0.0.  (@jasone,
+@ingvarha)
+  - Remove overly restrictive assertions related to the cactive statistic.  
This
+regression was first released in 4.1.0.  (@jasone)
+  - Implement a more reliable detection scheme for os_unfair_lock on macOS.
+(@jszakmeister)
+
 * 4.3.1 (November 7, 2016)
 
   Bug fixes:

Modified: head/contrib/jemalloc/FREEBSD-diffs
==
--- head/contrib/jemalloc/FREEBSD-diffs Sun Dec  4 20:44:58 2016
(r309539)
+++ head/contrib/jemalloc/FREEBSD-diffs Sun Dec  4 21:13:26 2016
(r309540)
@@ -1,5 +1,5 @@
 diff --git a/doc/jemalloc.xml.in b/doc/jemalloc.xml.in
-index 3d2e721..b361db2 100644
+index d9c8345..9898c3c 100644
 --- a/doc/jemalloc.xml.in
 +++ b/doc/jemalloc.xml.in
 @@ -53,11 +53,23 @@
@@ -47,10 +47,10 @@ index 3d2e721..b361db2 100644
 +  
  
 diff --git a/include/jemalloc/internal/arena.h 
b/include/jemalloc/internal/arena.h
-index f39ce54..a3ba55d 100644
+index ce4e602..35360b6 100644
 --- a/include/jemalloc/internal/arena.h
 +++ b/include/jemalloc/internal/arena.h
-@@ -719,8 +719,13 @@ arena_miscelm_get_mutable(arena_chunk_t *chunk, size_t 
pageind)
+@@ -730,8 +730,13 @@ arena_miscelm_get_mutable(arena_chunk_t *chunk, size_t 
pageind)
  JEMALLOC_ALWAYS_INLINE const arena_chunk_map_misc_t *
  arena_miscelm_get_const(const arena_chunk_t *chunk, size_t pageind)
  {
@@ -64,7 +64,7 @@ index f39ce54..a3ba55d 100644
  }
  
  JEMALLOC_ALWAYS_INLINE size_t
-@@ -779,8 +784,13 @@ arena_mapbitsp_get_mutable(arena_chunk_t *chunk, size_t 
pageind)
+@@ -790,8 +795,13 @@ arena_mapbitsp_get_mutable(arena_chunk_t *chunk, size_t 
pageind)
  JEMALLOC_ALWAYS_INLINE const size_t *
  arena_mapbitsp_get_const(const arena_chunk_t *chunk, size_t pageind)
  {
@@ -79,7 +79,7 @@ index f39ce54..a3ba55d 100644
  
  JEMALLOC_ALWAYS_INLINE size_t
 diff --git a/include/jemalloc/internal/jemalloc_internal.h.in 
b/include/jemalloc/internal/jemalloc_internal.h.in
-index fdc8fef..56a35a4 100644
+index e7ace7d..d86c61d 100644
 --- a/include/jemalloc/internal/jemalloc_internal.h.in
 +++ b/include/jemalloc/internal/jemalloc_internal.h.in
 @@ -8,6 +8,9 @@
@@ 

svn commit: r309541 - head/sys/dev/usb/wlan

2016-12-04 Thread Andriy Voskoboinyk
Author: avos
Date: Sun Dec  4 21:40:49 2016
New Revision: 309541
URL: https://svnweb.freebsd.org/changeset/base/309541

Log:
  rsu: fix RSSI reporting, partially revert r288414.
  
  - Append RCR_APP_PHYSTS bit after firmware loading - otherwise
  firmware will reset the register and this modification will be lost.
  (without it Rx PHY descriptor section will contain garbage).
  - Check if R92S_RXDW0_PHYST bit is set (like it is done in rtwn(4)) -
  even if infosz is non-zero the section may not contain anything useful.
  - In case, if descriptor is absent (A-MPDU?) use last calibrated RSSI
  (rtwn(4) uses RSSI from the previous (sub)frame; probably, this
  approach should be used here too).
  
  Tested with Asus USB-N10, STA mode.

Modified:
  head/sys/dev/usb/wlan/if_rsu.c
  head/sys/dev/usb/wlan/if_rsureg.h

Modified: head/sys/dev/usb/wlan/if_rsu.c
==
--- head/sys/dev/usb/wlan/if_rsu.c  Sun Dec  4 21:13:26 2016
(r309540)
+++ head/sys/dev/usb/wlan/if_rsu.c  Sun Dec  4 21:40:49 2016
(r309541)
@@ -24,7 +24,6 @@ __FBSDID("$FreeBSD$");
  * TODO:
  *   o h/w crypto
  *   o hostap / ibss / mesh
- *   o sensible RSSI levels
  *   o power-save operation
  */
 
@@ -216,9 +215,7 @@ static void rsu_event_survey(struct rsu_
 static voidrsu_event_join_bss(struct rsu_softc *, uint8_t *, int);
 static voidrsu_rx_event(struct rsu_softc *, uint8_t, uint8_t *, int);
 static voidrsu_rx_multi_event(struct rsu_softc *, uint8_t *, int);
-#if 0
 static int8_t  rsu_get_rssi(struct rsu_softc *, int, void *);
-#endif
 static struct mbuf * rsu_rx_copy_to_mbuf(struct rsu_softc *,
struct r92s_rx_stat *, int);
 static struct ieee80211_node * rsu_rx_frame(struct rsu_softc *, struct mbuf *,
@@ -1806,7 +1803,6 @@ rsu_rx_multi_event(struct rsu_softc *sc,
}
 }
 
-#if 0
 static int8_t
 rsu_get_rssi(struct rsu_softc *sc, int rate, void *physt)
 {
@@ -1827,7 +1823,6 @@ rsu_get_rssi(struct rsu_softc *sc, int r
}
return (rssi);
 }
-#endif
 
 static struct mbuf *
 rsu_rx_copy_to_mbuf(struct rsu_softc *sc, struct r92s_rx_stat *stat,
@@ -1886,13 +1881,13 @@ rsu_rx_frame(struct rsu_softc *sc, struc
rate = MS(rxdw3, R92S_RXDW3_RATE);
infosz = MS(rxdw0, R92S_RXDW0_INFOSZ) * 8;
 
-#if 0
/* Get RSSI from PHY status descriptor if present. */
-   if (infosz != 0)
+   if (infosz != 0 && (rxdw0 & R92S_RXDW0_PHYST))
*rssi_p = rsu_get_rssi(sc, rate, &stat[1]);
-   else
-#endif
-   *rssi_p = 0;
+   else {
+   /* Cheat and get the last calibrated RSSI */
+   *rssi_p = rsu_hwrssi_to_rssi(sc, sc->sc_currssi);
+   }
 
if (ieee80211_radiotap_active(ic)) {
struct rsu_rx_radiotap_header *tap = &sc->sc_rxtap;
@@ -1920,11 +1915,8 @@ rsu_rx_frame(struct rsu_softc *sc, struc
/* Bit 7 set means HT MCS instead of rate. */
tap->wr_rate = 0x80 | (rate - 12);
}
-#if 0
-   tap->wr_dbm_antsignal = *rssi;
-#endif
-   /* XXX not nice */
-   tap->wr_dbm_antsignal = rsu_hwrssi_to_rssi(sc, sc->sc_currssi);
+
+   tap->wr_dbm_antsignal = *rssi_p;
tap->wr_chan_freq = htole16(ic->ic_curchan->ic_freq);
tap->wr_chan_flags = htole16(ic->ic_curchan->ic_flags);
};
@@ -2075,9 +2067,6 @@ tr_setup:
m->m_next = NULL;
 
ni = rsu_rx_frame(sc, m, &rssi);
-
-   /* Cheat and get the last calibrated RSSI */
-   rssi = rsu_hwrssi_to_rssi(sc, sc->sc_currssi);
RSU_UNLOCK(sc);
 
if (ni != NULL) {
@@ -2988,9 +2977,6 @@ rsu_init(struct rsu_softc *sc)
/* Enable Rx TCP checksum offload. */
rsu_write_4(sc, R92S_RCR,
rsu_read_4(sc, R92S_RCR) | 0x0400);
-   /* Append PHY status. */
-   rsu_write_4(sc, R92S_RCR,
-   rsu_read_4(sc, R92S_RCR) | 0x0200);
 
rsu_write_4(sc, R92S_CR,
rsu_read_4(sc, R92S_CR) & ~0xff00);
@@ -3026,6 +3012,10 @@ rsu_init(struct rsu_softc *sc)
goto fail;
}
 
+   /* Append PHY status. */
+   rsu_write_4(sc, R92S_RCR,
+   rsu_read_4(sc, R92S_RCR) | 0x0200);
+
/* Setup multicast filter (must be done after firmware loading). */
rsu_set_multi(sc);
 

Modified: head/sys/dev/usb/wlan/if_rsureg.h
==
--- head/sys/dev/usb/wlan/if_rsureg.h   Sun Dec  4 21:13:26 2016
(r309540)
+++ head/sys/dev/usb/wlan/if_rsureg.h   Sun Dec  4 21:40:49 2016
(r309541)
@@ -510,6 +510,7 @@ struct r92s_rx_stat {
 #define R92S_RXDW0_QOS 0x0080
 #define R92S_RXDW0_SHIFT_M 0x0300
 #define R92S_RXDW0_SHIFT_S 24
+#define R92S

Re: svn commit: r309476 - head/include

2016-12-04 Thread John Baldwin
On Saturday, December 03, 2016 05:29:12 AM Bryan Drewery wrote:
> Author: bdrewery
> Date: Sat Dec  3 05:29:12 2016
> New Revision: 309476
> URL: https://svnweb.freebsd.org/changeset/base/309476
> 
> Log:
>   Create the /usr/lib/include symlink as relative.
>   
>   This ugly code is done to avoid assuming LIBDIR is 2 components
>   deep.
>   
>   Reported by:jhb

Thanks!

For other folks: this broke the ability to use a DESTDIR installworld as
a --sysroot with a cross-compiler since the cross-compiler would follow
the /usr/include symlink in /usr/lib/include in the sysroot to the host's
/usr/include and end up using the host's headers.

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


Re: svn commit: r309531 - head/sys/arm/include

2016-12-04 Thread John Baldwin
On Sunday, December 04, 2016 03:27:39 PM Michal Meloun wrote:
> Author: mmel
> Date: Sun Dec  4 15:27:39 2016
> New Revision: 309531
> URL: https://svnweb.freebsd.org/changeset/base/309531
> 
> Log:
>   Implement fake pmap_mapdev_attr() for ARMv6.
>   This function is referenced, but never called from DRM2 code. Also,
>   real behavior of pmap_mapdev_attr() in ARM world is unclear as we don't
>   have any additional attribute for a device memory type.

You have VM_MEMATTR constants on ARM though.  Some devices might want a
WB mapping (e.g. for a prefetchable memory BAR) rather than UC.

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


Re: svn commit: r309531 - head/sys/arm/include

2016-12-04 Thread Ian Lepore
On Sun, 2016-12-04 at 13:43 -0800, John Baldwin wrote:
> On Sunday, December 04, 2016 03:27:39 PM Michal Meloun wrote:
> > 
> > Author: mmel
> > Date: Sun Dec  4 15:27:39 2016
> > New Revision: 309531
> > URL: https://svnweb.freebsd.org/changeset/base/309531
> > 
> > Log:
> >   Implement fake pmap_mapdev_attr() for ARMv6.
> >   This function is referenced, but never called from DRM2 code.
> > Also,
> >   real behavior of pmap_mapdev_attr() in ARM world is unclear as we
> > don't
> >   have any additional attribute for a device memory type.
> You have VM_MEMATTR constants on ARM though.  Some devices might want
> a
> WB mapping (e.g. for a prefetchable memory BAR) rather than UC.
> 

On ARM, 'DEVICE' memory is its own type/attribute and it can't usefully
be changed (if you were to change it, it would no longer be device
memory, it would be some other type).  If this function is being used
to map main memory just because that memory happens to be used in some
device driver, then that's a usage model that just doesn't map usefully
to arm memory semantics.

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


svn commit: r309544 - head/contrib/tzdata

2016-12-04 Thread Baptiste Daroussin
Author: bapt
Date: Sun Dec  4 23:23:59 2016
New Revision: 309544
URL: https://svnweb.freebsd.org/changeset/base/309544

Log:
  Import tzdata 2016j
  
  MFC after:2 days

Modified:
  head/contrib/tzdata/CONTRIBUTING
  head/contrib/tzdata/Makefile
  head/contrib/tzdata/NEWS
  head/contrib/tzdata/README
  head/contrib/tzdata/Theory
  head/contrib/tzdata/africa
  head/contrib/tzdata/asia
  head/contrib/tzdata/europe
  head/contrib/tzdata/version
  head/contrib/tzdata/zone.tab
  head/contrib/tzdata/zone1970.tab
Directory Properties:
  head/contrib/tzdata/   (props changed)

Modified: head/contrib/tzdata/CONTRIBUTING
==
--- head/contrib/tzdata/CONTRIBUTINGSun Dec  4 23:19:30 2016
(r309543)
+++ head/contrib/tzdata/CONTRIBUTINGSun Dec  4 23:23:59 2016
(r309544)
@@ -18,10 +18,10 @@ data should contain commentary citing re
 justification.
 
 Please submit changes against either the latest release in
- or the master branch of the experimental
-Git repository.  If you use Git the following workflow may be helpful:
+ or the master branch of the development
+repository.  If you use Git the following workflow may be helpful:
 
-  * Copy the experimental repository.
+  * Copy the development repository.
 
   git clone https://github.com/eggert/tz.git
   cd tz

Modified: head/contrib/tzdata/Makefile
==
--- head/contrib/tzdata/MakefileSun Dec  4 23:19:30 2016
(r309543)
+++ head/contrib/tzdata/MakefileSun Dec  4 23:23:59 2016
(r309544)
@@ -542,7 +542,8 @@ force_tzs:  $(TZS_NEW)
cp $(TZS_NEW) $(TZS)
 
 libtz.a:   $(LIBOBJS)
-   $(AR) ru $@ $(LIBOBJS)
+   rm -f $@
+   $(AR) -rc $@ $(LIBOBJS)
$(RANLIB) $@
 
 date:  $(DATEOBJS)

Modified: head/contrib/tzdata/NEWS
==
--- head/contrib/tzdata/NEWSSun Dec  4 23:19:30 2016(r309543)
+++ head/contrib/tzdata/NEWSSun Dec  4 23:23:59 2016(r309544)
@@ -1,5 +1,46 @@
 News for the tz database
 
+Release 2016j - 2016-11-22 23:17:13 -0800
+
+  Briefly: Saratov, Russia moves from +03 to +04 on 2016-12-04.
+
+  Changes to future time stamps
+
+Saratov, Russia switches from +03 to +04 on 2016-12-04 at 02:00.
+This hives off a new zone Europe/Saratov from Europe/Volgograd.
+(Thanks to Yuri Konotopov and Stepan Golosunov.)
+
+  Changes to past time stamps
+
+The new zone Asia/Atyrau for Atyraū Region, Kazakhstan, is like
+Asia/Aqtau except it switched from +04/+05 to +05/+06 in spring
+1999, not fall 1994.  (Thanks to Stepan Golosunov.)
+
+  Changes to past time zone abbreviations
+
+Asia/Gaza and Asia/Hebron now use "EEST", not "EET", to denote
+summer time before 1948.  The old use of "EET" was a typo.
+
+  Changes to code
+
+zic no longer mishandles file systems that lack hard links, fixing
+bugs introduced in 2016g.  (Problems reported by Tom Lane.)
+Also, when the destination already contains symbolic links, zic
+should now work better on systems where the 'link' system call
+does not follow symbolic links.
+
+  Changes to documentation and commentary
+
+tz-link.htm now documents the relationship between release version
+numbers and development-repository commit tags.  (Suggested by
+Paul Koning.)
+
+The 'Theory' file now documents UT.
+
+iso3166.tab now accents "Curaçao", and commentary now mentions
+the names "Cabo Verde" and "Czechia".  (Thanks to Jiří Boháč.)
+
+
 Release 2016i - 2016-11-01 23:19:52 -0700
 
   Briefly: Cyprus split into two time zones on 2016-10-30, and Tonga
@@ -212,7 +253,7 @@ Release 2016g - 2016-09-13 08:56:38 -070
 23 commits and some working-file changes have been made since
 release 2016g, the version number is now something like
 '2016g-23-g50556e3-dirty' instead of the misleading '2016g'.
-Official releases uses the same version number format as before,
+Tagged releases use the same version number format as before,
 e.g., '2016g'.  To support the more-accurate version number, its
 specification has moved from a line in the Makefile to a new
 source file 'version'.

Modified: head/contrib/tzdata/README
==
--- head/contrib/tzdata/README  Sun Dec  4 23:19:30 2016(r309543)
+++ head/contrib/tzdata/README  Sun Dec  4 23:23:59 2016(r309544)
@@ -10,24 +10,9 @@ locations around the globe.  It is updat
 changes made by political bodies to time zone boundaries, UTC offsets,
 and daylight-saving rules.
 
-Here is a recipe for acquiring, building, installing, and testing the
-tz distribution on a GNU/Linux or similar host.
-
-To acquire the 

svn commit: r309545 - head/share/man/man4

2016-12-04 Thread Kevin Lo
Author: kevlo
Date: Mon Dec  5 01:46:45 2016
New Revision: 309545
URL: https://svnweb.freebsd.org/changeset/base/309545

Log:
  Add Edimax EW-7622UMN to the list of devices supported by rsu(4).

Modified:
  head/share/man/man4/rsu.4

Modified: head/share/man/man4/rsu.4
==
--- head/share/man/man4/rsu.4   Sun Dec  4 23:23:59 2016(r309544)
+++ head/share/man/man4/rsu.4   Mon Dec  5 01:46:45 2016(r309545)
@@ -15,7 +15,7 @@
 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\"
-.Dd October 15, 2015
+.Dd December 5, 2016
 .Dt RSU 4
 .Os
 .Sh NAME
@@ -113,6 +113,7 @@ wireless network adapters, including:
 .It Belkin F7D1101 v1
 .It D-Link DWA-131 A1
 .It EDUP EP-MS150N(W)
+.It Edimax EW-7622UMN
 .It Hercules HWGUn-54
 .It Hercules HWNUm-300
 .It Planex GW-USNano
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


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

2016-12-04 Thread Justin Hibbits
Author: jhibbits
Date: Mon Dec  5 02:27:50 2016
New Revision: 309546
URL: https://svnweb.freebsd.org/changeset/base/309546

Log:
  Use trunc_page() instead of rolling my own in pmap_track_page()

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

Modified: head/sys/powerpc/booke/pmap.c
==
--- head/sys/powerpc/booke/pmap.c   Mon Dec  5 01:46:45 2016
(r309545)
+++ head/sys/powerpc/booke/pmap.c   Mon Dec  5 02:27:50 2016
(r309546)
@@ -3483,7 +3483,7 @@ pmap_track_page(pmap_t pmap, vm_offset_t
vm_page_t page;
struct pv_entry *pve;
 
-   va &= ~PAGE_MASK;
+   va = trunc_page(va);
pa = pmap_kextract(va);
 
rw_wlock(&pvh_global_lock);
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r309547 - head/contrib/elftoolchain/readelf

2016-12-04 Thread Conrad E. Meyer
Author: cem
Date: Mon Dec  5 03:11:52 2016
New Revision: 309547
URL: https://svnweb.freebsd.org/changeset/base/309547

Log:
  readelf(1): Add support for extended program header numbers
  
  Add support for extended program header numbers to elftoolchain
  'readelf -h'.
  
  Reviewed by:  emaste
  Sponsored by: Dell EMC Isilon
  Differential Revision:https://reviews.freebsd.org/D8702

Modified:
  head/contrib/elftoolchain/readelf/readelf.c

Modified: head/contrib/elftoolchain/readelf/readelf.c
==
--- head/contrib/elftoolchain/readelf/readelf.c Mon Dec  5 02:27:50 2016
(r309546)
+++ head/contrib/elftoolchain/readelf/readelf.c Mon Dec  5 03:11:52 2016
(r309547)
@@ -2112,7 +2112,7 @@ dwarf_reg(unsigned int mach, unsigned in
 static void
 dump_ehdr(struct readelf *re)
 {
-   size_t   shnum, shstrndx;
+   size_t   phnum, shnum, shstrndx;
int  i;
 
printf("ELF Header:\n");
@@ -2174,7 +2174,13 @@ dump_ehdr(struct readelf *re)
re->ehdr.e_phentsize);
 
/* e_phnum. */
-   printf("%-37s%u\n", "  Number of program headers:", re->ehdr.e_phnum);
+   printf("%-37s%u", "  Number of program headers:", re->ehdr.e_phnum);
+   if (re->ehdr.e_phnum == PN_XNUM) {
+   /* Extended program header numbering is in use. */
+   if (elf_getphnum(re->elf, &phnum))
+   printf(" (%zu)", phnum);
+   }
+   putchar('\n');
 
/* e_shentsize. */
printf("%-37s%u (bytes)\n", "  Size of section headers:",
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"