svn commit: r355554 - head/usr.bin/netstat

2019-12-09 Thread Baptiste Daroussin
Author: bapt
Date: Mon Dec  9 10:21:24 2019
New Revision: 34
URL: https://svnweb.freebsd.org/changeset/base/34

Log:
  Fix: netstat -rs
  
  Routing statistics requires somes symbols that are only loaded when not 
running
  live. Load them only in that specific case
  
  PR:   242423
  Submitted by: olivier
  MFC after:3 days

Modified:
  head/usr.bin/netstat/main.c

Modified: head/usr.bin/netstat/main.c
==
--- head/usr.bin/netstat/main.c Mon Dec  9 07:18:40 2019(r33)
+++ head/usr.bin/netstat/main.c Mon Dec  9 10:21:24 2019(r34)
@@ -484,6 +484,9 @@ main(int argc, char *argv[])
if (rflag) {
xo_open_container("statistics");
if (sflag) {
+   if (live) {
+   kresolve_list(nl);
+   }
rt_stats();
} else
routepr(fib, af);
___
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: r355554 - head/usr.bin/netstat

2019-12-09 Thread Bjoern A. Zeeb

On 9 Dec 2019, at 10:21, Baptiste Daroussin wrote:


Author: bapt
Date: Mon Dec  9 10:21:24 2019
New Revision: 34
URL: https://svnweb.freebsd.org/changeset/base/34

Log:
  Fix: netstat -rs

  Routing statistics requires somes symbols that are only loaded when 
not running

  live. Load them only in that specific case



We should really make sure we can get them another way and don’t need 
this.

Of course that’s another issue ;-)

/bz
___
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: r355555 - in head/sys: conf powerpc/powernv powerpc/pseries

2019-12-09 Thread Leandro Lupori
Author: luporl
Date: Mon Dec  9 13:09:32 2019
New Revision: 35
URL: https://svnweb.freebsd.org/changeset/base/35

Log:
  [PPC64] Enable opal console use as a GDB DBGPORT
  
  This change makes it possible to use OPAL console as a GDB debug port.
  
  Similar to uart and uart_phyp debug ports, it has to be enabled by
  setting the hw.uart.dbgport variable to the serial console node
  of the device tree.
  
  Reviewed by:  jhibbits
  Differential Revision:https://reviews.freebsd.org/D22649

Added:
  head/sys/powerpc/powernv/opal_dbg.c   (contents, props changed)
Modified:
  head/sys/conf/files.powerpc
  head/sys/powerpc/pseries/phyp_dbg.c

Modified: head/sys/conf/files.powerpc
==
--- head/sys/conf/files.powerpc Mon Dec  9 10:21:24 2019(r34)
+++ head/sys/conf/files.powerpc Mon Dec  9 13:09:32 2019(r35)
@@ -185,6 +185,7 @@ powerpc/powermac/vcoregpio.coptional
powermac 
 powerpc/powernv/opal.c optionalpowernv
 powerpc/powernv/opal_async.c   optionalpowernv
 powerpc/powernv/opal_console.c optionalpowernv
+powerpc/powernv/opal_dbg.c optionalpowernv gdb
 powerpc/powernv/opal_dev.c optionalpowernv
 powerpc/powernv/opal_flash.c   optionalpowernv opalflash
 powerpc/powernv/opal_hmi.c optionalpowernv

Added: head/sys/powerpc/powernv/opal_dbg.c
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/sys/powerpc/powernv/opal_dbg.c Mon Dec  9 13:09:32 2019
(r35)
@@ -0,0 +1,151 @@
+/*-
+ * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ *
+ * Copyright (C) 2019 Leandro Lupori
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *notice, this list of conditions and the following disclaimer in the
+ *documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include 
+__FBSDID("$FreeBSD$");
+
+#include 
+#include 
+#include 
+
+struct thread;
+
+#include 
+#include 
+
+#include 
+#include 
+
+#include "opal.h"
+
+static gdb_probe_f uart_opal_dbg_probe;
+static gdb_init_f uart_opal_dbg_init;
+static gdb_term_f uart_opal_dbg_term;
+static gdb_getc_f uart_opal_dbg_getc;
+static gdb_putc_f uart_opal_dbg_putc;
+
+GDB_DBGPORT(uart_opal, uart_opal_dbg_probe,
+uart_opal_dbg_init, uart_opal_dbg_term,
+uart_opal_dbg_getc, uart_opal_dbg_putc);
+
+static int64_t termnum;
+
+static int
+uart_opal_dbg_probe(void)
+{
+   char buf[64];
+   cell_t reg;
+   phandle_t dev;
+
+   if (!getenv_string("hw.uart.dbgport", buf, sizeof(buf)))
+   return (-1);
+   if ((dev = OF_finddevice(buf)) == -1)
+   return (-1);
+
+   if (OF_getprop(dev, "device_type", buf, sizeof(buf)) == -1)
+   return (-1);
+   if (strcmp(buf, "serial") != 0)
+   return (-1);
+
+   if (OF_getprop(dev, "compatible", buf, sizeof(buf)) == -1)
+   return (-1);
+   if (strcmp(buf, "ibm,opal-console-raw") != 0)
+   return (-1);
+
+   reg = ~0U;
+   OF_getencprop(dev, "reg", ®, sizeof(reg));
+   if (reg == ~0U)
+   return (-1);
+   termnum = reg;
+
+   return (0);
+}
+
+static void
+uart_opal_dbg_init(void)
+{
+}
+
+static void
+uart_opal_dbg_term(void)
+{
+}
+
+static int
+uart_opal_dbg_getc(void)
+{
+   char c;
+   int err;
+   int64_t len;
+   uint64_t lenp, bufp;
+
+   len = 1;
+   if (pmap_bootstrapped) {
+   lenp = vtophys(&len);
+   bufp = vtophys(&c);
+   } else {
+   lenp = (uint64_t)&len;
+   bufp = (uint64_t)&c;
+   }
+
+   err = opal_call(OPAL_CONSOLE_READ, termnum, lenp, bufp);
+   if (err != OPAL_SUCCESS || len != 1)
+   return (-1);
+
+

svn commit: r355556 - in head/sys: dev/vt/hw/ofwfb powerpc/ofw powerpc/pseries

2019-12-09 Thread Leandro Lupori
Author: luporl
Date: Mon Dec  9 13:40:23 2019
New Revision: 36
URL: https://svnweb.freebsd.org/changeset/base/36

Log:
  Enable use of ofwcons for early debug
  
  This change enables the use of OpenFirmware Console (ofwcons), even when VGA 
is
  available, allowing early kernel messages to be seen, that is important in 
case
  of crashes before VGA console initialization.
  
  This is specially useful in virtualized environments, where the user/developer
  doesn't have full control of the virtualization engine (e.g. OpenStack).
  
  The old behavior is preserved by default and, in order to use ofwcons, a few
  tunables that have been introduced need to be set:
  - hw.ofwfb.disable=1 - disable OFW FrameBuffer device
  - machdep.ofw.mtx_spin=1 - change PPC OFW mutex to SPIN type, to match kernel
 console's mutex type
  - debug.quiesce_ofw=0- don't call OFW quiesce, needed to keep ofwcons I/O
 working
  
  More details can be found at differential revision D20640.
  
  Reviewed by:  jhibbits
  Differential Revision:https://reviews.freebsd.org/D20640

Modified:
  head/sys/dev/vt/hw/ofwfb/ofwfb.c
  head/sys/powerpc/ofw/ofw_real.c
  head/sys/powerpc/pseries/platform_chrp.c

Modified: head/sys/dev/vt/hw/ofwfb/ofwfb.c
==
--- head/sys/dev/vt/hw/ofwfb/ofwfb.cMon Dec  9 13:09:32 2019
(r35)
+++ head/sys/dev/vt/hw/ofwfb/ofwfb.cMon Dec  9 13:40:23 2019
(r36)
@@ -90,9 +90,15 @@ VT_DRIVER_DECLARE(vt_ofwfb, vt_ofwfb_driver);
 static int
 ofwfb_probe(struct vt_device *vd)
 {
+   int disabled;
phandle_t chosen, node;
ihandle_t stdout;
char buf[64];
+
+   disabled = 0;
+   TUNABLE_INT_FETCH("hw.ofwfb.disable", &disabled);
+   if (disabled)
+   return (CN_DEAD);
 
chosen = OF_finddevice("/chosen");
if (chosen == -1)

Modified: head/sys/powerpc/ofw/ofw_real.c
==
--- head/sys/powerpc/ofw/ofw_real.c Mon Dec  9 13:09:32 2019
(r35)
+++ head/sys/powerpc/ofw/ofw_real.c Mon Dec  9 13:40:23 2019
(r36)
@@ -168,7 +168,45 @@ static vm_offset_t of_bounce_phys;
 static caddr_t of_bounce_virt;
 static off_t   of_bounce_offset;
 static size_t  of_bounce_size;
+
+/*
+ * To be able to use OFW console on PPC, that requires real mode OFW,
+ * the mutex that guards the mapping/unmapping of virtual to physical
+ * buffers (of_real_mtx) must be of SPIN type. This is needed because
+ * kernel console first locks a SPIN mutex before calling OFW real.
+ * By default, of_real_mtx is a sleepable mutex. To make it of SPIN
+ * type, use the following tunnable:
+ * machdep.ofw.mtx_spin=1
+ *
+ * Besides that, a few more tunables are needed to select and use the
+ * OFW console with real mode OFW.
+ *
+ * In order to disable the use of OFW FrameBuffer and fallback to the
+ * OFW console, use:
+ * hw.ofwfb.disable=1
+ *
+ * To disable the use of FDT (that doesn't support OFW read/write methods)
+ * and use real OFW instead, unset the following loader variable:
+ * unset usefdt
+ *
+ * OFW is put in quiesce state in early kernel boot, which usually disables
+ * OFW read/write capabilities (in QEMU write continue to work, but
+ * read doesn't). To avoid OFW quiesce, use:
+ * debug.quiesce_ofw=0
+ *
+ * Note that disabling OFW quiesce can cause conflicts between kernel and
+ * OFW trying to control the same hardware. Thus, it must be used with care.
+ * Some conflicts can be avoided by disabling kernel drivers with hints.
+ * For instance, to disable a xhci controller and an USB keyboard connected
+ * to it, that may be already being used for input by OFW, use:
+ * hint.xhci.0.disabled=1
+ */
+
 static struct mtx  of_bounce_mtx;
+static struct mtx  of_spin_mtx;
+static struct mtx  *of_real_mtx;
+static void(*of_mtx_lock)(void);
+static void(*of_mtx_unlock)(void);
 
 extern int ofw_real_mode;
 
@@ -182,16 +220,40 @@ SYSINIT(ofw_real_bounce_alloc, SI_SUB_KMEM, SI_ORDER_A
 ofw_real_bounce_alloc, NULL);
 
 static void
+ofw_real_mtx_lock_spin(void)
+{
+   mtx_lock_spin(of_real_mtx);
+}
+
+static void
+ofw_real_mtx_lock(void)
+{
+   mtx_lock(of_real_mtx);
+}
+
+static void
+ofw_real_mtx_unlock_spin(void)
+{
+   mtx_unlock_spin(of_real_mtx);
+}
+
+static void
+ofw_real_mtx_unlock(void)
+{
+   mtx_unlock(of_real_mtx);
+}
+
+static void
 ofw_real_start(void)
 {
-   mtx_lock(&of_bounce_mtx);
+   (*of_mtx_lock)();
of_bounce_offset = 0;
 }
-   
+
 static void
 ofw_real_stop(void)
 {
-   mtx_unlock(&of_bounce_mtx);
+   (*of_mtx_unlock)();
 }
 
 static void
@@ -228,7 +290,7 @@ ofw_real_bounce_alloc(void *junk)
 * we have a 32-bit virtual address to give OF.
 */
 
-   if (!ofw_real

svn commit: r355557 - head/lib/libkvm

2019-12-09 Thread Leandro Lupori
Author: luporl
Date: Mon Dec  9 13:59:36 2019
New Revision: 37
URL: https://svnweb.freebsd.org/changeset/base/37

Log:
  [PPC64] Initial libkvm minidump implementation
  
  This change adds PowerPC64 support for minidumps on libkvm.
  
  Address translation, page walk, and data retrieval were tested and seem to be
  working correctly.
  
  Reviewed by:  jhibbits
  Differential Revision:https://reviews.freebsd.org/D21555

Added:
  head/lib/libkvm/kvm_minidump_powerpc64.c   (contents, props changed)
  head/lib/libkvm/kvm_minidump_powerpc64_hpt.c   (contents, props changed)
  head/lib/libkvm/kvm_powerpc64.h   (contents, props changed)
Modified:
  head/lib/libkvm/Makefile

Modified: head/lib/libkvm/Makefile
==
--- head/lib/libkvm/MakefileMon Dec  9 13:40:23 2019(r36)
+++ head/lib/libkvm/MakefileMon Dec  9 13:59:36 2019(r37)
@@ -19,6 +19,7 @@ SRCS= kvm.c kvm_cptime.c kvm_getloadavg.c \
kvm_minidump_mips.c \
kvm_powerpc.c kvm_powerpc64.c \
kvm_minidump_riscv.c \
+   kvm_minidump_powerpc64.c kvm_minidump_powerpc64_hpt.c \
kvm_sparc64.c
 INCS=  kvm.h
 

Added: head/lib/libkvm/kvm_minidump_powerpc64.c
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/lib/libkvm/kvm_minidump_powerpc64.cMon Dec  9 13:59:36 2019
(r37)
@@ -0,0 +1,202 @@
+/*-
+ * Copyright (c) 2006 Peter Wemm
+ * Copyright (c) 2019 Leandro Lupori
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *notice, this list of conditions and the following disclaimer in the
+ *documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * From: FreeBSD: src/lib/libkvm/kvm_minidump_riscv.c
+ */
+
+#include 
+__FBSDID("$FreeBSD$");
+
+#include 
+
+#include 
+
+#include 
+#include 
+#include 
+#include 
+
+#include "../../sys/powerpc/include/minidump.h"
+#include "kvm_private.h"
+#include "kvm_powerpc64.h"
+
+
+static int
+_powerpc64_minidump_probe(kvm_t *kd)
+{
+   return (_kvm_probe_elf_kernel(kd, ELFCLASS64, EM_PPC64) &&
+   _kvm_is_minidump(kd));
+}
+
+static void
+_powerpc64_minidump_freevtop(kvm_t *kd)
+{
+   struct vmstate *vm = kd->vmst;
+
+   if (vm == NULL)
+   return;
+   if (PPC64_MMU_OPS(kd))
+   PPC64_MMU_OP(kd, cleanup);
+   free(vm);
+   kd->vmst = NULL;
+}
+
+static int
+_powerpc64_minidump_initvtop(kvm_t *kd)
+{
+   struct vmstate *vmst;
+   struct minidumphdr *hdr;
+   off_t bitmap_off, pmap_off, sparse_off;
+   const char *mmu_name;
+
+   /* Alloc VM */
+   vmst = _kvm_malloc(kd, sizeof(*vmst));
+   if (vmst == NULL) {
+   _kvm_err(kd, kd->program, "cannot allocate vm");
+   return (-1);
+   }
+   hdr = &vmst->hdr;
+   kd->vmst = vmst;
+   PPC64_MMU_OPS(kd) = NULL;
+   /* Read minidump header */
+   if (pread(kd->pmfd, hdr, sizeof(*hdr), 0) != sizeof(*hdr)) {
+   _kvm_err(kd, kd->program, "cannot read minidump header");
+   goto failed;
+   }
+   /* Check magic */
+   if (strncmp(MINIDUMP_MAGIC, hdr->magic, sizeof(hdr->magic)) != 0) {
+   _kvm_err(kd, kd->program, "not a minidump for this platform");
+   goto failed;
+   }
+   /* Check version */
+   hdr->version = be32toh(hdr->version);
+   if (hdr->version != MINIDUMP_VERSION) {
+   _kvm_err(kd, kd->program, "wrong minidump version. "
+   "Expected %d got %d", MINIDUMP_VERSION, hdr->version);
+   goto failed;
+   }
+   /* Convert header fields to host endian */
+   hdr->msgbufsize = be32toh(hdr->msgbufsize);
+   hdr->bitmapsize = be32

Re: svn commit: r355487 - in head/sys: arm64/arm64 arm64/include conf

2019-12-09 Thread Kyle Evans
On Sat, Dec 7, 2019 at 10:14 AM Michal Meloun  wrote:
>
> Author: mmel
> Date: Sat Dec  7 16:14:23 2019
> New Revision: 355487
> URL: https://svnweb.freebsd.org/changeset/base/355487
>
> Log:
>   Add support for booting kernel directly from U-Boot using booti command.
>
>   In some cases, like is locked bootstrap or device's inability to boot from
>   removable media, we cannot use standard boot sequence and is necessary to
>   boot kernel directly from U-Boot.
>
>   Discussed with:   jhibbits
>   MFC after:1 month
>   Differential Revision:https://reviews.freebsd.org/D13861
>
> Added:
>   head/sys/arm64/arm64/machdep_boot.c   (contents, props changed)
> Modified:
>   head/sys/arm64/arm64/locore.S
>   head/sys/arm64/arm64/machdep.c
>   head/sys/arm64/include/machdep.h
>   head/sys/conf/Makefile.arm64
>   head/sys/conf/files.arm64
>   head/sys/conf/options.arm64
>
> [... snip ...]
> Added: head/sys/arm64/arm64/machdep_boot.c
> ==
> --- /dev/null   00:00:00 1970   (empty, because file is newly added)
> +++ head/sys/arm64/arm64/machdep_boot.c Sat Dec  7 16:14:23 2019
> (r355487)
> @@ -0,0 +1,254 @@
> +/*-
> + * Copyright (c) 2004 Olivier Houchard
> + * Copyright (c) 1994-1998 Mark Brinicombe.
> + * Copyright (c) 1994 Brini.
> + * All rights reserved.
> + *
> + * Redistribution and use in source and binary forms, with or without
> + * modification, are permitted provided that the following conditions
> + * are met:
> + * 1. Redistributions of source code must retain the above copyright
> + *notice, this list of conditions and the following disclaimer.
> + * 2. Redistributions in binary form must reproduce the above copyright
> + *notice, this list of conditions and the following disclaimer in the
> + *documentation and/or other materials provided with the distribution.
> + *
> + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
> + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
> + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
> + * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
> + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
> + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
> + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
> + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
> + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
> + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
> + * SUCH DAMAGE.
> + */
> +
> +#include "opt_platform.h"
> +
> +#include 
> +__FBSDID("$FreeBSD$");
> +
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#ifdef FDT
> +#include 
> +#endif
> +
> +#include 
> +#include 
> +#include 
> +#include 
> +
> +#ifdef FDT
> +#include 
> +#include 
> +#endif
> +
> +extern int *end;
> +static char *loader_envp;
> +static char static_kenv[4096];
> +
> +
> +#ifdef FDT
> +#defineCMDLINE_GUARD "FreeBSD:"
> +#defineLBABI_MAX_COMMAND_LINE 512
> +static char linux_command_line[LBABI_MAX_COMMAND_LINE + 1];
> +#endif
> +
> +/*
> + * Fake up a boot descriptor table
> + */
> + #define PRELOAD_PUSH_VALUE(type, value) do {  \
> +   *(type *)(preload_ptr + size) = (value);\
> +   size += sizeof(type);   \
> +} while (0)
> +
> + #define PRELOAD_PUSH_STRING(str) do { \
> +   uint32_t ssize; \
> +   ssize = strlen(str) + 1;\
> +   PRELOAD_PUSH_VALUE(uint32_t, ssize);\
> +   strcpy((char*)(preload_ptr + size), str);   \
> +   size += ssize;  \
> +   size = roundup(size, sizeof(u_long));   \
> +} while (0)
> +
> +
> +/* Build minimal set of metatda. */
> +static vm_offset_t
> +fake_preload_metadata(void *dtb_ptr, size_t dtb_size)
> +{
> +#ifdef DDB
> +   vm_offset_t zstart = 0, zend = 0;
> +#endif
> +   vm_offset_t lastaddr;
> +   static char fake_preload[256];
> +   caddr_t preload_ptr;
> +   size_t size;
> +
> +   preload_ptr = (caddr_t)&fake_preload[0];
> +   size = 0;
> +
> +   PRELOAD_PUSH_VALUE(uint32_t, MODINFO_NAME);
> +   PRELOAD_PUSH_STRING("kernel");
> +
> +   PRELOAD_PUSH_VALUE(uint32_t, MODINFO_TYPE);
> +   PRELOAD_PUSH_STRING("elf kernel");
> +
> +   PRELOAD_PUSH_VALUE(uint32_t, MODINFO_ADDR);
> +   PRELOAD_PUSH_VALUE(uint32_t, sizeof(vm_offset_t));
> +   PRELOAD_PUSH_VALUE(uint64_t, VM_MIN_KERNEL_ADDRESS);
> +
> +   PRELOAD_PUSH_VALUE(uint32_t, MODINFO_SIZE);
> +   PRELOAD_PUSH_VALUE(uint32_t, sizeof(size_t));
> +   PRELOAD_PUSH_VALUE(uint64_t, (size_t)(&end - VM_MIN_KERNEL_ADDRESS));
> +#ifdef DDB
> +   if (*(u

svn commit: r355558 - head/sys/arm64/arm64

2019-12-09 Thread Emmanuel Vadot
Author: manu
Date: Mon Dec  9 15:23:05 2019
New Revision: 38
URL: https://svnweb.freebsd.org/changeset/base/38

Log:
  arm64: Use the kenv provided by loader
  
  Otherwise we have an empty kenv a likely cannot boot.
  
  Submitted by: kevans
  MFC after:1 month
  X-MFC-With:   355487

Modified:
  head/sys/arm64/arm64/machdep_boot.c

Modified: head/sys/arm64/arm64/machdep_boot.c
==
--- head/sys/arm64/arm64/machdep_boot.c Mon Dec  9 13:59:36 2019
(r37)
+++ head/sys/arm64/arm64/machdep_boot.c Mon Dec  9 15:23:05 2019
(r38)
@@ -223,7 +223,7 @@ freebsd_parse_boot_param(struct arm64_bootparams *abp)
 
boothowto = MD_FETCH(kmdp, MODINFOMD_HOWTO, int);
loader_envp = MD_FETCH(kmdp, MODINFOMD_ENVP, char *);
-   init_static_kenv(static_kenv, 0);
+   init_static_kenv(loader_envp, 0);
lastaddr = MD_FETCH(kmdp, MODINFOMD_KERNEND, vm_offset_t);
 #ifdef DDB
ksym_start = MD_FETCH(kmdp, MODINFOMD_SSYM, uintptr_t);
___
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: r355563 - head/sys/arm/broadcom/bcm2835

2019-12-09 Thread Kyle Evans
Author: kevans
Date: Mon Dec  9 17:34:40 2019
New Revision: 355563
URL: https://svnweb.freebsd.org/changeset/base/355563

Log:
  RPI: Fix DMA/SDHCI on the BCM2836 (Raspberry Pi 2)
  
  r354875 pushed VCBUS <-> ARMC translations to runtime determination, but
  incorrectly mapped addresses for the BCM2836 -- SOC_BCM2835 and SOC_BCM2836
  are actually mutually exclusive, so the BCM2836 config (GENERIC) would have
  taken the latter path in the header and used 0x3f00 as peripheral start.
  
  Easily fixed -- split out the BCM2836 into its own memmap config and use
  that instead if SOC_BCM2836 is included. With this, we get back to userland
  again.
  
  Reported by:  Marek Zarychta 

Modified:
  head/sys/arm/broadcom/bcm2835/bcm2835_vcbus.c
  head/sys/arm/broadcom/bcm2835/bcm2835_vcbus.h

Modified: head/sys/arm/broadcom/bcm2835/bcm2835_vcbus.c
==
--- head/sys/arm/broadcom/bcm2835/bcm2835_vcbus.c   Mon Dec  9 17:14:43 
2019(r355562)
+++ head/sys/arm/broadcom/bcm2835/bcm2835_vcbus.c   Mon Dec  9 17:34:40 
2019(r355563)
@@ -67,7 +67,7 @@ struct bcm283x_memory_mapping {
vm_paddr_t  vcbus_start;
 };
 
-#if defined(SOC_BCM2835) || defined(SOC_BCM2836)
+#ifdef SOC_BCM2835
 static struct bcm283x_memory_mapping bcm2835_memmap[] = {
{
/* SDRAM */
@@ -85,6 +85,24 @@ static struct bcm283x_memory_mapping bcm2835_memmap[] 
 };
 #endif
 
+#ifdef SOC_BCM2836
+static struct bcm283x_memory_mapping bcm2836_memmap[] = {
+   {
+   /* SDRAM */
+   .armc_start = 0x,
+   .armc_size = BCM2836_ARM_IO_BASE,
+   .vcbus_start = BCM2836_VCBUS_SDRAM_BASE,
+   },
+   {
+   /* Peripherals */
+   .armc_start = BCM2836_ARM_IO_BASE,
+   .armc_size  = BCM28XX_ARM_IO_SIZE,
+   .vcbus_start = BCM2836_VCBUS_IO_BASE,
+   },
+   { 0, 0, 0 },
+};
+#endif
+
 #ifdef SOC_BRCM_BCM2837
 static struct bcm283x_memory_mapping bcm2837_memmap[] = {
{
@@ -142,7 +160,7 @@ static struct bcm283x_memory_soc_cfg {
 #endif
 #ifdef SOC_BCM2836
{
-   .memmap = bcm2835_memmap,
+   .memmap = bcm2836_memmap,
.soc_compat = "brcm,bcm2836",
.busdma_lowaddr = BUS_SPACE_MAXADDR_32BIT,
},

Modified: head/sys/arm/broadcom/bcm2835/bcm2835_vcbus.h
==
--- head/sys/arm/broadcom/bcm2835/bcm2835_vcbus.h   Mon Dec  9 17:14:43 
2019(r355562)
+++ head/sys/arm/broadcom/bcm2835/bcm2835_vcbus.h   Mon Dec  9 17:34:40 
2019(r355563)
@@ -42,7 +42,11 @@
 #defineBCM2835_VCBUS_IO_BASE   0x7E00
 #defineBCM2835_VCBUS_SDRAM_BASEBCM2835_VCBUS_SDRAM_CACHED
 
-#defineBCM2837_ARM_IO_BASE 0x3f00
+#defineBCM2836_ARM_IO_BASE 0x3f00
+#defineBCM2836_VCBUS_IO_BASE   BCM2835_VCBUS_IO_BASE
+#defineBCM2836_VCBUS_SDRAM_BASEBCM2835_VCBUS_SDRAM_UNCACHED
+
+#defineBCM2837_ARM_IO_BASE BCM2836_ARM_IO_BASE
 #defineBCM2837_VCBUS_IO_BASE   BCM2835_VCBUS_IO_BASE
 #defineBCM2837_VCBUS_SDRAM_BASEBCM2835_VCBUS_SDRAM_UNCACHED
 
___
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: r355564 - head/contrib/nvi/docs/man

2019-12-09 Thread Mateusz Piotrowski
Author: 0mp (doc,ports committer)
Date: Mon Dec  9 17:58:22 2019
New Revision: 355564
URL: https://svnweb.freebsd.org/changeset/base/355564

Log:
  vi.1: Fix a typo
  
  Reviewed by:  bcr
  Approved by:  bcr (mentor)
  Differential Revision:https://reviews.freebsd.org/D22734

Modified:
  head/contrib/nvi/docs/man/vi.1

Modified: head/contrib/nvi/docs/man/vi.1
==
--- head/contrib/nvi/docs/man/vi.1  Mon Dec  9 17:34:40 2019
(r355563)
+++ head/contrib/nvi/docs/man/vi.1  Mon Dec  9 17:58:22 2019
(r355564)
@@ -14,7 +14,7 @@
 .\"
 .\" $Id: vi.1,v 9.0 2013/11/02 12:11:56 zy Exp $
 .\"
-.Dd November 2, 2013
+.Dd December 9, 2019
 .Dt VI 1
 .Os
 .Sh NAME
@@ -981,7 +981,7 @@ command.
 .Cm ;\&
 .Xc
 Repeat the last character find
-.Pq i.e., the last .Cm F , f , T No or Cm t No command
+.Pq i.e., the last Cm F , f , T No or Cm t No command
 .Ar count
 times.
 .Pp
___
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: r355565 - head/sys/dev/gpio

2019-12-09 Thread Ian Lepore
Author: ian
Date: Mon Dec  9 19:00:39 2019
New Revision: 355565
URL: https://svnweb.freebsd.org/changeset/base/355565

Log:
  Switch gpioths(4) from using a callout to a taskqueue for periodic polling
  of the sensor hardware.  Part of the polling process involves signalling
  the chip then waiting 20 milliseconds.  This was being done with DELAY(),
  which is a pretty rude thing to do in a callout.  Now a taskqueue_thread
  task is scheduled to do the polling, and because sleeping is allowed in
  the task context, pause_sbt() replaces DELAY() for the 20ms wait.

Modified:
  head/sys/dev/gpio/gpioths.c

Modified: head/sys/dev/gpio/gpioths.c
==
--- head/sys/dev/gpio/gpioths.c Mon Dec  9 17:58:22 2019(r355564)
+++ head/sys/dev/gpio/gpioths.c Mon Dec  9 19:00:39 2019(r355565)
@@ -60,6 +60,7 @@ __FBSDID("$FreeBSD$");
 #include 
 #include 
 #include 
+#include 
 
 #include 
 
@@ -90,7 +91,8 @@ struct gpioths_softc {
int  temp;
int  hum;
int  fails;
-   struct callout   callout;
+   struct timeout_task  task;
+   bool detaching;
 };
 
 static int
@@ -148,7 +150,7 @@ gpioths_dht_initread(struct gpioths_softc *sc)
 */
gpio_pin_setflags(sc->pin, GPIO_PIN_OUTPUT);
gpio_pin_set_active(sc->pin, false);
-   DELAY(GPIOTHS_DHT_STARTCYCLE);
+   pause_sbt("gpioths", ustosbt(GPIOTHS_DHT_STARTCYCLE), C_PREL(2), 0);
gpio_pin_set_active(sc->pin, true);
gpio_pin_setflags(sc->pin, GPIO_PIN_INPUT);
 }
@@ -285,14 +287,16 @@ error:
 }
 
 static void
-gpioths_poll(void *arg)
+gpioths_poll(void *arg, int pending __unused)
 {
struct gpioths_softc*sc;
 
sc = (struct gpioths_softc *)arg;
 
gpioths_dht_readbytes(sc);
-   callout_schedule(&sc->callout, GPIOTHS_POLLTIME * hz);
+   if (!sc->detaching)
+   taskqueue_enqueue_timeout_sbt(taskqueue_thread, &sc->task,
+   GPIOTHS_POLLTIME * SBT_1S, 0, C_PREL(3));
 }
 
 static int
@@ -309,6 +313,8 @@ gpioths_attach(device_t dev)
 
sc->dev = dev;
 
+   TIMEOUT_TASK_INIT(taskqueue_thread, &sc->task, 0, gpioths_poll, sc);
+
 #ifdef FDT
/* Try to configure our pin from fdt data on fdt-based systems. */
err = gpio_pin_get_by_ofw_idx(dev, ofw_bus_get_node(dev), PIN_IDX,
@@ -355,9 +361,11 @@ gpioths_attach(device_t dev)
 
/* 
 * Do an initial read so we have correct values for reporting before
-* registering the sysctls that can access those values.
+* registering the sysctls that can access those values.  This also
+* schedules the periodic polling the driver does every few seconds to
+* update the sysctl variables.
 */
-   gpioths_dht_readbytes(sc);
+   gpioths_poll(sc, 0);
 
sysctl_add_oid(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "temperature", 
\
CTLFLAG_RD | CTLTYPE_INT | CTLFLAG_MPSAFE,
@@ -370,9 +378,6 @@ gpioths_attach(device_t dev)
CTLFLAG_RD, &sc->fails, 0,
"failures since last successful read");
 
-   callout_init(&sc->callout, 1);
-   callout_reset(&sc->callout, GPIOTHS_POLLTIME * hz, gpioths_poll, sc);
-
return (0);
 }
 
@@ -383,7 +388,9 @@ gpioths_detach(device_t dev)
 
sc = device_get_softc(dev);
gpio_pin_release(sc->pin);
-   callout_drain(&sc->callout);
+   sc->detaching = true;
+   while (taskqueue_cancel_timeout(taskqueue_thread, &sc->task, NULL) != 0)
+   taskqueue_drain_timeout(taskqueue_thread, &sc->task);
 
return (0);
 }
___
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: r355566 - head/sys/dev/cxgbe/iw_cxgbe

2019-12-09 Thread Navdeep Parhar
Author: np
Date: Mon Dec  9 19:10:42 2019
New Revision: 355566
URL: https://svnweb.freebsd.org/changeset/base/355566

Log:
  cxgbe/iw_cxgbe: Support 64b length in the memory registration routines.
  
  Submitted by: bharat @ chelsio
  MFC after:1 week
  Sponsored by: Chelsio Communications

Modified:
  head/sys/dev/cxgbe/iw_cxgbe/qp.c

Modified: head/sys/dev/cxgbe/iw_cxgbe/qp.c
==
--- head/sys/dev/cxgbe/iw_cxgbe/qp.cMon Dec  9 19:00:39 2019
(r355565)
+++ head/sys/dev/cxgbe/iw_cxgbe/qp.cMon Dec  9 19:10:42 2019
(r355566)
@@ -689,8 +689,8 @@ static void build_tpte_memreg(struct fw_ri_fr_nsmr_tpt
fr->tpte.nosnoop_pbladdr = cpu_to_be32(V_FW_RI_TPTE_PBLADDR(
  PBL_OFF(&mhp->rhp->rdev, mhp->attr.pbl_addr)>>3));
fr->tpte.dca_mwbcnt_pstag = cpu_to_be32(0);
-   fr->tpte.len_hi = cpu_to_be32(0);
-   fr->tpte.len_lo = cpu_to_be32(mhp->ibmr.length);
+   fr->tpte.len_hi = cpu_to_be32(mhp->ibmr.length >> 32);
+   fr->tpte.len_lo = cpu_to_be32(mhp->ibmr.length & 0x);
fr->tpte.va_hi = cpu_to_be32(mhp->ibmr.iova >> 32);
fr->tpte.va_lo_fbo = cpu_to_be32(mhp->ibmr.iova & 0x);
 
@@ -717,12 +717,11 @@ static int build_memreg(struct t4_sq *sq, union t4_wr 
wqe->fr.pgsz_shift = ilog2(wr->mr->page_size) - 12;
wqe->fr.addr_type = FW_RI_VA_BASED_TO;
wqe->fr.mem_perms = c4iw_ib_to_tpt_access(wr->access);
-   wqe->fr.len_hi = 0;
-   wqe->fr.len_lo = cpu_to_be32(mhp->ibmr.length);
+   wqe->fr.len_hi = cpu_to_be32(mhp->ibmr.length >> 32);
+   wqe->fr.len_lo = cpu_to_be32(mhp->ibmr.length & 0x);
wqe->fr.stag = cpu_to_be32(wr->key);
wqe->fr.va_hi = cpu_to_be32(mhp->ibmr.iova >> 32);
-   wqe->fr.va_lo_fbo = cpu_to_be32(mhp->ibmr.iova &
-   0x);
+   wqe->fr.va_lo_fbo = cpu_to_be32(mhp->ibmr.iova & 0x);
 
if (dsgl_supported && use_dsgl && (pbllen > max_fr_immd)) {
struct fw_ri_dsgl *sglp;
___
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: r355568 - in head: include sys/sys

2019-12-09 Thread Dimitry Andric
Author: dim
Date: Mon Dec  9 19:17:56 2019
New Revision: 355568
URL: https://svnweb.freebsd.org/changeset/base/355568

Log:
  Correctly check for C++17 and higher when declaring timespec_get()
  
  Summary:
  In rS338751, the check to declare `timespec_get()` for C++17 and higher
  was incorrectly done against a `cplusplus` define, while it should have
  been `__cplusplus`.
  
  Fix this by using `__cplusplus`, and also bump `__FreeBSD_version` so it
  becomes possible to correctly check for `timespec_get()` in upstream
  libc++ headers.
  
  Reviewed by:  brooks, emaste
  MFC after:3 days
  Differential Revision: https://reviews.freebsd.org/D22735

Modified:
  head/include/time.h
  head/sys/sys/param.h

Modified: head/include/time.h
==
--- head/include/time.h Mon Dec  9 19:17:28 2019(r355567)
+++ head/include/time.h Mon Dec  9 19:17:56 2019(r355568)
@@ -208,7 +208,7 @@ time_t posix2time(time_t t);
 #endif
 
 #if defined(__BSD_VISIBLE) || __ISO_C_VISIBLE >= 2011 || \
-(defined(cplusplus) && cplusplus >= 201703)
+(defined(__cplusplus) && __cplusplus >= 201703)
 #include 
 /* ISO/IEC 9899:201x 7.27.2.5 The timespec_get function */
 #define TIME_UTC   1   /* time elapsed since epoch */

Modified: head/sys/sys/param.h
==
--- head/sys/sys/param.hMon Dec  9 19:17:28 2019(r355567)
+++ head/sys/sys/param.hMon Dec  9 19:17:56 2019(r355568)
@@ -60,7 +60,7 @@
  * in the range 5 to 9.
  */
 #undef __FreeBSD_version
-#define __FreeBSD_version 1300063  /* Master, propagated to newvers */
+#define __FreeBSD_version 1300064  /* Master, propagated to newvers */
 
 /*
  * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD,
___
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: r355567 - in head/sys: amd64/linux amd64/linux32 arm64/linux compat/freebsd32 i386/linux kern sys

2019-12-09 Thread John Baldwin
Author: jhb
Date: Mon Dec  9 19:17:28 2019
New Revision: 355567
URL: https://svnweb.freebsd.org/changeset/base/355567

Log:
  Copy out aux args after the argument and environment vectors.
  
  Partially revert r354741 and r354754 and go back to allocating a
  fixed-size chunk of stack space for the auxiliary vector.  Keep
  sv_copyout_auxargs but change it to accept the address at the end of
  the environment vector as an input stack address and no longer
  allocate room on the stack.  It is now called at the end of
  copyout_strings after the argv and environment vectors have been
  copied out.
  
  This should fix a regression in r354754 that broke the stack alignment
  for newer Linux amd64 binaries (and probably broke Linux arm64 as
  well).
  
  Reviewed by:  kib
  Tested on:amd64 (native, linux64 (only linux-base-c7), and i386)
  Sponsored by: DARPA
  Differential Revision:https://reviews.freebsd.org/D22695

Modified:
  head/sys/amd64/linux/linux_sysvec.c
  head/sys/amd64/linux32/linux32_sysvec.c
  head/sys/arm64/linux/linux_sysvec.c
  head/sys/compat/freebsd32/freebsd32_misc.c
  head/sys/i386/linux/linux_sysvec.c
  head/sys/kern/imgact_elf.c
  head/sys/kern/kern_exec.c
  head/sys/sys/imgact_elf.h
  head/sys/sys/sysent.h

Modified: head/sys/amd64/linux/linux_sysvec.c
==
--- head/sys/amd64/linux/linux_sysvec.c Mon Dec  9 19:10:42 2019
(r355566)
+++ head/sys/amd64/linux/linux_sysvec.c Mon Dec  9 19:17:28 2019
(r355567)
@@ -224,11 +224,10 @@ linux_set_syscall_retval(struct thread *td, int error)
 }
 
 static int
-linux_copyout_auxargs(struct image_params *imgp, uintptr_t *base)
+linux_copyout_auxargs(struct image_params *imgp, uintptr_t base)
 {
Elf_Auxargs *args;
Elf_Auxinfo *argarray, *pos;
-   u_long auxlen;
struct proc *p;
int error, issetugid;
 
@@ -266,9 +265,8 @@ linux_copyout_auxargs(struct image_params *imgp, uintp
imgp->auxargs = NULL;
KASSERT(pos - argarray <= LINUX_AT_COUNT, ("Too many auxargs"));
 
-   auxlen = sizeof(*argarray) * (pos - argarray);
-   *base -= auxlen;
-   error = copyout(argarray, (void *)*base, auxlen);
+   error = copyout(argarray, (void *)base,
+   sizeof(*argarray) * LINUX_AT_COUNT);
free(argarray, M_TEMP);
return (error);
 }
@@ -336,17 +334,13 @@ linux_copyout_strings(struct image_params *imgp, uintp
destp = rounddown2(destp, sizeof(void *));
ustringp = destp;
 
-   /*
-* Starting with 2.24, glibc depends on a 16-byte stack alignment.
-* One "long argc" will be prepended later.
-*/
-   if (destp % 16 == 0)
-   destp -= 8;
-
if (imgp->auxargs) {
-   error = imgp->sysent->sv_copyout_auxargs(imgp, &destp);
-   if (error != 0)
-   return (error);
+   /*
+* Allocate room on the stack for the ELF auxargs
+* array.  It has LINUX_AT_COUNT entries.
+*/
+   destp -= LINUX_AT_COUNT * sizeof(Elf64_Auxinfo);
+   destp = rounddown2(destp, sizeof(void *));
}
 
vectp = (char **)destp;
@@ -357,6 +351,12 @@ linux_copyout_strings(struct image_params *imgp, uintp
 */
vectp -= imgp->args->argc + 1 + imgp->args->envc + 1;
 
+   /*
+* Starting with 2.24, glibc depends on a 16-byte stack alignment.
+* One "long argc" will be prepended later.
+*/
+   vectp = (char **)uintptr_t)vectp + 8) & ~0xF) - 8);
+
/* vectp also becomes our initial stack base. */
*stack_base = (uintptr_t)vectp;
 
@@ -404,6 +404,14 @@ linux_copyout_strings(struct image_params *imgp, uintp
/* The end of the vector table is a null pointer. */
if (suword(vectp, 0) != 0)
return (EFAULT);
+
+   if (imgp->auxargs) {
+   vectp++;
+   error = imgp->sysent->sv_copyout_auxargs(imgp,
+   (uintptr_t)vectp);
+   if (error != 0)
+   return (error);
+   }
 
return (0);
 }

Modified: head/sys/amd64/linux32/linux32_sysvec.c
==
--- head/sys/amd64/linux32/linux32_sysvec.c Mon Dec  9 19:10:42 2019
(r355566)
+++ head/sys/amd64/linux32/linux32_sysvec.c Mon Dec  9 19:17:28 2019
(r355567)
@@ -187,11 +187,10 @@ linux_translate_traps(int signal, int trap_code)
 }
 
 static int
-linux_copyout_auxargs(struct image_params *imgp, u_long *base)
+linux_copyout_auxargs(struct image_params *imgp, uintptr_t base)
 {
Elf32_Auxargs *args;
Elf32_Auxinfo *argarray, *pos;
-   u_long auxlen;
int error, issetugid;
 
args = (Elf32_Auxargs *)imgp->auxargs;
@@ -238,9 +237,8 @@ linux_copyout_auxargs(struct image_params *imgp, u_lon
imgp->aux

svn commit: r355569 - head/sys/amd64/linux32

2019-12-09 Thread John Baldwin
Author: jhb
Date: Mon Dec  9 19:18:05 2019
New Revision: 355569
URL: https://svnweb.freebsd.org/changeset/base/355569

Log:
  Use 4 byte stack alignment instead of 8 byte.
  
  This was an old bug prior to r355373 and mostly harmless as it would
  waste at most a handful of bytes on the stack.

Modified:
  head/sys/amd64/linux32/linux32_sysvec.c

Modified: head/sys/amd64/linux32/linux32_sysvec.c
==
--- head/sys/amd64/linux32/linux32_sysvec.c Mon Dec  9 19:17:56 2019
(r355568)
+++ head/sys/amd64/linux32/linux32_sysvec.c Mon Dec  9 19:18:05 2019
(r355569)
@@ -741,7 +741,7 @@ linux_copyout_strings(struct image_params *imgp, uintp
 
if (execpath_len != 0) {
destp -= execpath_len;
-   destp = rounddown2(destp, sizeof(void *));
+   destp = rounddown2(destp, sizeof(uint32_t));
imgp->execpathp = destp;
error = copyout(imgp->execpath, (void *)destp, execpath_len);
if (error != 0)
@@ -750,7 +750,7 @@ linux_copyout_strings(struct image_params *imgp, uintp
 
/* Prepare the canary for SSP. */
arc4rand(canary, sizeof(canary), 0);
-   destp -= roundup(sizeof(canary), sizeof(void *));
+   destp -= roundup(sizeof(canary), sizeof(uint32_t));
imgp->canary = destp;
error = copyout(canary, (void *)destp, sizeof(canary));
if (error != 0)
@@ -758,7 +758,7 @@ linux_copyout_strings(struct image_params *imgp, uintp
 
/* Allocate room for the argument and environment strings. */
destp -= ARG_MAX - imgp->args->stringspace;
-   destp = rounddown2(destp, sizeof(void *));
+   destp = rounddown2(destp, sizeof(uint32_t));
ustringp = destp;
 
if (imgp->auxargs) {
@@ -767,7 +767,7 @@ linux_copyout_strings(struct image_params *imgp, uintp
 * array.  It has LINUX_AT_COUNT entries.
 */
destp -= LINUX_AT_COUNT * sizeof(Elf32_Auxinfo);
-   destp = rounddown2(destp, sizeof(void *));
+   destp = rounddown2(destp, sizeof(uint32_t));
}
 
vectp = (uint32_t *)destp;
___
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: r355570 - head/sys/dev/sound/pci/hda

2019-12-09 Thread Mark Johnston
Author: markj
Date: Mon Dec  9 19:25:15 2019
New Revision: 355570
URL: https://svnweb.freebsd.org/changeset/base/355570

Log:
  Configure headphone redirection for the Dell L780 and X1 Carbon 7th gen.
  
  As we do for many other laptops, put the headphone jack and speakers in
  the same association by default so that the generic sound device
  automatically switches between them.
  
  MFC after:1 week
  Sponsored by: The FreeBSD Foundation

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

Modified: head/sys/dev/sound/pci/hda/hdaa_patches.c
==
--- head/sys/dev/sound/pci/hda/hdaa_patches.c   Mon Dec  9 19:18:05 2019
(r355569)
+++ head/sys/dev/sound/pci/hda/hdaa_patches.c   Mon Dec  9 19:25:15 2019
(r355570)
@@ -390,7 +390,8 @@ hdac_pin_patch(struct hdaa_widget *w)
break;
}
} else if (id == HDA_CODEC_ALC285 &&
-   subid == LENOVO_X120KH_SUBVENDOR) {
+   (subid == LENOVO_X120KH_SUBVENDOR ||
+   subid == LENOVO_X120QD_SUBVENDOR)) {
switch (nid) {
case 33:
patch = "as=1 seq=15";
@@ -447,7 +448,8 @@ hdac_pin_patch(struct hdaa_widget *w)
config = 0x01a1913d;
break;
}
-   } else if (id == HDA_CODEC_ALC256 && subid == DELL_I7577_SUBVENDOR) {
+   } else if (id == HDA_CODEC_ALC256 && (subid == DELL_I7577_SUBVENDOR ||
+   subid == DELL_L7480_SUBVENDOR)) {
switch (nid) {
case 20:
patch = "as=1 seq=0";

Modified: head/sys/dev/sound/pci/hda/hdac.h
==
--- head/sys/dev/sound/pci/hda/hdac.h   Mon Dec  9 19:18:05 2019
(r355569)
+++ head/sys/dev/sound/pci/hda/hdac.h   Mon Dec  9 19:25:15 2019
(r355570)
@@ -206,6 +206,7 @@
 #define DELL_V1400_SUBVENDOR   HDA_MODEL_CONSTRUCT(DELL, 0x0227)
 #define DELL_V1500_SUBVENDOR   HDA_MODEL_CONSTRUCT(DELL, 0x0228)
 #define DELL_I1300_SUBVENDOR   HDA_MODEL_CONSTRUCT(DELL, 0x01c9)
+#define DELL_L7480_SUBVENDOR   HDA_MODEL_CONSTRUCT(DELL, 0x07a0)
 #define DELL_XPSM1210_SUBVENDORHDA_MODEL_CONSTRUCT(DELL, 0x01d7)
 #define DELL_OPLX745_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01da)
 #define DELL_XPS9560_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x07be)
@@ -264,6 +265,7 @@
 #defineLENOVO_X1CRBN_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21f9)
 #defineLENOVO_X120BS_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x2227)
 #defineLENOVO_X120KH_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x225c)
+#defineLENOVO_X120QD_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x2292)
 #define LENOVO_X220_SUBVENDOR  HDA_MODEL_CONSTRUCT(LENOVO, 0x21da)
 #define LENOVO_X300_SUBVENDOR  HDA_MODEL_CONSTRUCT(LENOVO, 0x20ac)
 #defineLENOVO_T400_SUBVENDOR   HDA_MODEL_CONSTRUCT(LENOVO, 0x20f2)
___
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: r355569 - head/sys/amd64/linux32

2019-12-09 Thread Joerg Sonnenberger
On Mon, Dec 09, 2019 at 07:18:06PM +, John Baldwin wrote:
> Author: jhb
> Date: Mon Dec  9 19:18:05 2019
> New Revision: 355569
> URL: https://svnweb.freebsd.org/changeset/base/355569
> 
> Log:
>   Use 4 byte stack alignment instead of 8 byte.
>   
>   This was an old bug prior to r355373 and mostly harmless as it would
>   waste at most a handful of bytes on the stack.

Doesn't Linux assume 128bit alignment for i386 nowadays?

Joerg
___
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: r355572 - in head: share/man/man4 sys/dev/usb/serial

2019-12-09 Thread Ian Lepore
Author: ian
Date: Mon Dec  9 21:55:44 2019
New Revision: 355572
URL: https://svnweb.freebsd.org/changeset/base/355572

Log:
  Allow baud rates of 1,228,800 and 1,843,200 on CP2101/2/3 usb-serial adapters.
  
  The datasheets for these chips claim the maximum is 921,600, but testing
  shows these two higher rates also work (but no rates above 921,600 other
  than these two work; these represent dividing the base buad clock by 3 and 2
  respectively).

Modified:
  head/share/man/man4/uslcom.4
  head/sys/dev/usb/serial/uslcom.c

Modified: head/share/man/man4/uslcom.4
==
--- head/share/man/man4/uslcom.4Mon Dec  9 21:10:18 2019
(r355571)
+++ head/share/man/man4/uslcom.4Mon Dec  9 21:55:44 2019
(r355572)
@@ -16,7 +16,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd April 26, 2017
+.Dd December 9, 2019
 .Dt USLCOM 4
 .Os
 .Sh NAME
@@ -43,6 +43,11 @@ The
 .Nm
 driver supports Silicon Laboratories CP2101/CP2102/CP2103/CP2104/CP2105
 based USB serial adapters.
+.Pp
+The datasheets for the CP2101/CP2102/CP2103 list the maximum
+supported baud rate as 921,600.
+Empirical testing has shown that the rates 1,228,800 and 1,843,200 also work,
+at least on some hardware, so the driver allows setting those rates.
 .Sh HARDWARE
 The following devices should work with the
 .Nm

Modified: head/sys/dev/usb/serial/uslcom.c
==
--- head/sys/dev/usb/serial/uslcom.cMon Dec  9 21:10:18 2019
(r355571)
+++ head/sys/dev/usb/serial/uslcom.cMon Dec  9 21:55:44 2019
(r355572)
@@ -624,7 +624,11 @@ uslcom_pre_param(struct ucom_softc *ucom, struct termi
case USLCOM_PARTNUM_CP2102:
case USLCOM_PARTNUM_CP2103:
default:
-   maxspeed = 921600;
+   /*
+* Datasheet for cp2102 says 921600 max.  Testing shows that
+* 1228800 and 1843200 work fine.
+*/
+   maxspeed = 1843200;
break;
}
if (t->c_ospeed <= 0 || t->c_ospeed > maxspeed)
___
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: r355569 - head/sys/amd64/linux32

2019-12-09 Thread John Baldwin
On 12/9/19 12:01 PM, Joerg Sonnenberger wrote:
> On Mon, Dec 09, 2019 at 07:18:06PM +, John Baldwin wrote:
>> Author: jhb
>> Date: Mon Dec  9 19:18:05 2019
>> New Revision: 355569
>> URL: https://svnweb.freebsd.org/changeset/base/355569
>>
>> Log:
>>   Use 4 byte stack alignment instead of 8 byte.
>>   
>>   This was an old bug prior to r355373 and mostly harmless as it would
>>   waste at most a handful of bytes on the stack.
> 
> Doesn't Linux assume 128bit alignment for i386 nowadays?

If it does, that is separate.  This is about individual things
we copy out onto the stack such as the path to the executable
name, and random bytes for AT_RANDOM, etc. being aligned on a 4
byte boundary.  It used 'rounddown()' with 'sizeof(void *)'
before r355373 because that was copy and pasted from
sys/i386/linux/linux_sysvec.c.  But void * is 8 bytes on amd64,
not 4 bytes as on i386.

If Linux/i386 needs 16 byte alignment for the initial stack
pointer, then it needs something like the change to align vectp
in sys/amd64/linux/linux_sysent.c:linux_copyout_strings both in this file
and in sys/i386/linux/linux_sysent.c before writing out the argv
array.

-- 
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: r355569 - head/sys/amd64/linux32

2019-12-09 Thread John Baldwin
On 12/9/19 11:18 AM, John Baldwin wrote:
> Author: jhb
> Date: Mon Dec  9 19:18:05 2019
> New Revision: 355569
> URL: https://svnweb.freebsd.org/changeset/base/355569
> 
> Log:
>   Use 4 byte stack alignment instead of 8 byte.
>   
>   This was an old bug prior to r355373 and mostly harmless as it would
>   waste at most a handful of bytes on the stack.

Oops, missed:

Reviewed by:  kib
Differential Review: https://reviews.freebsd.org/D22696

-- 
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"


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

2019-12-09 Thread Mateusz Guzik
Author: mjg
Date: Tue Dec 10 00:08:05 2019
New Revision: 355573
URL: https://svnweb.freebsd.org/changeset/base/355573

Log:
  vfs: refactor vhold and vdrop
  
  No fuctional changes.

Modified:
  head/sys/kern/vfs_subr.c
  head/sys/sys/vnode.h

Modified: head/sys/kern/vfs_subr.c
==
--- head/sys/kern/vfs_subr.cMon Dec  9 21:55:44 2019(r355572)
+++ head/sys/kern/vfs_subr.cTue Dec 10 00:08:05 2019(r355573)
@@ -2766,7 +2766,7 @@ v_decr_devcount(struct vnode *vp)
  * usecount is permitted to transition 1->0 without the interlock because
  * vnode is kept live by holdcnt.
  */
-static enum vgetstate
+static enum vgetstate __always_inline
 _vget_prep(struct vnode *vp, bool interlock)
 {
enum vgetstate vs;
@@ -2774,7 +2774,10 @@ _vget_prep(struct vnode *vp, bool interlock)
if (refcount_acquire_if_not_zero(&vp->v_usecount)) {
vs = VGET_USECOUNT;
} else {
-   _vhold(vp, interlock);
+   if (interlock)
+   vholdl(vp);
+   else
+   vhold(vp);
vs = VGET_HOLDCNT;
}
return (vs);
@@ -3108,31 +3111,12 @@ vunref(struct vnode *vp)
 /*
  * Increase the hold count and activate if this is the first reference.
  */
-void
-_vhold(struct vnode *vp, bool locked)
+static void
+vhold_activate(struct vnode *vp)
 {
struct mount *mp;
 
-   if (locked)
-   ASSERT_VI_LOCKED(vp, __func__);
-   else
-   ASSERT_VI_UNLOCKED(vp, __func__);
-   CTR2(KTR_VFS, "%s: vp %p", __func__, vp);
-   if (!locked) {
-   if (refcount_acquire_if_not_zero(&vp->v_holdcnt)) {
-   VNODE_REFCOUNT_FENCE_ACQ();
-   VNASSERT((vp->v_iflag & VI_FREE) == 0, vp,
-   ("_vhold: vnode with holdcnt is free"));
-   return;
-   }
-   VI_LOCK(vp);
-   }
-   if ((vp->v_iflag & VI_FREE) == 0) {
-   refcount_acquire(&vp->v_holdcnt);
-   if (!locked)
-   VI_UNLOCK(vp);
-   return;
-   }
+   ASSERT_VI_LOCKED(vp, __func__);
VNASSERT(vp->v_holdcnt == 0, vp,
("%s: wrong hold count", __func__));
VNASSERT(vp->v_op != NULL, vp,
@@ -3163,11 +3147,39 @@ _vhold(struct vnode *vp, bool locked)
mp->mnt_activevnodelistsize++;
mtx_unlock(&mp->mnt_listmtx);
refcount_acquire(&vp->v_holdcnt);
-   if (!locked)
-   VI_UNLOCK(vp);
 }
 
 void
+vhold(struct vnode *vp)
+{
+
+   ASSERT_VI_UNLOCKED(vp, __func__);
+   CTR2(KTR_VFS, "%s: vp %p", __func__, vp);
+   if (refcount_acquire_if_not_zero(&vp->v_holdcnt)) {
+   VNODE_REFCOUNT_FENCE_ACQ();
+   VNASSERT((vp->v_iflag & VI_FREE) == 0, vp,
+   ("vhold: vnode with holdcnt is free"));
+   return;
+   }
+   VI_LOCK(vp);
+   vholdl(vp);
+   VI_UNLOCK(vp);
+}
+
+void
+vholdl(struct vnode *vp)
+{
+
+   ASSERT_VI_LOCKED(vp, __func__);
+   CTR2(KTR_VFS, "%s: vp %p", __func__, vp);
+   if ((vp->v_iflag & VI_FREE) == 0) {
+   refcount_acquire(&vp->v_holdcnt);
+   return;
+   }
+   vhold_activate(vp);
+}
+
+void
 vholdnz(struct vnode *vp)
 {
 
@@ -3189,79 +3201,96 @@ vholdnz(struct vnode *vp)
  * there is at least one resident non-cached page, the vnode cannot
  * leave the active list without the page cleanup done.
  */
-void
-_vdrop(struct vnode *vp, bool locked)
+static void
+vdrop_deactivate(struct vnode *vp)
 {
struct mount *mp;
 
-   if (locked)
-   ASSERT_VI_LOCKED(vp, __func__);
-   else
-   ASSERT_VI_UNLOCKED(vp, __func__);
+   ASSERT_VI_LOCKED(vp, __func__);
+   /*
+* Mark a vnode as free: remove it from its active list
+* and put it up for recycling on the freelist.
+*/
+   VNASSERT(!VN_IS_DOOMED(vp), vp,
+   ("vdrop: returning doomed vnode"));
+   VNASSERT(vp->v_op != NULL, vp,
+   ("vdrop: vnode already reclaimed."));
+   VNASSERT((vp->v_iflag & VI_FREE) == 0, vp,
+   ("vnode already free"));
+   VNASSERT(vp->v_holdcnt == 0, vp,
+   ("vdrop: freeing when we shouldn't"));
+   if ((vp->v_iflag & VI_OWEINACT) == 0) {
+   mp = vp->v_mount;
+   if (mp != NULL) {
+   mtx_lock(&mp->mnt_listmtx);
+   if (vp->v_iflag & VI_ACTIVE) {
+   vp->v_iflag &= ~VI_ACTIVE;
+   TAILQ_REMOVE(&mp->mnt_activevnodelist,
+   vp, v_actfreelist);
+   mp->mnt_activevnodelistsize--;
+   }
+   TAILQ_INSERT_TAIL(&mp->mnt_tmpfreevnodelist,
+   vp, v_actfreeli

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

2019-12-09 Thread Takanori Watanabe
Author: takawata
Date: Tue Dec 10 02:19:07 2019
New Revision: 355574
URL: https://svnweb.freebsd.org/changeset/base/355574

Log:
  Add ACPI battery subsystem man page.
  
  PR:242100
  Differential Revision:https://reviews.freebsd.org/D22556

Added:
  head/share/man/man4/acpi_battery.4   (contents, props changed)
Modified:
  head/share/man/man4/Makefile

Modified: head/share/man/man4/Makefile
==
--- head/share/man/man4/MakefileTue Dec 10 00:08:05 2019
(r355573)
+++ head/share/man/man4/MakefileTue Dec 10 02:19:07 2019
(r355574)
@@ -16,6 +16,7 @@ MAN=  aac.4 \
${_acpi_rapidstart.4} \
${_acpi_sony.4} \
acpi_thermal.4 \
+   acpi_battery.4 \
${_acpi_toshiba.4} \
acpi_video.4 \
${_acpi_wmi.4} \

Added: head/share/man/man4/acpi_battery.4
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/share/man/man4/acpi_battery.4  Tue Dec 10 02:19:07 2019
(r355574)
@@ -0,0 +1,283 @@
+.\"
+.\" Copyright (c) 2019 Takanori Watanabe
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"notice, this list of conditions and the following disclaimer in the
+.\"documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd November 26, 2019
+.Dt ACPI_BATTERY 4
+.Os
+.Sh NAME
+.Nm acpi_battery
+.Nd ACPI battery management subsystem
+.Sh SYNOPSIS
+.Cd "device acpi"
+.Sh DESCRIPTION
+The
+.Nm
+is a driver for battery management features of the ACPI module.
+An ACPI-compatible battery device supports either a Control
+Method Battery interface or a Smart Battery subsystem interface.
+The former is accessed by the AML
+.Pq ACPI Machine Language
+code control methods,
+and the latter is controlled directly through the ACPI EC
+.Pq Embedded Controller
+typically via an SMBus interface.
+This driver supports the 
+.Xr sysctl 8
+and
+.Xr ioctl 2
+interfaces as well as the
+.Xr devd 8
+event notification interface.
+.Sh IOCTLS
+Every ioctl for the
+.Nm
+driver takes a single integer value for the battery unit
+number as an argument,
+and returns a specific structure for each request.
+A special unit number
+.Li ACPI_BATTERY_ALL_UNITS
+specifies all of the attached units
+and reports accumulated information.
+.Bl -tag -width indent
+.It ACPIIO_BATT_GET_UNITS Vt int
+Returns the number of battery units in the system.
+The unit number argument will be ignored.
+.It ACPIIO_BATT_GET_BATTINFO Vt struct acpi_battinfo
+Returns the following:
+.Bl -tag -width indent
+.It cap
+Battery capacity in percent,
+.It min
+Remaining battery life in minutes,
+.It state
+Current status of the battery encoded in the following:
+.Bl -tag -width indent
+.It ACPI_BATT_STAT_DISCHARG Pq 0x0001
+Battery is discharging,
+.It ACPI_BATT_STAT_CHARGING Pq 0x0002
+Battery is being charged, or
+.It ACPI_BATT_STAT_CRITICAL Pq 0x0004
+Remaining battery life is critically low.
+.El
+.Pp
+Note that the status bits of each battery will be
+consolidated when
+.Li ACPI_BATTERY_ALL_UNITS
+is specified.
+.It rate
+Current battery discharging rate in mW.
+.Li -1
+means not discharging right now.
+.El
+.It ACPIIO_BATT_GET_BIF Vt struct acpi_bif
+Returns battery information given by the ACPI
+.Li _BIF Pq Battery Information
+object,
+which is the static portion of the Control Method
+Battery information.
+In the case of a Smart Battery attached to SMBus,
+this ioctl will build a
+.Vt struct acpi_bif
+structure based on the obtained information
+and return it.
+.Bl -tag -width indent
+.It units
+Indicates the units used by the battery to report its
+capacity and charge rate encoded in the following:
+.Bl -tag -width indent
+.It ACPI_BIF_UNITS

svn commit: r355575 - head/share/vt/keymaps

2019-12-09 Thread Ed Maste
Author: emaste
Date: Tue Dec 10 03:42:59 2019
New Revision: 355575
URL: https://svnweb.freebsd.org/changeset/base/355575

Log:
  Add missing language specifier for Hebrew il.kbd description
  
  PR:   235094 (related)
  MFC after:1 week
  Sponsored by: The FreeBSD Foundation

Modified:
  head/share/vt/keymaps/INDEX.keymaps

Modified: head/share/vt/keymaps/INDEX.keymaps
==
--- head/share/vt/keymaps/INDEX.keymaps Tue Dec 10 02:19:07 2019
(r355574)
+++ head/share/vt/keymaps/INDEX.keymaps Tue Dec 10 03:42:59 2019
(r355575)
@@ -249,7 +249,7 @@ gr.101.acc.kbd:el:Ελληνικό (101 πλήκτρω
 il.kbd:en:Hebrew
 il.kbd:de:Hebräisch
 il.kbd:fr:Hébreu
-il.kbd::תירבע
+il.kbd:he:תירבע
 
 hr.kbd:en:Croatian
 hr.kbd:de:Kroatisch
___
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: r355579 - in head/sys: conf dev/cxgbe/firmware modules/cxgbe/t4_firmware modules/cxgbe/t5_firmware modules/cxgbe/t6_firmware

2019-12-09 Thread Navdeep Parhar
Author: np
Date: Tue Dec 10 07:45:10 2019
New Revision: 355579
URL: https://svnweb.freebsd.org/changeset/base/355579

Log:
  cxgbe(4): Update T4/5/6 firmwares to 1.24.11.0.
  
  These were obtained from the Chelsio Unified Wire v3.12.0.1 beta
  release.
  
  Note that the firmwares are not uuencoded any more.
  
  MFH:  1 month
  Sponsored by: Chelsio Communications

Added:
  head/sys/dev/cxgbe/firmware/t4fw-1.24.11.0.bin   (contents, props changed)
  head/sys/dev/cxgbe/firmware/t5fw-1.24.11.0.bin   (contents, props changed)
  head/sys/dev/cxgbe/firmware/t6fw-1.24.11.0.bin   (contents, props changed)
Deleted:
  head/sys/dev/cxgbe/firmware/t4fw-1.23.0.0.bin.uu
  head/sys/dev/cxgbe/firmware/t5fw-1.23.0.0.bin.uu
  head/sys/dev/cxgbe/firmware/t6fw-1.23.0.0.bin.uu
Modified:
  head/sys/conf/files
  head/sys/dev/cxgbe/firmware/t4fw_interface.h
  head/sys/dev/cxgbe/firmware/t6fw_cfg_uwire.txt
  head/sys/modules/cxgbe/t4_firmware/Makefile
  head/sys/modules/cxgbe/t5_firmware/Makefile
  head/sys/modules/cxgbe/t6_firmware/Makefile

Modified: head/sys/conf/files
==
--- head/sys/conf/files Tue Dec 10 07:07:17 2019(r355578)
+++ head/sys/conf/files Tue Dec 10 07:45:10 2019(r355579)
@@ -1469,8 +1469,8 @@ t4fw.fwo  optional cxgbe  
\
no-implicit-rule\
clean   "t4fw.fwo"
 t4fw.fwoptional cxgbe  
\
-   dependency  "$S/dev/cxgbe/firmware/t4fw-1.23.0.0.bin.uu"\
-   compile-with"${NORMAL_FW}"  \
+   dependency  "$S/dev/cxgbe/firmware/t4fw-1.24.11.0.bin"  \
+   compile-with"${CP} ${.ALLSRC} ${.TARGET}"   \
no-obj no-implicit-rule \
clean   "t4fw.fw"
 t5fw_cfg.c optional cxgbe  \
@@ -1503,8 +1503,8 @@ t5fw.fwo  optional cxgbe  
\
no-implicit-rule\
clean   "t5fw.fwo"
 t5fw.fwoptional cxgbe  
\
-   dependency  "$S/dev/cxgbe/firmware/t5fw-1.23.0.0.bin.uu"\
-   compile-with"${NORMAL_FW}"  \
+   dependency  "$S/dev/cxgbe/firmware/t5fw-1.24.11.0.bin"  \
+   compile-with"${CP} ${.ALLSRC} ${.TARGET}"   \
no-obj no-implicit-rule \
clean   "t5fw.fw"
 t6fw_cfg.c optional cxgbe  \
@@ -1537,8 +1537,8 @@ t6fw.fwo  optional cxgbe  
\
no-implicit-rule\
clean   "t6fw.fwo"
 t6fw.fwoptional cxgbe  
\
-   dependency  "$S/dev/cxgbe/firmware/t6fw-1.23.0.0.bin.uu"\
-   compile-with"${NORMAL_FW}"  \
+   dependency  "$S/dev/cxgbe/firmware/t6fw-1.24.11.0.bin"  \
+   compile-with"${CP} ${.ALLSRC} ${.TARGET}"   \
no-obj no-implicit-rule \
clean   "t6fw.fw"
 dev/cxgbe/crypto/t4_crypto.c   optional ccr \

Added: head/sys/dev/cxgbe/firmware/t4fw-1.24.11.0.bin
==
Binary file. No diff available.

Modified: head/sys/dev/cxgbe/firmware/t4fw_interface.h
==
--- head/sys/dev/cxgbe/firmware/t4fw_interface.hTue Dec 10 07:07:17 
2019(r355578)
+++ head/sys/dev/cxgbe/firmware/t4fw_interface.hTue Dec 10 07:45:10 
2019(r355579)
@@ -9938,20 +9938,20 @@ enum fw_hdr_chip {
 (((x) >> S_FW_HDR_FW_VER_BUILD) & M_FW_HDR_FW_VER_BUILD)
 
 enum {
-   T4FW_VERSION_MAJOR  = 0x01,
-   T4FW_VERSION_MINOR  = 0x17,
-   T4FW_VERSION_MICRO  = 0x00,
-   T4FW_VERSION_BUILD  = 0x00,
+   T4FW_VERSION_MAJOR  = 1,
+   T4FW_VERSION_MINOR  = 24,
+   T4FW_VERSION_MICRO  = 11,
+   T4FW_VERSION_BUILD  = 0,
 
-   T5FW_VERSION_MAJOR  = 0x01,
-   T5FW_VERSION_MINOR  = 0x17,
-   T5FW_VERSION_MICRO  = 0x00,
-   T5FW_VERSION_BUILD  = 0x00,
+   T5FW_VERSION_MAJOR  = 1,
+   T5FW_VERSION_MINOR  = 24,
+   T5FW_VERSION_MICRO  = 11,
+   T5FW_VERSION_BUILD  = 0,
 
-   T6FW_VERSION_MAJOR  = 0x01,
-   T6FW_VERSION_MINOR  = 0x17,
-   T6FW_VERSION_MICRO  = 0x00,
-   T6FW_VERSION_BUILD  = 0x00,
+   T6FW_VERSION_MAJOR  = 1,
+   T6FW_VERSION_M