svn commit: r330925 - in head/sys: conf powerpc/powernv

2018-03-14 Thread Wojciech Macek
Author: wma
Date: Wed Mar 14 09:20:03 2018
New Revision: 330925
URL: https://svnweb.freebsd.org/changeset/base/330925

Log:
  PowerNV: Fix I2C to compile if FDT is disabled
  
  Submitted by:  Wojciech Macek 
  Obtained from: Semihalf
  Sponsored by:  IBM, QCM Technologies

Modified:
  head/sys/conf/files.powerpc
  head/sys/powerpc/powernv/opal_i2c.c
  head/sys/powerpc/powernv/opal_i2cm.c
  head/sys/powerpc/powernv/powernv_centaur.c
  head/sys/powerpc/powernv/powernv_xscom.c

Modified: head/sys/conf/files.powerpc
==
--- head/sys/conf/files.powerpc Wed Mar 14 08:48:40 2018(r330924)
+++ head/sys/conf/files.powerpc Wed Mar 14 09:20:03 2018(r330925)
@@ -186,8 +186,8 @@ powerpc/powermac/vcoregpio.coptional
powermac 
 powerpc/powernv/opal.c optionalpowernv
 powerpc/powernv/opal_console.c optionalpowernv
 powerpc/powernv/opal_dev.c optionalpowernv
-powerpc/powernv/opal_i2c.c optionaliicbus fdt powernv
-powerpc/powernv/opal_i2cm.coptionaliicbus fdt powernv
+powerpc/powernv/opal_i2c.c optionaliicbus powernv
+powerpc/powernv/opal_i2cm.coptionaliicbus powernv
 powerpc/powernv/opal_pci.c optionalpowernv pci
 powerpc/powernv/opalcall.S optionalpowernv
 powerpc/powernv/platform_powernv.c optionalpowernv

Modified: head/sys/powerpc/powernv/opal_i2c.c
==
--- head/sys/powerpc/powernv/opal_i2c.c Wed Mar 14 08:48:40 2018
(r330924)
+++ head/sys/powerpc/powernv/opal_i2c.c Wed Mar 14 09:20:03 2018
(r330925)
@@ -120,7 +120,9 @@ static int
 opal_i2c_probe(device_t dev)
 {
 
+#ifdef FDT
if (!(ofw_bus_is_compatible(dev, "ibm,opal-i2c")))
+#endif
return (ENXIO);
 
device_set_desc(dev, "opal-i2c");
@@ -131,6 +133,7 @@ opal_i2c_probe(device_t dev)
 static int
 opal_i2c_attach(device_t dev)
 {
+#ifdef FDT
struct opal_i2c_softc *sc;
int len;
 
@@ -150,6 +153,9 @@ opal_i2c_attach(device_t dev)
I2C_LOCK_INIT(sc);
 
return (bus_generic_attach(dev));
+#else
+   return (ENXIO);
+#endif
 }
 
 static int

Modified: head/sys/powerpc/powernv/opal_i2cm.c
==
--- head/sys/powerpc/powernv/opal_i2cm.cWed Mar 14 08:48:40 2018
(r330924)
+++ head/sys/powerpc/powernv/opal_i2cm.cWed Mar 14 09:20:03 2018
(r330925)
@@ -57,14 +57,17 @@ struct opal_i2cm_softc
 
 static int opal_i2cm_attach(device_t);
 static int opal_i2cm_probe(device_t);
+#ifdef FDT
 static const struct ofw_bus_devinfo *
 opal_i2cm_get_devinfo(device_t, device_t);
+#endif
 
 static device_method_t opal_i2cm_methods[] = {
/* Device interface */
DEVMETHOD(device_probe, opal_i2cm_probe),
DEVMETHOD(device_attach,opal_i2cm_attach),
 
+#ifdef FDT
/* ofw_bus interface */
DEVMETHOD(ofw_bus_get_devinfo,  opal_i2cm_get_devinfo),
DEVMETHOD(ofw_bus_get_compat,   ofw_bus_gen_get_compat),
@@ -72,6 +75,7 @@ static device_method_t opal_i2cm_methods[] = {
DEVMETHOD(ofw_bus_get_name, ofw_bus_gen_get_name),
DEVMETHOD(ofw_bus_get_node, ofw_bus_gen_get_node),
DEVMETHOD(ofw_bus_get_type, ofw_bus_gen_get_type),
+#endif
 
DEVMETHOD_END
 };
@@ -82,8 +86,10 @@ static int
 opal_i2cm_probe(device_t dev)
 {
 
+#ifdef FDT
if (!(ofw_bus_is_compatible(dev, "ibm,centaur-i2cm") ||
ofw_bus_is_compatible(dev, "ibm,power8-i2cm")))
+#endif
return (ENXIO);
 
device_set_desc(dev, "centaur-i2cm");
@@ -93,6 +99,7 @@ opal_i2cm_probe(device_t dev)
 static int
 opal_i2cm_attach(device_t dev)
 {
+#ifdef FDT
phandle_t child;
device_t cdev;
struct ofw_bus_devinfo *dinfo;
@@ -116,13 +123,18 @@ opal_i2cm_attach(device_t dev)
}
 
return (bus_generic_attach(dev));
+#else
+   return (ENXIO);
+#endif
 }
 
+#ifdef FDT
 static const struct ofw_bus_devinfo *
 opal_i2cm_get_devinfo(device_t dev, device_t child)
 {
 return (device_get_ivars(child));
 }
+#endif
 
 DEFINE_CLASS_0(opal_i2cm, opal_i2cm_driver, opal_i2cm_methods,
 sizeof(struct opal_i2cm_softc));

Modified: head/sys/powerpc/powernv/powernv_centaur.c
==
--- head/sys/powerpc/powernv/powernv_centaur.c  Wed Mar 14 08:48:40 2018
(r330924)
+++ head/sys/powerpc/powernv/powernv_centaur.c  Wed Mar 14 09:20:03 2018
(r330925)
@@ -57,14 +57,17 @@ struct powernv_centaur_softc
 
 static int powernv_centaur_attach(device_t);
 static int powernv_centaur_probe(device_t);
+#ifdef FDT
 static const struct ofw_bus_devinfo *
 powernv_centaur_get_devinfo(device_t, device_t);
+#endif
 
 static device_metho

Re: svn commit: r330883 - head/stand/userboot/userboot

2018-03-14 Thread Andriy Gapon
On 14/03/2018 00:54, Gleb Smirnoff wrote:
> Author: glebius
> Date: Tue Mar 13 22:54:29 2018
> New Revision: 330883
> URL: https://svnweb.freebsd.org/changeset/base/330883
> 
> Log:
>   Fix typo that misteriously passes compilation.
> 
> Modified:
>   head/stand/userboot/userboot/main.c
> 
> Modified: head/stand/userboot/userboot/main.c
> ==
> --- head/stand/userboot/userboot/main.c   Tue Mar 13 21:42:38 2018
> (r330882)
> +++ head/stand/userboot/userboot/main.c   Tue Mar 13 22:54:29 2018
> (r330883)
> @@ -159,7 +159,7 @@ extract_currdev(void)
>   //bzero(&dev, sizeof(dev));
>  
>  #if defined(USERBOOT_ZFS_SUPPORT)
> - CT_ASSERT(sizeof(struct disk_devdesc) >= sizeof(struct zfs_devdesc));
> + CTASSERT(sizeof(struct disk_devdesc) >= sizeof(struct zfs_devdesc));
>   if (userboot_zfs_found) {
>   struct zfs_devdesc zdev;

It seems that this was compiled to a call to an external CT_ASSERT function.
Probably not enough warning flags to fail on a function without a prototype?
Also, not sure how it worked at run-time.  Maybe userboot.so is linked and
loaded in such a way that it allows undefined symbols as long as they are not
used.  So, probably extract_currdev() just didn't get called.

Anyway, thank you for spotting and fixing.

-- 
Andriy Gapon
___
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: r330883 - head/stand/userboot/userboot

2018-03-14 Thread Warner Losh
On Mar 14, 2018 6:45 AM, "Andriy Gapon"  wrote:

On 14/03/2018 00:54, Gleb Smirnoff wrote:
> Author: glebius
> Date: Tue Mar 13 22:54:29 2018
> New Revision: 330883
> URL: https://svnweb.freebsd.org/changeset/base/330883
>
> Log:
>   Fix typo that misteriously passes compilation.
>
> Modified:
>   head/stand/userboot/userboot/main.c
>
> Modified: head/stand/userboot/userboot/main.c
> 
==
> --- head/stand/userboot/userboot/main.c   Tue Mar 13 21:42:38 2018
(r330882)
> +++ head/stand/userboot/userboot/main.c   Tue Mar 13 22:54:29 2018
(r330883)
> @@ -159,7 +159,7 @@ extract_currdev(void)
>   //bzero(&dev, sizeof(dev));
>
>  #if defined(USERBOOT_ZFS_SUPPORT)
> - CT_ASSERT(sizeof(struct disk_devdesc) >= sizeof(struct
zfs_devdesc));
> + CTASSERT(sizeof(struct disk_devdesc) >= sizeof(struct zfs_devdesc));
>   if (userboot_zfs_found) {
>   struct zfs_devdesc zdev;

It seems that this was compiled to a call to an external CT_ASSERT function.
Probably not enough warning flags to fail on a function without a prototype?
Also, not sure how it worked at run-time.  Maybe userboot.so is linked and
loaded in such a way that it allows undefined symbols as long as they are
not
used.  So, probably extract_currdev() just didn't get called.

Anyway, thank you for spotting and fixing.


I'll have to see if I can tighten up the warns to prevent this in the
future.

Warner
___
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: r330927 - in head/sys: amd64/linux amd64/linux32 i386/linux

2018-03-14 Thread Ed Maste
Author: emaste
Date: Wed Mar 14 13:20:36 2018
New Revision: 330927
URL: https://svnweb.freebsd.org/changeset/base/330927

Log:
  Remove stray ; at end of linux_vdso_deinstall()

Modified:
  head/sys/amd64/linux/linux_sysvec.c
  head/sys/amd64/linux32/linux32_sysvec.c
  head/sys/i386/linux/linux_sysvec.c

Modified: head/sys/amd64/linux/linux_sysvec.c
==
--- head/sys/amd64/linux/linux_sysvec.c Wed Mar 14 09:57:58 2018
(r330926)
+++ head/sys/amd64/linux/linux_sysvec.c Wed Mar 14 13:20:36 2018
(r330927)
@@ -839,7 +839,7 @@ linux_vdso_deinstall(void *param)
 {
 
__elfN(linux_shared_page_fini)(linux_shared_page_obj);
-};
+}
 SYSUNINIT(elf_linux_vdso_uninit, SI_SUB_EXEC, SI_ORDER_FIRST,
 (sysinit_cfunc_t)linux_vdso_deinstall, NULL);
 

Modified: head/sys/amd64/linux32/linux32_sysvec.c
==
--- head/sys/amd64/linux32/linux32_sysvec.c Wed Mar 14 09:57:58 2018
(r330926)
+++ head/sys/amd64/linux32/linux32_sysvec.c Wed Mar 14 13:20:36 2018
(r330927)
@@ -1036,7 +1036,7 @@ linux_vdso_deinstall(void *param)
 {
 
__elfN(linux_shared_page_fini)(linux_shared_page_obj);
-};
+}
 SYSUNINIT(elf_linux_vdso_uninit, SI_SUB_EXEC, SI_ORDER_FIRST,
 (sysinit_cfunc_t)linux_vdso_deinstall, NULL);
 

Modified: head/sys/i386/linux/linux_sysvec.c
==
--- head/sys/i386/linux/linux_sysvec.c  Wed Mar 14 09:57:58 2018
(r330926)
+++ head/sys/i386/linux/linux_sysvec.c  Wed Mar 14 13:20:36 2018
(r330927)
@@ -1010,7 +1010,7 @@ linux_vdso_deinstall(void *param)
 {
 
__elfN(linux_shared_page_fini)(linux_shared_page_obj);
-};
+}
 SYSUNINIT(elf_linux_vdso_uninit, SI_SUB_EXEC, SI_ORDER_FIRST,
 (sysinit_cfunc_t)linux_vdso_deinstall, NULL);
 
___
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: r330925 - in head/sys: conf powerpc/powernv

2018-03-14 Thread Ian Lepore
On Wed, 2018-03-14 at 09:20 +, Wojciech Macek wrote:
> Author: wma
> Date: Wed Mar 14 09:20:03 2018
> New Revision: 330925
> URL: https://svnweb.freebsd.org/changeset/base/330925
> 
> Log:
>   PowerNV: Fix I2C to compile if FDT is disabled
>   
>   Submitted by:  Wojciech Macek 
>   Obtained from: Semihalf
>   Sponsored by:  IBM, QCM Technologies
> 

This seems to be a nonsensical commit.  What's the point of compiling
in a driver which is hard-coded to return failure from the probe and
attach routines?  The pre-change code seemed more correct: the driver
can only possibly work if FDT/OFW data is available, so only compile it
in when that option is in effect.

-- 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: r330929 - in head: . release/packages

2018-03-14 Thread Kyle Evans
Author: kevans
Date: Wed Mar 14 14:45:57 2018
New Revision: 330929
URL: https://svnweb.freebsd.org/changeset/base/330929

Log:
  pkgbase: Fix post-install script for kernel packages
  
  kernel.ucl uses a hardcoded boot/kernel for kldxref, which is the incorrect
  directory when we're installing extra kernels that aren't the "default"
  kernel (placed at boot/kernel).
  
  Fix this by instead using a new %KERNELDIR% that we now replace in
  Makefile.inc1 with "kernel" for the default kernel and "kernel.${_kernel}"
  for these extra kernels so that, e.g. /boot/kernel.SHIVA, will get properly
  kldxref'd upon update and avoid outdated linker.hints.
  
  Reviewed by:  gjb
  MFC after:1 week
  Differential Revision:https://reviews.freebsd.org/D14689

Modified:
  head/Makefile.inc1
  head/release/packages/kernel.ucl

Modified: head/Makefile.inc1
==
--- head/Makefile.inc1  Wed Mar 14 14:32:01 2018(r330928)
+++ head/Makefile.inc1  Wed Mar 14 14:45:57 2018(r330929)
@@ -1698,6 +1698,7 @@ create-kernel-packages-flavor${flavor:C,^""$,${_defaul
pwd_arg=`cd ${SRCDIR}/etc ; ${MAKE} -VPWD_MKDB_ENDIAN` ; \
sed -e "s/%VERSION%/${PKG_VERSION}/" \
-e "s/%PKGNAME%/kernel-${INSTALLKERNEL:tl}${flavor}/" \
+   -e "s/%KERNELDIR%/kernel/" \
-e "s/%COMMENT%/FreeBSD ${INSTALLKERNEL} kernel ${flavor}/" \
-e "s/%DESC%/FreeBSD ${INSTALLKERNEL} kernel ${flavor}/" \
-e "s/%CAP_MKDB_ENDIAN%/$${cap_arg}/g" \
@@ -1733,6 +1734,7 @@ create-kernel-packages-extra-flavor${flavor:C,^""$,${_
pwd_arg=`cd ${SRCDIR}/etc ; ${MAKE} -VPWD_MKDB_ENDIAN` ; \
sed -e "s/%VERSION%/${PKG_VERSION}/" \
-e "s/%PKGNAME%/kernel-${_kernel:tl}${flavor}/" \
+   -e "s/%KERNELDIR%/kernel.${_kernel}/" \
-e "s/%COMMENT%/FreeBSD ${_kernel} kernel ${flavor}/" \
-e "s/%DESC%/FreeBSD ${_kernel} kernel ${flavor}/" \
-e "s/%CAP_MKDB_ENDIAN%/$${cap_arg}/g" \

Modified: head/release/packages/kernel.ucl
==
--- head/release/packages/kernel.uclWed Mar 14 14:32:01 2018
(r330928)
+++ head/release/packages/kernel.uclWed Mar 14 14:45:57 2018
(r330929)
@@ -17,6 +17,6 @@ desc = 

Re: svn commit: r330925 - in head/sys: conf powerpc/powernv

2018-03-14 Thread Nathan Whitehorn



On 03/14/18 07:21, Ian Lepore wrote:

On Wed, 2018-03-14 at 09:20 +, Wojciech Macek wrote:

Author: wma
Date: Wed Mar 14 09:20:03 2018
New Revision: 330925
URL: https://svnweb.freebsd.org/changeset/base/330925

Log:
   PowerNV: Fix I2C to compile if FDT is disabled
   
   Submitted by:  Wojciech Macek 

   Obtained from: Semihalf
   Sponsored by:  IBM, QCM Technologies


This seems to be a nonsensical commit.  What's the point of compiling
in a driver which is hard-coded to return failure from the probe and
attach routines?  The pre-change code seemed more correct: the driver
can only possibly work if FDT/OFW data is available, so only compile it
in when that option is in effect.

-- Ian



It's even worse than that: the files.powerpc uses of fdt are *also* 
wrong, because it depends on OF, not FDT per se, which is 
unconditionally available on all AIM-type PowerPC kernels, so there is 
no need to test for *anything*.

-Nathan
___
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: r330925 - in head/sys: conf powerpc/powernv

2018-03-14 Thread Nathan Whitehorn



On 03/14/18 02:20, Wojciech Macek wrote:

Author: wma
Date: Wed Mar 14 09:20:03 2018
New Revision: 330925
URL: https://svnweb.freebsd.org/changeset/base/330925

Log:
   PowerNV: Fix I2C to compile if FDT is disabled
   
   Submitted by:  Wojciech Macek 

   Obtained from: Semihalf
   Sponsored by:  IBM, QCM Technologies


I don't think this makes any sense, for several reasons:
1. You are gating on #ifdef FDT for things that are using the OF_* API 
and aren't actually FDT-specific, so the #ifdef checks are testing the 
wrong thing.
2. It isn't possible to even build a PowerPC/AIM kernel, like PowerNV, 
without the Open Firmware support code that this uses, so there is no 
circumstance in which this helps anything.
3. The PowerNV platform is non-functional without a device tree 
intrinsically, so, even if you could build a kernel like this somehow, 
it would be impossible for it to work.


Given all of that, why was this necessary? It seems to just add 
pointless #ifdef to code that does not need it.

-Nathan



Modified:
   head/sys/conf/files.powerpc
   head/sys/powerpc/powernv/opal_i2c.c
   head/sys/powerpc/powernv/opal_i2cm.c
   head/sys/powerpc/powernv/powernv_centaur.c
   head/sys/powerpc/powernv/powernv_xscom.c

Modified: head/sys/conf/files.powerpc
==
--- head/sys/conf/files.powerpc Wed Mar 14 08:48:40 2018(r330924)
+++ head/sys/conf/files.powerpc Wed Mar 14 09:20:03 2018(r330925)
@@ -186,8 +186,8 @@ powerpc/powermac/vcoregpio.coptionalpowermac
  powerpc/powernv/opal.coptionalpowernv
  powerpc/powernv/opal_console.coptionalpowernv
  powerpc/powernv/opal_dev.coptionalpowernv
-powerpc/powernv/opal_i2c.c optionaliicbus fdt powernv
-powerpc/powernv/opal_i2cm.coptionaliicbus fdt powernv
+powerpc/powernv/opal_i2c.c optionaliicbus powernv
+powerpc/powernv/opal_i2cm.coptionaliicbus powernv
  powerpc/powernv/opal_pci.coptionalpowernv pci
  powerpc/powernv/opalcall.Soptionalpowernv
  powerpc/powernv/platform_powernv.c optional   powernv

Modified: head/sys/powerpc/powernv/opal_i2c.c
==
--- head/sys/powerpc/powernv/opal_i2c.c Wed Mar 14 08:48:40 2018
(r330924)
+++ head/sys/powerpc/powernv/opal_i2c.c Wed Mar 14 09:20:03 2018
(r330925)
@@ -120,7 +120,9 @@ static int
  opal_i2c_probe(device_t dev)
  {
  
+#ifdef FDT

if (!(ofw_bus_is_compatible(dev, "ibm,opal-i2c")))
+#endif
return (ENXIO);
  
  	device_set_desc(dev, "opal-i2c");

@@ -131,6 +133,7 @@ opal_i2c_probe(device_t dev)
  static int
  opal_i2c_attach(device_t dev)
  {
+#ifdef FDT
struct opal_i2c_softc *sc;
int len;
  
@@ -150,6 +153,9 @@ opal_i2c_attach(device_t dev)

I2C_LOCK_INIT(sc);
  
  	return (bus_generic_attach(dev));

+#else
+   return (ENXIO);
+#endif
  }
  
  static int


Modified: head/sys/powerpc/powernv/opal_i2cm.c
==
--- head/sys/powerpc/powernv/opal_i2cm.cWed Mar 14 08:48:40 2018
(r330924)
+++ head/sys/powerpc/powernv/opal_i2cm.cWed Mar 14 09:20:03 2018
(r330925)
@@ -57,14 +57,17 @@ struct opal_i2cm_softc
  
  static int opal_i2cm_attach(device_t);

  static int opal_i2cm_probe(device_t);
+#ifdef FDT
  static const struct ofw_bus_devinfo *
  opal_i2cm_get_devinfo(device_t, device_t);
+#endif
  
  static device_method_t opal_i2cm_methods[] = {

/* Device interface */
DEVMETHOD(device_probe, opal_i2cm_probe),
DEVMETHOD(device_attach,opal_i2cm_attach),
  
+#ifdef FDT

/* ofw_bus interface */
DEVMETHOD(ofw_bus_get_devinfo,  opal_i2cm_get_devinfo),
DEVMETHOD(ofw_bus_get_compat,   ofw_bus_gen_get_compat),
@@ -72,6 +75,7 @@ static device_method_t opal_i2cm_methods[] = {
DEVMETHOD(ofw_bus_get_name, ofw_bus_gen_get_name),
DEVMETHOD(ofw_bus_get_node, ofw_bus_gen_get_node),
DEVMETHOD(ofw_bus_get_type, ofw_bus_gen_get_type),
+#endif
  
  	DEVMETHOD_END

  };
@@ -82,8 +86,10 @@ static int
  opal_i2cm_probe(device_t dev)
  {
  
+#ifdef FDT

if (!(ofw_bus_is_compatible(dev, "ibm,centaur-i2cm") ||
ofw_bus_is_compatible(dev, "ibm,power8-i2cm")))
+#endif
return (ENXIO);
  
  	device_set_desc(dev, "centaur-i2cm");

@@ -93,6 +99,7 @@ opal_i2cm_probe(device_t dev)
  static int
  opal_i2cm_attach(device_t dev)
  {
+#ifdef FDT
phandle_t child;
device_t cdev;
struct ofw_bus_devinfo *dinfo;
@@ -116,13 +123,18 @@ opal_i2cm_attach(device_t dev)
}
  
  	return (bus_generic_attach(dev));

+#else
+   return (ENXIO);
+#endif
  }
  
+#ifdef FDT

  static const struct ofw_bus_devinfo *
  opal_i2cm

Re: svn commit: r330885 - head/sys/modules/cam

2018-03-14 Thread Hans Petter Selasky

On 03/14/18 00:36, Warner Losh wrote:

Author: imp
Date: Tue Mar 13 23:36:15 2018
New Revision: 330885
URL: https://svnweb.freebsd.org/changeset/base/330885

Log:
   We need opt_compat.h after r330819 and 330820.
   
   Add opt_compat.h to fix the stand-alone build case.
   
   Sponsored by: Netflix.


Modified:
   head/sys/modules/cam/Makefile

Modified: head/sys/modules/cam/Makefile
==
--- head/sys/modules/cam/Makefile   Tue Mar 13 23:05:51 2018
(r330884)
+++ head/sys/modules/cam/Makefile   Tue Mar 13 23:36:15 2018
(r330885)
@@ -8,6 +8,7 @@ KMOD=   cam
  
  # See sys/conf/options for the flags that go into the different opt_*.h files.

  SRCS= opt_cam.h
+SRCS=  opt_compat.h
  SRCS+=opt_ada.h
  SRCS+=opt_scsi.h
  SRCS+=opt_cd.h




Hi,

Should this be SRCS+= ?

--HPS
___
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: r330930 - head/sys/conf

2018-03-14 Thread Justin Hibbits
On Wed, Mar 14, 2018 at 11:16 AM, Nathan Whitehorn
 wrote:
> Author: nwhitehorn
> Date: Wed Mar 14 16:16:25 2018
> New Revision: 330930
> URL: https://svnweb.freebsd.org/changeset/base/330930
>
> Log:
>   The expression (aim | fdt) is always true on PowerPC. The last PowerPC
>   platform that can run without a device tree (PS3) still uses the OF_*()
>   functions to check if one exists and OF_* is used unconditionally in
>   core parts of the system like powerpc/machdep.c. Reflect this reality
>   in files.powerpc, for example by changing occurrences of aim | fdt to
>   standard.
>
> Modified:
>   head/sys/conf/files.powerpc
>
> Modified: head/sys/conf/files.powerpc
> ==
> --- head/sys/conf/files.powerpc Wed Mar 14 14:45:57 2018(r330929)
> +++ head/sys/conf/files.powerpc Wed Mar 14 16:16:25 2018(r330930)
> @@ -32,7 +32,7 @@ dev/adb/adb_buttons.c optionaladb
>  dev/agp/agp_apple.coptionalagp powermac
>  dev/fb/fb.coptionalsc
>  # ofwbus depends on simplebus.
> -dev/fdt/simplebus.coptionalaim | fdt
> +dev/fdt/simplebus.coptionalstandard
>  dev/hwpmc/hwpmc_e500.c optionalhwpmc
>  dev/hwpmc/hwpmc_mpc7xxx.c  optionalhwpmc
>  dev/hwpmc/hwpmc_powerpc.c  optionalhwpmc
> @@ -55,7 +55,7 @@ dev/ofw/ofw_if.m  optionalaim
>  dev/ofw/ofw_bus_subr.c optionalaim
>  dev/ofw/ofw_console.c  optionalaim
>  dev/ofw/ofw_disk.c optionalofwd aim
> -dev/ofw/ofwbus.c   optionalaim | fdt
> +dev/ofw/ofwbus.c   optionalaim

ofwbus is used by Book-E too, not just AIM.  And 'aim' is not defined
for Book-E platforms.  Maybe it should be 'standard' instead?

- Justin
___
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: r330930 - head/sys/conf

2018-03-14 Thread Nathan Whitehorn
Author: nwhitehorn
Date: Wed Mar 14 16:16:25 2018
New Revision: 330930
URL: https://svnweb.freebsd.org/changeset/base/330930

Log:
  The expression (aim | fdt) is always true on PowerPC. The last PowerPC
  platform that can run without a device tree (PS3) still uses the OF_*()
  functions to check if one exists and OF_* is used unconditionally in
  core parts of the system like powerpc/machdep.c. Reflect this reality
  in files.powerpc, for example by changing occurrences of aim | fdt to
  standard.

Modified:
  head/sys/conf/files.powerpc

Modified: head/sys/conf/files.powerpc
==
--- head/sys/conf/files.powerpc Wed Mar 14 14:45:57 2018(r330929)
+++ head/sys/conf/files.powerpc Wed Mar 14 16:16:25 2018(r330930)
@@ -32,7 +32,7 @@ dev/adb/adb_buttons.c optionaladb
 dev/agp/agp_apple.coptionalagp powermac
 dev/fb/fb.coptionalsc
 # ofwbus depends on simplebus.
-dev/fdt/simplebus.coptionalaim | fdt
+dev/fdt/simplebus.coptionalstandard
 dev/hwpmc/hwpmc_e500.c optionalhwpmc
 dev/hwpmc/hwpmc_mpc7xxx.c  optionalhwpmc
 dev/hwpmc/hwpmc_powerpc.c  optionalhwpmc
@@ -55,7 +55,7 @@ dev/ofw/ofw_if.m  optionalaim
 dev/ofw/ofw_bus_subr.c optionalaim
 dev/ofw/ofw_console.c  optionalaim
 dev/ofw/ofw_disk.c optionalofwd aim
-dev/ofw/ofwbus.c   optionalaim | fdt
+dev/ofw/ofwbus.c   optionalaim
 dev/ofw/ofwpci.c   optionalpci
 dev/ofw/ofw_standard.c optionalaim powerpc
 dev/ofw/ofw_subr.c optionalaim powerpc
@@ -74,7 +74,7 @@ dev/syscons/scgfbrndr.c   optionalsc
 dev/syscons/scterm-teken.c optionalsc
 dev/syscons/scvtb.coptionalsc
 dev/tsec/if_tsec.c optionaltsec
-dev/tsec/if_tsec_fdt.c optionaltsec fdt
+dev/tsec/if_tsec_fdt.c optionaltsec 
 dev/uart/uart_cpu_powerpc.coptionaluart
 dev/usb/controller/ehci_fsl.c  optionalehci mpc85xx
 dev/vt/hw/ofwfb/ofwfb.coptionalvt aim
@@ -136,12 +136,12 @@ powerpc/mambo/mambo_disk.coptionalmambo
 powerpc/mikrotik/platform_rb.c optionalmikrotik
 powerpc/mikrotik/rb_led.c  optionalmikrotik
 powerpc/mpc85xx/atpic.coptionalmpc85xx isa
-powerpc/mpc85xx/ds1553_bus_fdt.c   optionalds1553 fdt
+powerpc/mpc85xx/ds1553_bus_fdt.c   optionalds1553
 powerpc/mpc85xx/ds1553_core.c  optionalds1553
 powerpc/mpc85xx/fsl_diu.c  optionalmpc85xx diu
 powerpc/mpc85xx/fsl_espi.c optionalmpc85xx spibus
 powerpc/mpc85xx/fsl_sata.c optionalmpc85xx ata
-powerpc/mpc85xx/i2c.c  optionaliicbus fdt
+powerpc/mpc85xx/i2c.c  optionaliicbus
 powerpc/mpc85xx/isa.c  optionalmpc85xx isa
 powerpc/mpc85xx/lbc.c  optionalmpc85xx
 powerpc/mpc85xx/mpc85xx.c  optionalmpc85xx
@@ -158,7 +158,7 @@ powerpc/ofw/ofw_real.c  optionalaim
 powerpc/ofw/ofw_syscons.c  optionalsc aim
 powerpc/ofw/ofwcall32.Soptionalaim powerpc
 powerpc/ofw/ofwcall64.Soptionalaim powerpc64
-powerpc/ofw/openpic_ofw.c  optionalaim | fdt
+powerpc/ofw/openpic_ofw.c  optionalstandard
 powerpc/ofw/rtas.c optionalaim
 powerpc/powermac/ata_kauai.c   optionalpowermac ata | powermac atamacio
 powerpc/powermac/ata_macio.c   optionalpowermac ata | powermac atamacio
___
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: r330930 - head/sys/conf

2018-03-14 Thread Rodney W. Grimes
> Author: nwhitehorn
> Date: Wed Mar 14 16:16:25 2018
> New Revision: 330930
> URL: https://svnweb.freebsd.org/changeset/base/330930
> 
> Log:
>   The expression (aim | fdt) is always true on PowerPC. The last PowerPC
>   platform that can run without a device tree (PS3) still uses the OF_*()
>   functions to check if one exists and OF_* is used unconditionally in
>   core parts of the system like powerpc/machdep.c. Reflect this reality
>   in files.powerpc, for example by changing occurrences of aim | fdt to
>   standard.
> 
> Modified:
>   head/sys/conf/files.powerpc
> 
> Modified: head/sys/conf/files.powerpc
> ==
> --- head/sys/conf/files.powerpc   Wed Mar 14 14:45:57 2018
> (r330929)
> +++ head/sys/conf/files.powerpc   Wed Mar 14 16:16:25 2018
> (r330930)
> @@ -32,7 +32,7 @@ dev/adb/adb_buttons.c   optionaladb
>  dev/agp/agp_apple.c  optionalagp powermac
>  dev/fb/fb.c  optionalsc
>  # ofwbus depends on simplebus.
> -dev/fdt/simplebus.c  optionalaim | fdt
> +dev/fdt/simplebus.c  optionalstandard

optionaly standard?  

>  dev/hwpmc/hwpmc_e500.c   optionalhwpmc
>  dev/hwpmc/hwpmc_mpc7xxx.coptionalhwpmc
>  dev/hwpmc/hwpmc_powerpc.coptionalhwpmc
> @@ -55,7 +55,7 @@ dev/ofw/ofw_if.moptionalaim
>  dev/ofw/ofw_bus_subr.c   optionalaim
>  dev/ofw/ofw_console.coptionalaim
>  dev/ofw/ofw_disk.c   optionalofwd aim
> -dev/ofw/ofwbus.c optionalaim | fdt
> +dev/ofw/ofwbus.c optionalaim
>  dev/ofw/ofwpci.c optionalpci
>  dev/ofw/ofw_standard.c   optionalaim powerpc
>  dev/ofw/ofw_subr.c   optionalaim powerpc
> @@ -74,7 +74,7 @@ dev/syscons/scgfbrndr.c optionalsc
>  dev/syscons/scterm-teken.c   optionalsc
>  dev/syscons/scvtb.c  optionalsc
>  dev/tsec/if_tsec.c   optionaltsec
> -dev/tsec/if_tsec_fdt.c   optionaltsec fdt
> +dev/tsec/if_tsec_fdt.c   optionaltsec 
>  dev/uart/uart_cpu_powerpc.c  optionaluart
>  dev/usb/controller/ehci_fsl.coptionalehci mpc85xx
>  dev/vt/hw/ofwfb/ofwfb.c  optionalvt aim
> @@ -136,12 +136,12 @@ powerpc/mambo/mambo_disk.c  optionalmambo
>  powerpc/mikrotik/platform_rb.c   optionalmikrotik
>  powerpc/mikrotik/rb_led.coptionalmikrotik
>  powerpc/mpc85xx/atpic.c  optionalmpc85xx isa
> -powerpc/mpc85xx/ds1553_bus_fdt.c optionalds1553 fdt
> +powerpc/mpc85xx/ds1553_bus_fdt.c optionalds1553
>  powerpc/mpc85xx/ds1553_core.coptionalds1553
>  powerpc/mpc85xx/fsl_diu.coptionalmpc85xx diu
>  powerpc/mpc85xx/fsl_espi.c   optionalmpc85xx spibus
>  powerpc/mpc85xx/fsl_sata.c   optionalmpc85xx ata
> -powerpc/mpc85xx/i2c.coptionaliicbus fdt
> +powerpc/mpc85xx/i2c.coptionaliicbus
>  powerpc/mpc85xx/isa.coptionalmpc85xx isa
>  powerpc/mpc85xx/lbc.coptionalmpc85xx
>  powerpc/mpc85xx/mpc85xx.coptionalmpc85xx
> @@ -158,7 +158,7 @@ powerpc/ofw/ofw_real.coptionalaim
>  powerpc/ofw/ofw_syscons.coptionalsc aim
>  powerpc/ofw/ofwcall32.S  optionalaim powerpc
>  powerpc/ofw/ofwcall64.S  optionalaim powerpc64
> -powerpc/ofw/openpic_ofw.coptionalaim | fdt
> +powerpc/ofw/openpic_ofw.coptionalstandard

And here too

>  powerpc/ofw/rtas.c   optionalaim
>  powerpc/powermac/ata_kauai.c optionalpowermac ata | powermac atamacio
>  powerpc/powermac/ata_macio.c optionalpowermac ata | powermac atamacio
> 
> 

-- 
Rod Grimes rgri...@freebsd.org
___
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: r330885 - head/sys/modules/cam

2018-03-14 Thread Warner Losh
On Wed, Mar 14, 2018 at 10:14 AM, Hans Petter Selasky 
wrote:

> On 03/14/18 00:36, Warner Losh wrote:
>
>> Author: imp
>> Date: Tue Mar 13 23:36:15 2018
>> New Revision: 330885
>> URL: https://svnweb.freebsd.org/changeset/base/330885
>>
>> Log:
>>We need opt_compat.h after r330819 and 330820.
>>   Add opt_compat.h to fix the stand-alone build case.
>>   Sponsored by: Netflix.
>>
>> Modified:
>>head/sys/modules/cam/Makefile
>>
>> Modified: head/sys/modules/cam/Makefile
>> 
>> ==
>> --- head/sys/modules/cam/Makefile   Tue Mar 13 23:05:51 2018
>> (r330884)
>> +++ head/sys/modules/cam/Makefile   Tue Mar 13 23:36:15 2018
>> (r330885)
>> @@ -8,6 +8,7 @@ KMOD=   cam
>> # See sys/conf/options for the flags that go into the different
>> opt_*.h files.
>>   SRCS= opt_cam.h
>> +SRCS=  opt_compat.h
>>   SRCS+=opt_ada.h
>>   SRCS+=opt_scsi.h
>>   SRCS+=opt_cd.h
>>
>>
>>
> Hi,
>
> Should this be SRCS+= ?


Yes. I had an unclean build and it worked. Good eye.

Wanrer
___
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: r330932 - in head/sys: cam/nvme dev/nvme

2018-03-14 Thread Warner Losh
Author: imp
Date: Wed Mar 14 16:44:50 2018
New Revision: 330932
URL: https://svnweb.freebsd.org/changeset/base/330932

Log:
  Implement trim collapsing in nda
  
  When multiple trims are in the queue, collapse them as much as
  possible. At present, this usually results in only a few trims being
  collapsed together, but more work on that will make it possible to do
  hundreds (up to some configurable max).
  
  Sponsored by: Netflix

Modified:
  head/sys/cam/nvme/nvme_da.c
  head/sys/dev/nvme/nvme.h

Modified: head/sys/cam/nvme/nvme_da.c
==
--- head/sys/cam/nvme/nvme_da.c Wed Mar 14 16:44:16 2018(r330931)
+++ head/sys/cam/nvme/nvme_da.c Wed Mar 14 16:44:50 2018(r330932)
@@ -93,12 +93,10 @@ typedef enum {
 } nda_ccb_state;
 
 /* Offsets into our private area for storing information */
-#define ccb_state  ppriv_field0
-#define ccb_bp ppriv_ptr1
+#define ccb_state  ccb_h.ppriv_field0
+#define ccb_bp ccb_h.ppriv_ptr1/* For NDA_CCB_BUFFER_IO */
+#define ccb_trim   ccb_h.ppriv_ptr1/* For NDA_CCB_TRIM */
 
-struct trim_request {
-   TAILQ_HEAD(, bio) bps;
-};
 struct nda_softc {
struct   cam_iosched_softc *cam_iosched;
int outstanding_cmds;   /* Number of active 
commands */
@@ -107,12 +105,13 @@ struct nda_softc {
nda_flags   flags;
nda_quirks  quirks;
int unmappedio;
+   quad_t  deletes;
+   quad_t  dsm_req;
uint32_tnsid;   /* Namespace ID for 
this nda device */
struct disk *disk;
struct task sysctl_task;
struct sysctl_ctx_list  sysctl_ctx;
struct sysctl_oid   *sysctl_tree;
-   struct trim_request trim_req;
 #ifdef CAM_IO_STATS
struct sysctl_ctx_list  sysctl_stats_ctx;
struct sysctl_oid   *sysctl_stats_tree;
@@ -122,6 +121,14 @@ struct nda_softc {
 #endif
 };
 
+struct nda_trim_request {
+   union {
+   struct nvme_dsm_range dsm;
+   uint8_t data[NVME_MAX_DSM_TRIM];
+   };
+   TAILQ_HEAD(, bio) bps;
+};
+
 /* Need quirk table */
 
 static disk_strategy_t ndastrategy;
@@ -150,11 +157,14 @@ static void   ndasuspend(void *arg);
 #ifndefNDA_DEFAULT_RETRY
 #defineNDA_DEFAULT_RETRY   4
 #endif
+#ifndef NDA_MAX_TRIM_ENTRIES
+#define NDA_MAX_TRIM_ENTRIES 256   /* Number of DSM trims to use, max 256 
*/
+#endif
 
-
 //static int nda_retry_count = NDA_DEFAULT_RETRY;
 static int nda_send_ordered = NDA_DEFAULT_SEND_ORDERED;
 static int nda_default_timeout = NDA_DEFAULT_TIMEOUT;
+static int nda_max_trim_entries = NDA_MAX_TRIM_ENTRIES;
 
 /*
  * All NVMe media is non-rotational, so all nvme device instances
@@ -361,6 +371,9 @@ ndastrategy(struct bio *bp)
return;
}

+   if (bp->bio_cmd == BIO_DELETE)
+   softc->deletes++;
+
/*
 * Place it in the queue of disk activities for this disk
 */
@@ -401,7 +414,7 @@ ndadump(void *arg, void *virtual, vm_offset_t physical
memset(&nvmeio, 0, sizeof(nvmeio));
if (length > 0) {
xpt_setup_ccb(&nvmeio.ccb_h, periph->path, CAM_PRIORITY_NORMAL);
-   nvmeio.ccb_h.ccb_state = NDA_CCB_DUMP;
+   nvmeio.ccb_state = NDA_CCB_DUMP;
nda_nvme_write(softc, &nvmeio, virtual, lba, length, count);
error = cam_periph_runccb((union ccb *)&nvmeio, 
cam_periph_error,
0, SF_NO_RECOVERY | SF_NO_RETRY, NULL);
@@ -414,7 +427,7 @@ ndadump(void *arg, void *virtual, vm_offset_t physical
/* Flush */
xpt_setup_ccb(&nvmeio.ccb_h, periph->path, CAM_PRIORITY_NORMAL);
 
-   nvmeio.ccb_h.ccb_state = NDA_CCB_DUMP;
+   nvmeio.ccb_state = NDA_CCB_DUMP;
nda_nvme_flush(softc, &nvmeio);
error = cam_periph_runccb((union ccb *)&nvmeio, cam_periph_error,
0, SF_NO_RECOVERY | SF_NO_RETRY, NULL);
@@ -610,6 +623,14 @@ ndasysctlinit(void *context, int pending)
OID_AUTO, "unmapped_io", CTLFLAG_RD | CTLFLAG_MPSAFE,
&softc->unmappedio, 0, "Unmapped I/O leaf");
 
+   SYSCTL_ADD_QUAD(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree),
+   OID_AUTO, "deletes", CTLFLAG_RD | CTLFLAG_MPSAFE,
+   &softc->deletes, "Number of BIO_DELETE requests");
+
+   SYSCTL_ADD_QUAD(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree),
+   OID_AUTO, "dsm_req", CTLFLAG_RD | CTLFLAG_MPSAFE,
+   &softc->dsm_req, "Number of DSM requests sent to SIM");
+
SYSCTL_ADD_INT(&softc->sysctl_ctx,
   SYSCTL_CHILDREN(softc->sysctl_tree),
   OID_AUTO,
@@ -902,24 +923,42 @@ ndastart(struct cam_periph *periph, union ccb *s

svn commit: r330934 - head/sys/modules/cam

2018-03-14 Thread Warner Losh
Author: imp
Date: Wed Mar 14 16:45:04 2018
New Revision: 330934
URL: https://svnweb.freebsd.org/changeset/base/330934

Log:
  This should have been += so clean builds work.
  
  Noticed by: hps@

Modified:
  head/sys/modules/cam/Makefile

Modified: head/sys/modules/cam/Makefile
==
--- head/sys/modules/cam/Makefile   Wed Mar 14 16:44:57 2018
(r330933)
+++ head/sys/modules/cam/Makefile   Wed Mar 14 16:45:04 2018
(r330934)
@@ -8,7 +8,7 @@ KMOD=   cam
 
 # See sys/conf/options for the flags that go into the different opt_*.h files.
 SRCS=  opt_cam.h
-SRCS=  opt_compat.h
+SRCS+= opt_compat.h
 SRCS+= opt_ada.h
 SRCS+= opt_scsi.h
 SRCS+= opt_cd.h
___
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: r330933 - head/sys/cam

2018-03-14 Thread Warner Losh
Author: imp
Date: Wed Mar 14 16:44:57 2018
New Revision: 330933
URL: https://svnweb.freebsd.org/changeset/base/330933

Log:
  Fix inverted logic that counted all completions as errors, except when
  they were actual errors.
  
  Sponsored by: Netflix

Modified:
  head/sys/cam/cam_iosched.c

Modified: head/sys/cam/cam_iosched.c
==
--- head/sys/cam/cam_iosched.c  Wed Mar 14 16:44:50 2018(r330932)
+++ head/sys/cam/cam_iosched.c  Wed Mar 14 16:44:57 2018(r330933)
@@ -1473,18 +1473,18 @@ cam_iosched_bio_complete(struct cam_iosched_softc *isc
printf("done: %p %#x\n", bp, bp->bio_cmd);
if (bp->bio_cmd == BIO_WRITE) {
retval = cam_iosched_limiter_iodone(&isc->write_stats, bp);
-   if (!(bp->bio_flags & BIO_ERROR))
+   if ((bp->bio_flags & BIO_ERROR) != 0)
isc->write_stats.errs++;
isc->write_stats.out++;
isc->write_stats.pending--;
} else if (bp->bio_cmd == BIO_READ) {
retval = cam_iosched_limiter_iodone(&isc->read_stats, bp);
-   if (!(bp->bio_flags & BIO_ERROR))
+   if ((bp->bio_flags & BIO_ERROR) != 0)
isc->read_stats.errs++;
isc->read_stats.out++;
isc->read_stats.pending--;
} else if (bp->bio_cmd == BIO_DELETE) {
-   if (!(bp->bio_flags & BIO_ERROR))
+   if ((bp->bio_flags & BIO_ERROR) != 0)
isc->trim_stats.errs++;
isc->trim_stats.out++;
isc->trim_stats.pending--;
___
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: r330931 - head/sys/cam

2018-03-14 Thread Warner Losh
Author: imp
Date: Wed Mar 14 16:44:16 2018
New Revision: 330931
URL: https://svnweb.freebsd.org/changeset/base/330931

Log:
  Allow NULL ccb to cam_iosched_bio_complete
  
  When the ccb is NULL to cam_iosched_bio_complete, just update the
  other statistics, but not the time. If many operations are collapsed
  together, this is needed to keep stats properly for the grouped bp.
  This should fix trim accounting.
  
  Sponsored by: Netflix

Modified:
  head/sys/cam/cam_iosched.c

Modified: head/sys/cam/cam_iosched.c
==
--- head/sys/cam/cam_iosched.c  Wed Mar 14 16:16:25 2018(r330930)
+++ head/sys/cam/cam_iosched.c  Wed Mar 14 16:44:16 2018(r330931)
@@ -1493,7 +1493,7 @@ cam_iosched_bio_complete(struct cam_iosched_softc *isc
printf("Completing command with bio_cmd == %#x\n", 
bp->bio_cmd);
}
 
-   if (!(bp->bio_flags & BIO_ERROR))
+   if (!(bp->bio_flags & BIO_ERROR) && done_ccb != NULL)
cam_iosched_io_metric_update(isc,
cam_iosched_sbintime_t(done_ccb->ccb_h.qos.periph_data),
bp->bio_cmd, bp->bio_bcount);
___
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: r330932 - in head/sys: cam/nvme dev/nvme

2018-03-14 Thread Ravi Pokala
Hi Warner,

The TRIM command takes a buffer of range structures, and this change 
consolidates multiple range structures into the buffer for a single TRIM 
command, correct? Whereas the old functionality was to populate the buffer with 
a single range structure?

So if we wanted to trim ranges [P..T], [A..E], [K..O], the old functionality 
would be:

TRIM:[P..T] ; TRIM:[A..E] ; TRIM:[K..O]

The new functionality would be:

TRIM:[P..T], [A..E], [K..O]

Right?

> + /* XXX -- Could collapse adjacent ranges, but 
> we don't for now */
> + /* XXX -- Could limit based on total payload 
> size */

And that future enhancement would make it:

TRIM:[A..E], [K..T]

Is that correct?

Thanks,

Ravi (rpokala@)

-Original Message-
From:  on behalf of Warner Losh 

Date: 2018-03-14, Wednesday at 09:44
To: , , 

Subject: svn commit: r330932 - in head/sys: cam/nvme dev/nvme

> Author: imp
> Date: Wed Mar 14 16:44:50 2018
> New Revision: 330932
> URL: https://svnweb.freebsd.org/changeset/base/330932
> 
> Log:
>   Implement trim collapsing in nda
>   
>   When multiple trims are in the queue, collapse them as much as
>   possible. At present, this usually results in only a few trims being
>   collapsed together, but more work on that will make it possible to do
>   hundreds (up to some configurable max).
>   
>   Sponsored by: Netflix



___
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: r330932 - in head/sys: cam/nvme dev/nvme

2018-03-14 Thread Warner Losh
On Wed, Mar 14, 2018 at 11:08 AM, Ravi Pokala  wrote:

> Hi Warner,
>
> The TRIM command takes a buffer of range structures, and this change
> consolidates multiple range structures into the buffer for a single TRIM
> command, correct? Whereas the old functionality was to populate the buffer
> with a single range structure?
>
> So if we wanted to trim ranges [P..T], [A..E], [K..O], the old
> functionality would be:
>
> TRIM:[P..T] ; TRIM:[A..E] ; TRIM:[K..O]
>
> The new functionality would be:
>
> TRIM:[P..T], [A..E], [K..O]
>
> Right?


Correct. This helps a lot, at least for the drives I have access to. I'm
working on adaptive features to allow us to know when it will help.

> + /* XXX -- Could collapse adjacent ranges,
> but we don't for now */
> > + /* XXX -- Could limit based on total
> payload size */
>
> And that future enhancement would make it:
>
> TRIM:[A..E], [K..T]
>


> Is that correct?
>

Yes. That's right. This code doesn't do that now. We also need to work on
read biasing and a few other things as well, independent of what we send
down to the driver. That's the scheduling bits. Some of the dynamic stuff
will be only in the dynamic scheduler, but we need to not do trims first. I
think that a strategy of collecting N BIO_DELETEs before we send down the
DSM TRIM to the drive rather than sending them down asap would be useful
(with some reasonable timeout so things don't get stuck for too long).
Collecting TRIMs don't hang anything in the system, except reclaiming
blocks on delete, as far as I can tell...  I accidentally queued 10M trims
and didn't drain them for 8 hours w/o anybody but the graphs for the
machine that report queue length noticing...

Warner


> Thanks,
>
> Ravi (rpokala@)
>
> -Original Message-
> From:  on behalf of Warner Losh
> 
> Date: 2018-03-14, Wednesday at 09:44
> To: , , <
> svn-src-head@freebsd.org>
> Subject: svn commit: r330932 - in head/sys: cam/nvme dev/nvme
>
> > Author: imp
> > Date: Wed Mar 14 16:44:50 2018
> > New Revision: 330932
> > URL: https://svnweb.freebsd.org/changeset/base/330932
> >
> > Log:
> >   Implement trim collapsing in nda
> >
> >   When multiple trims are in the queue, collapse them as much as
> >   possible. At present, this usually results in only a few trims being
> >   collapsed together, but more work on that will make it possible to do
> >   hundreds (up to some configurable max).
> >
> >   Sponsored by: Netflix
>
>
>
>
___
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: r330884 - in head/sys: dev/cxgbe dev/cxgbe/firmware dev/cxgbe/tom modules/cxgbe/tom

2018-03-14 Thread John Baldwin
On Tuesday, March 13, 2018 11:05:51 PM John Baldwin wrote:
> Author: jhb
> Date: Tue Mar 13 23:05:51 2018
> New Revision: 330884
> URL: https://svnweb.freebsd.org/changeset/base/330884
> 
> Log:
>   Support for TLS offload of TOE connections on T6 adapters.
>   
>   The TOE engine in Chelsio T6 adapters supports offloading of TLS
>   encryption and TCP segmentation for offloaded connections.  Sockets
>   using TLS are required to use a set of custom socket options to upload
>   RX and TX keys to the NIC and to enable RX processing.  Currently
>   these socket options are implemented as TCP options in the vendor
>   specific range.  A patched OpenSSL library will be made available in a
>   port / package for use with the TLS TOE support.

Note that making use of this requires a patched SSL library.  There is not
yet a port for one, but I'm working with brnrd@ to make a package of a
patched OpenSSL.

-- 
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: r330930 - head/sys/conf

2018-03-14 Thread Nathan Whitehorn



On 03/14/18 09:19, Justin Hibbits wrote:

On Wed, Mar 14, 2018 at 11:16 AM, Nathan Whitehorn
 wrote:

Author: nwhitehorn
Date: Wed Mar 14 16:16:25 2018
New Revision: 330930
URL: https://svnweb.freebsd.org/changeset/base/330930

Log:
   The expression (aim | fdt) is always true on PowerPC. The last PowerPC
   platform that can run without a device tree (PS3) still uses the OF_*()
   functions to check if one exists and OF_* is used unconditionally in
   core parts of the system like powerpc/machdep.c. Reflect this reality
   in files.powerpc, for example by changing occurrences of aim | fdt to
   standard.

Modified:
   head/sys/conf/files.powerpc

Modified: head/sys/conf/files.powerpc
==
--- head/sys/conf/files.powerpc Wed Mar 14 14:45:57 2018(r330929)
+++ head/sys/conf/files.powerpc Wed Mar 14 16:16:25 2018(r330930)
@@ -32,7 +32,7 @@ dev/adb/adb_buttons.c optionaladb
  dev/agp/agp_apple.coptionalagp powermac
  dev/fb/fb.coptionalsc
  # ofwbus depends on simplebus.
-dev/fdt/simplebus.coptionalaim | fdt
+dev/fdt/simplebus.coptionalstandard
  dev/hwpmc/hwpmc_e500.c optionalhwpmc
  dev/hwpmc/hwpmc_mpc7xxx.c  optionalhwpmc
  dev/hwpmc/hwpmc_powerpc.c  optionalhwpmc
@@ -55,7 +55,7 @@ dev/ofw/ofw_if.m  optionalaim
  dev/ofw/ofw_bus_subr.c optionalaim
  dev/ofw/ofw_console.c  optionalaim
  dev/ofw/ofw_disk.c optionalofwd aim
-dev/ofw/ofwbus.c   optionalaim | fdt
+dev/ofw/ofwbus.c   optionalaim

ofwbus is used by Book-E too, not just AIM.  And 'aim' is not defined
for Book-E platforms.  Maybe it should be 'standard' instead?

- Justin



See the comment above this line (which isn't in the diff): ofwbus.c can 
also be brought in by conf/files through the definition of options FDT. 
This block is just a safety valve for (AIM && !FDT) to make sure we 
always get it. We could also mark all of these standard; config is smart 
enough to deduplicate things. Would you prefer that?

-Nathan
___
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: r330935 - in head/sys: cam cam/ata cam/nvme cam/scsi conf

2018-03-14 Thread Warner Losh
Author: imp
Date: Wed Mar 14 17:53:37 2018
New Revision: 330935
URL: https://svnweb.freebsd.org/changeset/base/330935

Log:
  Create a sysctl kern.cam.{,a,n}da.X.invalidate
  
  kern.cam.{,a,n}da.X.invalidate=1 forces *daX to detach by calling
  cam_periph_invalidate on the underlying periph. This is for testing
  purposes only. Include only with options CAM_TEST_FAILURE and rename
  the former [AN]DA_TEST_FAILURE, and fix nda to compile with it set.
  We're using it at work to harden geom and the buffer cache to be
  resilient in the face of drive failure. Today, it far too often
  results in a panic. While much work was done on SIM initiated removal
  for the USB thumnb drive removal work, little has been done for periph
  initiated removal. This simulates what *daerror() does for some errors
  nicely: we get the same panics with it that we do with failing drives.
  
  Sponsored by: Netflix
  Differential Revision: https://reviews.freebsd.org/D14581

Modified:
  head/sys/cam/ata/ata_da.c
  head/sys/cam/cam_periph.c
  head/sys/cam/cam_periph.h
  head/sys/cam/nvme/nvme_da.c
  head/sys/cam/scsi/scsi_da.c
  head/sys/conf/NOTES
  head/sys/conf/options

Modified: head/sys/cam/ata/ata_da.c
==
--- head/sys/cam/ata/ata_da.c   Wed Mar 14 16:45:04 2018(r330934)
+++ head/sys/cam/ata/ata_da.c   Wed Mar 14 17:53:37 2018(r330935)
@@ -238,7 +238,7 @@ struct ada_softc {
int  write_cache;
int  unmappedio;
int  rotating;
-#ifdef ADA_TEST_FAILURE
+#ifdef CAM_TEST_FAILURE
int  force_read_error;
int  force_write_error;
int  periodic_read_error;
@@ -1475,7 +1475,7 @@ adasysctlinit(void *context, int pending)
"max_seq_zones", CTLFLAG_RD, &softc->max_seq_zones,
"Maximum Number of Open Sequential Write Required Zones");
 
-#ifdef ADA_TEST_FAILURE
+#ifdef CAM_TEST_FAILURE
/*
 * Add a 'door bell' sysctl which allows one to set it from userland
 * and cause something bad to happen.  For the moment, we only allow
@@ -1493,6 +1493,10 @@ adasysctlinit(void *context, int pending)
OID_AUTO, "periodic_read_error", CTLFLAG_RW | CTLFLAG_MPSAFE,
&softc->periodic_read_error, 0,
"Force a read error every N reads (don't set too low).");
+   SYSCTL_ADD_PROC(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree),
+   OID_AUTO, "invalidate", CTLTYPE_U64 | CTLFLAG_RW | 
CTLFLAG_MPSAFE,
+   periph, 0, cam_periph_invalidate_sysctl, "I",
+   "Write 1 to invalidate the drive immediately");
 #endif
 
 #ifdef CAM_IO_STATS
@@ -2293,7 +2297,7 @@ adastart(struct cam_periph *periph, union ccb *start_c
data_ptr = bp;
}
 
-#ifdef ADA_TEST_FAILURE
+#ifdef CAM_TEST_FAILURE
int fail = 0;
 
/*

Modified: head/sys/cam/cam_periph.c
==
--- head/sys/cam/cam_periph.c   Wed Mar 14 16:45:04 2018(r330934)
+++ head/sys/cam/cam_periph.c   Wed Mar 14 17:53:37 2018(r330935)
@@ -2066,3 +2066,25 @@ cam_periph_devctl_notify(union ccb *ccb)
free(sbmsg, M_CAMPERIPH);
 }
 
+/*
+ * Sysctl to force an invalidation of the drive right now. Can be
+ * called with CTLFLAG_MPSAFE since we take periph lock.
+ */
+int
+cam_periph_invalidate_sysctl(SYSCTL_HANDLER_ARGS)
+{
+   struct cam_periph *periph;
+   int error, value;
+
+   periph = arg1;
+   value = 0;
+   error = sysctl_handle_int(oidp, &value, 0, req);
+   if (error != 0 || req->newptr == NULL || value != 1)
+   return (error);
+
+   cam_periph_lock(periph);
+   cam_periph_invalidate(periph);
+   cam_periph_unlock(periph);
+
+   return (0);
+}

Modified: head/sys/cam/cam_periph.h
==
--- head/sys/cam/cam_periph.h   Wed Mar 14 16:45:04 2018(r330934)
+++ head/sys/cam/cam_periph.h   Wed Mar 14 17:53:37 2018(r330935)
@@ -37,6 +37,7 @@
 #include 
 
 #ifdef _KERNEL
+#include 
 #include 
 
 #include 
@@ -198,6 +199,7 @@ voidcam_periph_freeze_after_event(struct 
cam_periph 
  u_int duration_ms);
 intcam_periph_error(union ccb *ccb, cam_flags camflags,
 u_int32_t sense_flags);
+intcam_periph_invalidate_sysctl(SYSCTL_HANDLER_ARGS);
 
 static __inline struct mtx *
 cam_periph_mtx(struct cam_periph *periph)

Modified: head/sys/cam/nvme/nvme_da.c
==
--- head/sys/cam/nvme/nvme_da.c Wed Mar 14 16:45:04 2018(r330934)
+++ head/sys/cam/nvme/nvme_da.c Wed Mar 14 17:53:37 2018(r330935)
@@ -112,6 +112,12 @

Re: svn commit: r330930 - head/sys/conf

2018-03-14 Thread Justin Hibbits
On Wed, Mar 14, 2018 at 12:53 PM, Nathan Whitehorn
 wrote:
>
>
> On 03/14/18 09:19, Justin Hibbits wrote:
>>
>> On Wed, Mar 14, 2018 at 11:16 AM, Nathan Whitehorn
>>  wrote:
>>>
>>> Author: nwhitehorn
>>> Date: Wed Mar 14 16:16:25 2018
>>> New Revision: 330930
>>> URL: https://svnweb.freebsd.org/changeset/base/330930
>>>
>>> Log:
>>>The expression (aim | fdt) is always true on PowerPC. The last PowerPC
>>>platform that can run without a device tree (PS3) still uses the
>>> OF_*()
>>>functions to check if one exists and OF_* is used unconditionally in
>>>core parts of the system like powerpc/machdep.c. Reflect this reality
>>>in files.powerpc, for example by changing occurrences of aim | fdt to
>>>standard.
>>>
>>> Modified:
>>>head/sys/conf/files.powerpc
>>>
>>> Modified: head/sys/conf/files.powerpc
>>>
>>> ==
>>> --- head/sys/conf/files.powerpc Wed Mar 14 14:45:57 2018(r330929)
>>> +++ head/sys/conf/files.powerpc Wed Mar 14 16:16:25 2018(r330930)
>>> @@ -32,7 +32,7 @@ dev/adb/adb_buttons.c optionaladb
>>>   dev/agp/agp_apple.coptionalagp powermac
>>>   dev/fb/fb.coptionalsc
>>>   # ofwbus depends on simplebus.
>>> -dev/fdt/simplebus.coptionalaim | fdt
>>> +dev/fdt/simplebus.coptionalstandard
>>>   dev/hwpmc/hwpmc_e500.c optionalhwpmc
>>>   dev/hwpmc/hwpmc_mpc7xxx.c  optionalhwpmc
>>>   dev/hwpmc/hwpmc_powerpc.c  optionalhwpmc
>>> @@ -55,7 +55,7 @@ dev/ofw/ofw_if.m  optionalaim
>>>   dev/ofw/ofw_bus_subr.c optionalaim
>>>   dev/ofw/ofw_console.c  optionalaim
>>>   dev/ofw/ofw_disk.c optionalofwd aim
>>> -dev/ofw/ofwbus.c   optionalaim | fdt
>>> +dev/ofw/ofwbus.c   optionalaim
>>
>> ofwbus is used by Book-E too, not just AIM.  And 'aim' is not defined
>> for Book-E platforms.  Maybe it should be 'standard' instead?
>>
>> - Justin
>>
>
> See the comment above this line (which isn't in the diff): ofwbus.c can also
> be brought in by conf/files through the definition of options FDT. This
> block is just a safety valve for (AIM && !FDT) to make sure we always get
> it. We could also mark all of these standard; config is smart enough to
> deduplicate things. Would you prefer that?
> -Nathan
>

Just mark them standard, since they are really standard.

- Justin
___
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: r330936 - head/sys/conf

2018-03-14 Thread Nathan Whitehorn
Author: nwhitehorn
Date: Wed Mar 14 18:07:40 2018
New Revision: 330936
URL: https://svnweb.freebsd.org/changeset/base/330936

Log:
  Fix fat-fingering ("optional standard") and move all the OF code to
  being marked "standard", which is less confusing than having it conditional
  on AIM CPUs here, and then picked up through options FDT from conf/files
  on Book-E.
  
  Request by:   jhibbits

Modified:
  head/sys/conf/files.powerpc

Modified: head/sys/conf/files.powerpc
==
--- head/sys/conf/files.powerpc Wed Mar 14 17:53:37 2018(r330935)
+++ head/sys/conf/files.powerpc Wed Mar 14 18:07:40 2018(r330936)
@@ -31,8 +31,6 @@ dev/adb/adb_if.m  optionaladb
 dev/adb/adb_buttons.c  optionaladb
 dev/agp/agp_apple.coptionalagp powermac
 dev/fb/fb.coptionalsc
-# ofwbus depends on simplebus.
-dev/fdt/simplebus.coptionalstandard
 dev/hwpmc/hwpmc_e500.c optionalhwpmc
 dev/hwpmc/hwpmc_mpc7xxx.c  optionalhwpmc
 dev/hwpmc/hwpmc_powerpc.c  optionalhwpmc
@@ -46,19 +44,21 @@ dev/iicbus/max6690.coptionalmax6690 
powermac
 dev/iicbus/ofw_iicbus.coptionaliicbus aim
 dev/nand/nfc_fsl.c optionalnand mpc85xx
 dev/nand/nfc_rb.c  optionalnand mpc85xx
-# ofw can be either aim or fdt: fdt case handled in files. aim only powerpc 
specific.
-dev/ofw/openfirm.c optionalaim
-dev/ofw/openfirmio.c   optionalaim
-dev/ofw/ofw_bus_if.m   optionalaim
-dev/ofw/ofw_cpu.c  optionalaim
-dev/ofw/ofw_if.m   optionalaim
-dev/ofw/ofw_bus_subr.c optionalaim
+# Most ofw stuff below is brought in by conf/files for options FDT, but
+# we always want it, even on non-FDT platforms.
+dev/fdt/simplebus.cstandard
+dev/ofw/openfirm.c standard
+dev/ofw/openfirmio.c   standard
+dev/ofw/ofw_bus_if.m   standard
+dev/ofw/ofw_cpu.c  standard
+dev/ofw/ofw_if.m   standard
+dev/ofw/ofw_bus_subr.c standard
 dev/ofw/ofw_console.c  optionalaim
 dev/ofw/ofw_disk.c optionalofwd aim
-dev/ofw/ofwbus.c   optionalaim
+dev/ofw/ofwbus.c   standard
 dev/ofw/ofwpci.c   optionalpci
 dev/ofw/ofw_standard.c optionalaim powerpc
-dev/ofw/ofw_subr.c optionalaim powerpc
+dev/ofw/ofw_subr.c standard
 dev/powermac_nvram/powermac_nvram.c optional   powermac_nvram powermac
 dev/quicc/quicc_bfe_fdt.c  optionalquicc mpc85xx
 dev/scc/scc_bfe_macio.coptionalscc powermac
___
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: r330930 - head/sys/conf

2018-03-14 Thread Nathan Whitehorn



On 03/14/18 10:59, Justin Hibbits wrote:

On Wed, Mar 14, 2018 at 12:53 PM, Nathan Whitehorn
 wrote:


On 03/14/18 09:19, Justin Hibbits wrote:

On Wed, Mar 14, 2018 at 11:16 AM, Nathan Whitehorn
 wrote:

Author: nwhitehorn
Date: Wed Mar 14 16:16:25 2018
New Revision: 330930
URL: https://svnweb.freebsd.org/changeset/base/330930

Log:
The expression (aim | fdt) is always true on PowerPC. The last PowerPC
platform that can run without a device tree (PS3) still uses the
OF_*()
functions to check if one exists and OF_* is used unconditionally in
core parts of the system like powerpc/machdep.c. Reflect this reality
in files.powerpc, for example by changing occurrences of aim | fdt to
standard.

Modified:
head/sys/conf/files.powerpc

Modified: head/sys/conf/files.powerpc

==
--- head/sys/conf/files.powerpc Wed Mar 14 14:45:57 2018(r330929)
+++ head/sys/conf/files.powerpc Wed Mar 14 16:16:25 2018(r330930)
@@ -32,7 +32,7 @@ dev/adb/adb_buttons.c optionaladb
   dev/agp/agp_apple.coptionalagp powermac
   dev/fb/fb.coptionalsc
   # ofwbus depends on simplebus.
-dev/fdt/simplebus.coptionalaim | fdt
+dev/fdt/simplebus.coptionalstandard
   dev/hwpmc/hwpmc_e500.c optionalhwpmc
   dev/hwpmc/hwpmc_mpc7xxx.c  optionalhwpmc
   dev/hwpmc/hwpmc_powerpc.c  optionalhwpmc
@@ -55,7 +55,7 @@ dev/ofw/ofw_if.m  optionalaim
   dev/ofw/ofw_bus_subr.c optionalaim
   dev/ofw/ofw_console.c  optionalaim
   dev/ofw/ofw_disk.c optionalofwd aim
-dev/ofw/ofwbus.c   optionalaim | fdt
+dev/ofw/ofwbus.c   optionalaim

ofwbus is used by Book-E too, not just AIM.  And 'aim' is not defined
for Book-E platforms.  Maybe it should be 'standard' instead?

- Justin


See the comment above this line (which isn't in the diff): ofwbus.c can also
be brought in by conf/files through the definition of options FDT. This
block is just a safety valve for (AIM && !FDT) to make sure we always get
it. We could also mark all of these standard; config is smart enough to
deduplicate things. Would you prefer that?
-Nathan


Just mark them standard, since they are really standard.

- Justin



Done in r330936.
-Nathan
___
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: r330937 - head/sys/dev/iscsi

2018-03-14 Thread Edward Tomasz Napierala
Author: trasz
Date: Wed Mar 14 18:27:06 2018
New Revision: 330937
URL: https://svnweb.freebsd.org/changeset/base/330937

Log:
  Fix typo in a warning message.
  
  MFC after:2 weeks

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

Modified: head/sys/dev/iscsi/iscsi.c
==
--- head/sys/dev/iscsi/iscsi.c  Wed Mar 14 18:07:40 2018(r330936)
+++ head/sys/dev/iscsi/iscsi.c  Wed Mar 14 18:27:06 2018(r330937)
@@ -1281,10 +1281,10 @@ iscsi_pdu_handle_async_message(struct icl_pdu *respons
iscsi_session_terminate(is);
break;
case BHSAM_EVENT_TARGET_TERMINATES_CONNECTION:
-   ISCSI_SESSION_WARN(is, "target indicates it will drop drop the 
connection");
+   ISCSI_SESSION_WARN(is, "target indicates it will drop the 
connection");
break;
case BHSAM_EVENT_TARGET_TERMINATES_SESSION:
-   ISCSI_SESSION_WARN(is, "target indicates it will drop drop the 
session");
+   ISCSI_SESSION_WARN(is, "target indicates it will drop the 
session");
break;
default:
/*
___
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: r330939 - in head: lib/libdpv lib/libfigpar usr.bin/dpv usr.sbin/bsdconfig

2018-03-14 Thread Devin Teske
Author: dteske
Date: Wed Mar 14 19:09:06 2018
New Revision: 330939
URL: https://svnweb.freebsd.org/changeset/base/330939

Log:
  Use full month in dpv(3), figpar(3), and bsdconfig(8) manuals
  
  Reported by:  maxim

Modified:
  head/lib/libdpv/dpv.3
  head/lib/libfigpar/figpar.3
  head/usr.bin/dpv/dpv.1
  head/usr.sbin/bsdconfig/bsdconfig.8

Modified: head/lib/libdpv/dpv.3
==
--- head/lib/libdpv/dpv.3   Wed Mar 14 19:04:40 2018(r330938)
+++ head/lib/libdpv/dpv.3   Wed Mar 14 19:09:06 2018(r330939)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd Mar 13, 2018
+.Dd March 13, 2018
 .Dt DPV 3
 .Os
 .Sh NAME

Modified: head/lib/libfigpar/figpar.3
==
--- head/lib/libfigpar/figpar.3 Wed Mar 14 19:04:40 2018(r330938)
+++ head/lib/libfigpar/figpar.3 Wed Mar 14 19:09:06 2018(r330939)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd Mar 13, 2018
+.Dd March 13, 2018
 .Dt FIGPAR 3
 .Os
 .Sh NAME

Modified: head/usr.bin/dpv/dpv.1
==
--- head/usr.bin/dpv/dpv.1  Wed Mar 14 19:04:40 2018(r330938)
+++ head/usr.bin/dpv/dpv.1  Wed Mar 14 19:09:06 2018(r330939)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd Jan 26, 2016
+.Dd January 26, 2016
 .Dt DPV 1
 .Os
 .Sh NAME

Modified: head/usr.sbin/bsdconfig/bsdconfig.8
==
--- head/usr.sbin/bsdconfig/bsdconfig.8 Wed Mar 14 19:04:40 2018
(r330938)
+++ head/usr.sbin/bsdconfig/bsdconfig.8 Wed Mar 14 19:09:06 2018
(r330939)
@@ -25,7 +25,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd Jun 5, 2013
+.Dd June 5, 2013
 .Dt BSDCONFIG 8
 .Os
 .Sh NAME
___
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: r330940 - head/share/misc

2018-03-14 Thread Baptiste Daroussin
Author: bapt
Date: Wed Mar 14 19:09:58 2018
New Revision: 330940
URL: https://svnweb.freebsd.org/changeset/base/330940

Log:
  Update to 2018-03-06
  
  MFC after:3 days

Modified:
  head/share/misc/pci_vendors

Modified: head/share/misc/pci_vendors
==
--- head/share/misc/pci_vendors Wed Mar 14 19:09:06 2018(r330939)
+++ head/share/misc/pci_vendors Wed Mar 14 19:09:58 2018(r330940)
@@ -1,9 +1,10 @@
 # $FreeBSD$
 
+#
 #  List of PCI ID's
 #
-#  Version: 2018.02.15
-#  Date:2018-02-15 03:15:01
+#  Version: 2018.03.06
+#  Date:2018-03-06 03:15:02
 #
 #  Maintained by Albert Pool, Martin Mares, and other volunteers from
 #  the PCI ID Project at http://pci-ids.ucw.cz/.
@@ -26,6 +27,17 @@
 0010  Allied Telesis, Inc (Wrong ID)
 # This is a relabelled RTL-8139
8139  AT-2500TX V3 Ethernet
+0014  Loongson Technology LLC
+   7a02  APB (Advanced Peripheral Bus) Controller
+   7a03  Gigabit Ethernet Controller
+   7a04  OTG USB Controller
+   7a05  Vivante GPU (Graphics Processing Unit)
+   7a06  DC (Display Controller)
+   7a07  HDA (High Definition Audio) Controller
+   7a08  SATA AHCI Controller
+   7a0f  DMA (Direct Memory Access) Controller
+   7a14  EHCI USB Controller
+   7a24  OHCI USB Controller
 001c  PEAK-System Technik GmbH
0001  PCAN-PCI CAN-Bus controller
001c 0004  2 Channel CAN Bus SJC1000
@@ -753,7 +765,9 @@
131b  Kaveri [Radeon R4 Graphics]
131c  Kaveri [Radeon R7 Graphics]
131d  Kaveri [Radeon R6 Graphics]
-   15dd  Vega [Radeon Vega 8 Mobile]
+   15dd  Raven Ridge [Radeon Vega Series / Radeon Vega Mobile Series]
+   103c 83c6  Radeon Vega 8 Mobile
+   1458 d000  Radeon RX Vega 11
15ff  Vega [Radeon Vega 28 Mobile]
1714  BeaverCreek HDMI Audio [Radeon HD 6500D and 6400G-6600G series]
103c 168b  ProBook 4535s
@@ -1601,10 +1615,12 @@
103c 2100  FirePro M4100
6602  Mars
6603  Mars
-   6604  Opal XT [Radeon R7 M265]
+   6604  Opal XT [Radeon R7 M265/M365X/M465]
103c 8006  FirePro M4170
+   103c 814f  Litho XT [Radeon R7 M365X]
+   103c 82aa  Litho XT [Radeon R7 M465]
17aa 3643  Radeon R7 A360
-   6605  Opal PRO [Radeon R7 M260]
+   6605  Opal PRO [Radeon R7 M260X]
103c 2259  FirePro M4150
6606  Mars XTX [Radeon HD 8790M]
1028 0684  FirePro W4170M
@@ -1679,6 +1695,7 @@
103c 80be  Radeon R5 M330
103c 8136  Radeon R5 M330
103c 8329  Radeon R7 M520
+   17aa 3633  Radeon R5 A330
17aa 3804  Radeon R5 M330
17aa 3809  Radeon R5 M330
17aa 381a  Radeon R5 M430
@@ -2298,8 +2315,11 @@
1043 04fb  Radeon RX 480
1043 04fd  Radeon RX 480 8GB
1458 22f0  Radeon RX 570
+   1458 22f7  Radeon RX 570 Gaming 4G
1462 3411  Radeon RX 470
1462 3413  Radeon RX 480
+   1462 3416  Radeon RX 570
+   1462 3418  Radeon RX 580 Armor 4G OC
148c 2372  Radeon RX 480
148c 2373  Radeon RX 470
1682 9470  Radeon RX 470
@@ -2334,7 +2354,14 @@
106b 0179  Radeon Pro 560
1642 1727  Polaris 21 XL [Radeon RX 560D]
1682 956d  Polaris 21 XL [Radeon RX 560D]
-   67ff  Baffin [Radeon RX 560]
+   67ff  Baffin [Radeon RX 550 640SP / RX 560]
+   1002 0b04  Radeon RX 560
+   1043 04bc  Radeon RX 560
+   1458 22ed  Radeon RX 560
+   148c 2381  Radeon RX 560
+   1682 9560  Radeon RX 560
+   1da2 e348  Radeon RX 560
+   1da2 e367  Radeon RX 550 640SP
6800  Wimbledon XT [Radeon HD 7970M]
1002 0124  Radeon HD 7970M
8086 2110  Radeon HD 7970M
@@ -2349,7 +2376,9 @@
6808  Pitcairn XT GL [FirePro W7000]
1002 0310  FirePro S7000
1002 0420  Radeon Sky 500
+   103c 030c  MED-X7000
13cc 3d25  MXRT-7500
+   15c3 030c  MED-X7000
6809  Pitcairn LE GL [FirePro W5000]
13cc 3d23  MXRT-5500
13cc 3d24  MXRT-5550
@@ -2411,8 +2440,6 @@
682d  Chelsea XT GL [FirePro M4000]
682f  Chelsea LP [Radeon HD 7730M]
103c 1851  Radeon HD 7750M
-   6830  Cape Verde [Radeon HD 7800M Series]
-   6831  Cape Verde [AMD Radeon HD 7700M Series]
6835  Cape Verde PRX [Radeon R9 255 OEM]
6837  Cape Verde LE [Radeon HD 7730/8730]
1462 2796  Radeon HD 8730
@@ -3026,6 +3053,7 @@
103c 2269  Radeon R7 M260
103c 22c

svn commit: r330943 - head/lib/libdpv

2018-03-14 Thread Devin Teske
Author: dteske
Date: Wed Mar 14 19:23:17 2018
New Revision: 330943
URL: https://svnweb.freebsd.org/changeset/base/330943

Log:
  Fix bad error messages from dpv(3)
  
  Before = dpv: <__func__>: posix_spawnp(3): No such file or directory
   After = dpv: : No such file or directory
  
  Most notably, show the 2nd argument being passed to posix_spawnp(3)
  so we know what path/cmd failed.
  
  Also, we don't need to have "posix_spawnp(3)" in the error message
  nor the function because that can [a] change and [b] traversed using
  a debugger if necessary.

Modified:
  head/lib/libdpv/dialog_util.c
  head/lib/libdpv/util.c

Modified: head/lib/libdpv/dialog_util.c
==
--- head/lib/libdpv/dialog_util.c   Wed Mar 14 19:18:35 2018
(r330942)
+++ head/lib/libdpv/dialog_util.c   Wed Mar 14 19:23:17 2018
(r330943)
@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2013-2014 Devin Teske 
+ * Copyright (c) 2013-2018 Devin Teske 
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -328,8 +328,7 @@ dialog_spawn_gauge(char *init_prompt, pid_t *pid)
posix_spawn_file_actions_addclose(&action, stdin_pipe[1]);
error = posix_spawnp(pid, dialog, &action,
(const posix_spawnattr_t *)NULL, dargv, environ);
-   if (error != 0)
-   err(EXIT_FAILURE, "%s: posix_spawnp(3)", __func__);
+   if (error != 0) err(EXIT_FAILURE, "%s", dialog);
 
/* NB: Do not free(3) *dargv[], else SIGSEGV */
 

Modified: head/lib/libdpv/util.c
==
--- head/lib/libdpv/util.c  Wed Mar 14 19:18:35 2018(r330942)
+++ head/lib/libdpv/util.c  Wed Mar 14 19:23:17 2018(r330943)
@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2013-2014 Devin Teske 
+ * Copyright (c) 2013-2018 Devin Teske 
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -100,8 +100,7 @@ shell_spawn_pipecmd(const char *cmd, const char *label
posix_spawn_file_actions_addclose(&action, stdin_pipe[1]);
error = posix_spawnp(pid, shellcmd, &action,
(const posix_spawnattr_t *)NULL, shellcmd_argv, environ);
-   if (error != 0)
-   err(EXIT_FAILURE, "%s: posix_spawnp(3)", __func__);
+   if (error != 0) err(EXIT_FAILURE, "%s", shellcmd);
 
return stdin_pipe[1];
 }
___
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: r330944 - head/sys/compat/linuxkpi/common/include/linux

2018-03-14 Thread Hans Petter Selasky
Author: hselasky
Date: Wed Mar 14 19:51:28 2018
New Revision: 330944
URL: https://svnweb.freebsd.org/changeset/base/330944

Log:
  Fix compliancy of the kstrtoXXX() functions in the LinuxKPI, by skipping
  one newline character at the end, if any.
  
  Found by: greg@unrelenting.technology
  MFC after:1 week
  Sponsored by: Mellanox Technologies

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

Modified: head/sys/compat/linuxkpi/common/include/linux/kernel.h
==
--- head/sys/compat/linuxkpi/common/include/linux/kernel.h  Wed Mar 14 
19:23:17 2018(r330943)
+++ head/sys/compat/linuxkpi/common/include/linux/kernel.h  Wed Mar 14 
19:51:28 2018(r330944)
@@ -295,6 +295,9 @@ kstrtoul(const char *cp, unsigned int base, unsigned l
 
*res = strtoul(cp, &end, base);
 
+   /* skip newline character, if any */
+   if (*end == '\n')
+   end++;
if (*cp == 0 || *end != 0)
return (-EINVAL);
return (0);
@@ -307,6 +310,9 @@ kstrtol(const char *cp, unsigned int base, long *res)
 
*res = strtol(cp, &end, base);
 
+   /* skip newline character, if any */
+   if (*end == '\n')
+   end++;
if (*cp == 0 || *end != 0)
return (-EINVAL);
return (0);
@@ -320,6 +326,9 @@ kstrtoint(const char *cp, unsigned int base, int *res)
 
*res = temp = strtol(cp, &end, base);
 
+   /* skip newline character, if any */
+   if (*end == '\n')
+   end++;
if (*cp == 0 || *end != 0)
return (-EINVAL);
if (temp != (int)temp)
@@ -335,6 +344,9 @@ kstrtouint(const char *cp, unsigned int base, unsigned
 
*res = temp = strtoul(cp, &end, base);
 
+   /* skip newline character, if any */
+   if (*end == '\n')
+   end++;
if (*cp == 0 || *end != 0)
return (-EINVAL);
if (temp != (unsigned int)temp)
@@ -350,6 +362,9 @@ kstrtou32(const char *cp, unsigned int base, u32 *res)
 
*res = temp = strtoul(cp, &end, base);
 
+   /* skip newline character, if any */
+   if (*end == '\n')
+   end++;
if (*cp == 0 || *end != 0)
return (-EINVAL);
if (temp != (u32)temp)
___
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: r330945 - head/sys/modules/isp

2018-03-14 Thread Brooks Davis
Author: brooks
Date: Wed Mar 14 20:07:52 2018
New Revision: 330945
URL: https://svnweb.freebsd.org/changeset/base/330945

Log:
  Add opt_compat.h to isp(4) as required by r330876.
  
  MFC with: r330876

Modified:
  head/sys/modules/isp/Makefile

Modified: head/sys/modules/isp/Makefile
==
--- head/sys/modules/isp/Makefile   Wed Mar 14 19:51:28 2018
(r330944)
+++ head/sys/modules/isp/Makefile   Wed Mar 14 20:07:52 2018
(r330945)
@@ -4,7 +4,7 @@
 
 KMOD=  isp
 SRCS=  bus_if.h device_if.h pci_if.h \
-   opt_cam.h opt_ddb.h opt_isp.h \
+   opt_cam.h opt_compat.h opt_ddb.h opt_isp.h \
isp.c isp_library.c isp_target.c isp_freebsd.c isp_pci.c
 
 .if ${MACHINE} == sparc64
___
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: r330946 - head/sys/dev/cxgbe/tom

2018-03-14 Thread John Baldwin
Author: jhb
Date: Wed Mar 14 20:46:25 2018
New Revision: 330946
URL: https://svnweb.freebsd.org/changeset/base/330946

Log:
  Remove TLS-related inlines from t4_tom.h to fix iw_cxgbe(4) build.
  
  - Remove the one use of is_tls_offload() and the function.  AIO special
handling only needs to be disabled when a TOE socket is actively doing
TLS offload on transmit.  The TOE socket's mode (which affects receive
operation) doesn't matter, so remove the check for the socket's mode and
only check if a TOE socket has TLS transmit keys configured to determine
if an AIO write request should fall back to the normal socket handling
instead of the TOE fast path.
  - Move can_tls_offload() into t4_tls.c.  It is not used in critical paths,
so inlining isn't that important.  Change return type to bool while here.
  
  Sponsored by: Chelsio Communications

Modified:
  head/sys/dev/cxgbe/tom/t4_cpl_io.c
  head/sys/dev/cxgbe/tom/t4_tls.c
  head/sys/dev/cxgbe/tom/t4_tom.h

Modified: head/sys/dev/cxgbe/tom/t4_cpl_io.c
==
--- head/sys/dev/cxgbe/tom/t4_cpl_io.c  Wed Mar 14 20:07:52 2018
(r330945)
+++ head/sys/dev/cxgbe/tom/t4_cpl_io.c  Wed Mar 14 20:46:25 2018
(r330946)
@@ -2357,7 +2357,7 @@ t4_aio_queue_aiotx(struct socket *so, struct kaiocb *j
if (!sc->tt.tx_zcopy)
return (EOPNOTSUPP);
 
-   if (is_tls_offload(toep) || tls_tx_key(toep))
+   if (tls_tx_key(toep))
return (EOPNOTSUPP);
 
SOCKBUF_LOCK(&so->so_snd);

Modified: head/sys/dev/cxgbe/tom/t4_tls.c
==
--- head/sys/dev/cxgbe/tom/t4_tls.c Wed Mar 14 20:07:52 2018
(r330945)
+++ head/sys/dev/cxgbe/tom/t4_tls.c Wed Mar 14 20:46:25 2018
(r330946)
@@ -73,6 +73,13 @@ t4_set_tls_tcb_field(struct toepcb *toep, uint16_t wor
 }
 
 /* TLS and DTLS common routines */
+bool
+can_tls_offload(struct adapter *sc)
+{
+
+   return (sc->tt.tls && sc->cryptocaps & FW_CAPS_CONFIG_TLSKEYS);
+}
+
 int
 tls_tx_key(struct toepcb *toep)
 {

Modified: head/sys/dev/cxgbe/tom/t4_tom.h
==
--- head/sys/dev/cxgbe/tom/t4_tom.h Wed Mar 14 20:07:52 2018
(r330945)
+++ head/sys/dev/cxgbe/tom/t4_tom.h Wed Mar 14 20:46:25 2018
(r330946)
@@ -321,18 +321,6 @@ mbuf_ulp_submode(struct mbuf *m)
return (m->m_pkthdr.PH_per.eight[0]);
 }
 
-static inline int
-is_tls_offload(struct toepcb *toep)
-{
-   return (toep->ulp_mode == ULP_MODE_TLS);
-}
-
-static inline int
-can_tls_offload(struct adapter *sc)
-{
-   return (sc->tt.tls && sc->cryptocaps & FW_CAPS_CONFIG_TLSKEYS);
-}
-
 /* t4_tom.c */
 struct toepcb *alloc_toepcb(struct vi_info *, int, int, int);
 struct toepcb *hold_toepcb(struct toepcb *);
@@ -430,6 +418,7 @@ void handle_ddp_tcb_rpl(struct toepcb *, const struct 
 void insert_ddp_data(struct toepcb *, uint32_t);
 
 /* t4_tls.c */
+bool can_tls_offload(struct adapter *);
 int t4_ctloutput_tls(struct socket *, struct sockopt *);
 void t4_push_tls_records(struct adapter *, struct toepcb *, int);
 void t4_tls_mod_load(void);
___
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: r330947 - head/sys/dev/cxgbe/tom

2018-03-14 Thread John Baldwin
Author: jhb
Date: Wed Mar 14 20:49:51 2018
New Revision: 330947
URL: https://svnweb.freebsd.org/changeset/base/330947

Log:
  Fix the check for an empty send socket buffer on a TOE TLS socket.
  
  Compare sbavail() with the cached sb_off of already-sent data instead of
  always comparing with zero.  This will correctly close the connection and
  send the FIN if the socket buffer contains some previously-sent data but
  no unsent data.
  
  Reported by:  Harsh Jain @ Chelsio
  Sponsored by: Chelsio Communications

Modified:
  head/sys/dev/cxgbe/tom/t4_tls.c

Modified: head/sys/dev/cxgbe/tom/t4_tls.c
==
--- head/sys/dev/cxgbe/tom/t4_tls.c Wed Mar 14 20:46:25 2018
(r330946)
+++ head/sys/dev/cxgbe/tom/t4_tls.c Wed Mar 14 20:49:51 2018
(r330947)
@@ -1175,7 +1175,8 @@ t4_push_tls_records(struct adapter *sc, struct toepcb 
 * Send a FIN if requested, but only if there's no
 * more data to send.
 */
-   if (sbavail(sb) == 0 && toep->flags & TPF_SEND_FIN) {
+   if (sbavail(sb) == tls_ofld->sb_off &&
+   toep->flags & TPF_SEND_FIN) {
if (sowwakeup)
sowwakeup_locked(so);
else
___
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: r330948 - in head/lib: libdpv libfigpar

2018-03-14 Thread Devin Teske
Author: dteske
Date: Wed Mar 14 20:55:28 2018
New Revision: 330948
URL: https://svnweb.freebsd.org/changeset/base/330948

Log:
  Bump copyright following recent changes

Modified:
  head/lib/libdpv/dpv.3
  head/lib/libfigpar/figpar.3

Modified: head/lib/libdpv/dpv.3
==
--- head/lib/libdpv/dpv.3   Wed Mar 14 20:49:51 2018(r330947)
+++ head/lib/libdpv/dpv.3   Wed Mar 14 20:55:28 2018(r330948)
@@ -1,4 +1,4 @@
-.\" Copyright (c) 2013-2016 Devin Teske
+.\" Copyright (c) 2013-2018 Devin Teske
 .\" All rights reserved.
 .\"
 .\" Redistribution and use in source and binary forms, with or without

Modified: head/lib/libfigpar/figpar.3
==
--- head/lib/libfigpar/figpar.3 Wed Mar 14 20:49:51 2018(r330947)
+++ head/lib/libfigpar/figpar.3 Wed Mar 14 20:55:28 2018(r330948)
@@ -1,4 +1,4 @@
-.\" Copyright (c) 2013-2015 Devin Teske 
+.\" Copyright (c) 2013-2018 Devin Teske 
 .\" All rights reserved.
 .\"
 .\" Redistribution and use in source and binary forms, with or without
___
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: r330949 - in head/sys: dev/aac dev/aacraid modules/aac modules/aacraid sys

2018-03-14 Thread Brooks Davis
Author: brooks
Date: Wed Mar 14 21:11:41 2018
New Revision: 330949
URL: https://svnweb.freebsd.org/changeset/base/330949

Log:
  Fix FSACTL_GET_NEXT_ADAPTER_FIB under 32-bit compat.
  
  This includes FSACTL_LNX_GET_NEXT_ADAPTER_FIB.
  
  Reviewed by:  cem
  Obtained from:CheriBSD
  MFC after:1 week
  Sponsored by: DARPA, AFRL
  Differential Revision:https://reviews.freebsd.org/D14672

Modified:
  head/sys/dev/aac/aac.c
  head/sys/dev/aacraid/aacraid.c
  head/sys/modules/aac/Makefile
  head/sys/modules/aacraid/Makefile
  head/sys/sys/aac_ioctl.h

Modified: head/sys/dev/aac/aac.c
==
--- head/sys/dev/aac/aac.c  Wed Mar 14 20:55:28 2018(r330948)
+++ head/sys/dev/aac/aac.c  Wed Mar 14 21:11:41 2018(r330949)
@@ -38,6 +38,7 @@ __FBSDID("$FreeBSD$");
 #define AAC_DRIVERNAME "aac"
 
 #include "opt_aac.h"
+#include "opt_compat.h"
 
 /* #include  */
 #include 
@@ -45,7 +46,9 @@ __FBSDID("$FreeBSD$");
 #include 
 #include 
 #include 
+#include 
 #include 
+#include 
 #include 
 #include 
 
@@ -3521,7 +3524,19 @@ aac_getnext_aif(struct aac_softc *sc, caddr_t arg)
 
fwprintf(sc, HBA_FLAGS_DBG_FUNCTION_ENTRY_B, "");
 
-   if ((error = copyin(arg, &agf, sizeof(agf))) == 0) {
+#ifdef COMPAT_FREEBSD32
+   if (SV_CURPROC_FLAG(SV_ILP32)) {
+   struct get_adapter_fib_ioctl32 agf32;
+   error = copyin(arg, &agf32, sizeof(agf32));
+   if (error == 0) {
+   agf.AdapterFibContext = agf32.AdapterFibContext;
+   agf.Wait = agf32.Wait;
+   agf.AifFib = (caddr_t)(uintptr_t)agf32.AifFib;
+   }
+   } else
+#endif
+   error = copyin(arg, &agf, sizeof(agf));
+   if (error == 0) {
for (ctx = sc->fibctx; ctx; ctx = ctx->next) {
if (agf.AdapterFibContext == ctx->unique)
break;

Modified: head/sys/dev/aacraid/aacraid.c
==
--- head/sys/dev/aacraid/aacraid.c  Wed Mar 14 20:55:28 2018
(r330948)
+++ head/sys/dev/aacraid/aacraid.c  Wed Mar 14 21:11:41 2018
(r330949)
@@ -39,6 +39,7 @@ __FBSDID("$FreeBSD$");
 #define AAC_DRIVERNAME "aacraid"
 
 #include "opt_aacraid.h"
+#include "opt_compat.h"
 
 /* #include  */
 #include 
@@ -46,7 +47,9 @@ __FBSDID("$FreeBSD$");
 #include 
 #include 
 #include 
+#include 
 #include 
+#include 
 #include 
 #include 
 
@@ -3381,7 +3384,19 @@ aac_getnext_aif(struct aac_softc *sc, caddr_t arg)
fwprintf(sc, HBA_FLAGS_DBG_FUNCTION_ENTRY_B, "");
 
mtx_lock(&sc->aac_io_lock);
-   if ((error = copyin(arg, &agf, sizeof(agf))) == 0) {
+#ifdef COMPAT_FREEBSD32
+   if (SV_CURPROC_FLAG(SV_ILP32)) {
+   struct get_adapter_fib_ioctl32 agf32;
+   error = copyin(arg, &agf32, sizeof(agf32));
+   if (error == 0) {
+   agf.AdapterFibContext = agf32.AdapterFibContext;
+   agf.Wait = agf32.Wait;
+   agf.AifFib = (caddr_t)(uintptr_t)agf32.AifFib;
+   }
+   } else
+#endif
+   error = copyin(arg, &agf, sizeof(agf));
+   if (error == 0) {
for (ctx = sc->fibctx; ctx; ctx = ctx->next) {
if (agf.AdapterFibContext == ctx->unique)
break;

Modified: head/sys/modules/aac/Makefile
==
--- head/sys/modules/aac/Makefile   Wed Mar 14 20:55:28 2018
(r330948)
+++ head/sys/modules/aac/Makefile   Wed Mar 14 21:11:41 2018
(r330949)
@@ -8,7 +8,7 @@ SUBDIR= aac_linux
 
 KMOD=  aac
 SRCS=  aac.c aac_pci.c aac_disk.c aac_cam.c
-SRCS+= opt_scsi.h opt_cam.h opt_aac.h
+SRCS+= opt_scsi.h opt_cam.h opt_compat.h opt_aac.h
 SRCS+= device_if.h bus_if.h pci_if.h
 
 # To enable debug output from the driver, uncomment these two lines.

Modified: head/sys/modules/aacraid/Makefile
==
--- head/sys/modules/aacraid/Makefile   Wed Mar 14 20:55:28 2018
(r330948)
+++ head/sys/modules/aacraid/Makefile   Wed Mar 14 21:11:41 2018
(r330949)
@@ -8,7 +8,7 @@ SUBDIR= aacraid_linux
 
 KMOD=  aacraid
 SRCS=  aacraid.c aacraid_pci.c aacraid_cam.c
-SRCS+= opt_scsi.h opt_cam.h opt_aacraid.h
+SRCS+= opt_scsi.h opt_cam.h opt_compat.h opt_aacraid.h
 SRCS+= device_if.h bus_if.h pci_if.h
 
 # To enable debug output from the driver, uncomment these two lines.

Modified: head/sys/sys/aac_ioctl.h
==
--- head/sys/sys/aac_ioctl.hWed Mar 14 20:55:28 2018(r330948)
+++ head/sys/sys/aac_ioctl.hWed Mar 14 21:11:41 2018(r330949)
@@ -175,6 +17

svn commit: r330950 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

2018-03-14 Thread Steven Hartland
Author: smh
Date: Wed Mar 14 21:21:03 2018
New Revision: 330950
URL: https://svnweb.freebsd.org/changeset/base/330950

Log:
  Prevent ZFS TRIM breaking VTOC8 partitions
  
  Update the ZFS TRIM code to ensure it respects VTOC8 partition headers as
  documented by the ZFS On-Disk Specification section 1.3
  
  Before this a zpool create on a VTOC8 partitioned device would overwrite the
  partition metadata.
  
  Reported by:  marius
  Reviewed by:  marius agv
  MFC after:1 week
  Sponsored by: Multiplay

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c
==
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.cWed Mar 
14 21:11:41 2018(r330949)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.cWed Mar 
14 21:21:03 2018(r330950)
@@ -802,7 +802,9 @@ vdev_label_init(vdev_t *vd, uint64_t crtxg, vdev_label
}
 
/*
-* TRIM the whole thing so that we start with a clean slate.
+* TRIM the whole thing, excluding the blank space and boot header
+* as specified by ZFS On-Disk Specification (section 1.3), so that
+* we start with a clean slate.
 * It's just an optimization, so we don't care if it fails.
 * Don't TRIM if removing so that we don't interfere with zpool
 * disaster recovery.
@@ -810,7 +812,8 @@ vdev_label_init(vdev_t *vd, uint64_t crtxg, vdev_label
if (zfs_trim_enabled && vdev_trim_on_init && !vd->vdev_notrim && 
(reason == VDEV_LABEL_CREATE || reason == VDEV_LABEL_SPARE ||
reason == VDEV_LABEL_L2CACHE))
-   zio_wait(zio_trim(NULL, spa, vd, 0, vd->vdev_psize));
+   zio_wait(zio_trim(NULL, spa, vd, VDEV_SKIP_SIZE,
+   vd->vdev_psize - VDEV_SKIP_SIZE));
 
/*
 * Initialize its label.
___
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: r330950 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

2018-03-14 Thread Steven Hartland

Missed the differential review: https://reviews.freebsd.org/D14695

On 14/03/2018 21:21, Steven Hartland wrote:

Author: smh
Date: Wed Mar 14 21:21:03 2018
New Revision: 330950
URL: https://svnweb.freebsd.org/changeset/base/330950

Log:
   Prevent ZFS TRIM breaking VTOC8 partitions
   
   Update the ZFS TRIM code to ensure it respects VTOC8 partition headers as

   documented by the ZFS On-Disk Specification section 1.3
   
   Before this a zpool create on a VTOC8 partitioned device would overwrite the

   partition metadata.
   
   Reported by:	marius

   Reviewed by: marius agv
   MFC after:   1 week
   Sponsored by:Multiplay

Modified:
   head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c
==
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.cWed Mar 
14 21:11:41 2018(r330949)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.cWed Mar 
14 21:21:03 2018(r330950)
@@ -802,7 +802,9 @@ vdev_label_init(vdev_t *vd, uint64_t crtxg, vdev_label
}
  
  	/*

-* TRIM the whole thing so that we start with a clean slate.
+* TRIM the whole thing, excluding the blank space and boot header
+* as specified by ZFS On-Disk Specification (section 1.3), so that
+* we start with a clean slate.
 * It's just an optimization, so we don't care if it fails.
 * Don't TRIM if removing so that we don't interfere with zpool
 * disaster recovery.
@@ -810,7 +812,8 @@ vdev_label_init(vdev_t *vd, uint64_t crtxg, vdev_label
if (zfs_trim_enabled && vdev_trim_on_init && !vd->vdev_notrim &&
(reason == VDEV_LABEL_CREATE || reason == VDEV_LABEL_SPARE ||
reason == VDEV_LABEL_L2CACHE))
-   zio_wait(zio_trim(NULL, spa, vd, 0, vd->vdev_psize));
+   zio_wait(zio_trim(NULL, spa, vd, VDEV_SKIP_SIZE,
+   vd->vdev_psize - VDEV_SKIP_SIZE));
  
  	/*

 * Initialize its label.



___
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: r330951 - head/sys/dev/mps

2018-03-14 Thread Steven Hartland
Author: smh
Date: Wed Mar 14 21:32:23 2018
New Revision: 330951
URL: https://svnweb.freebsd.org/changeset/base/330951

Log:
  Fix mps deadlock when handling panic
  
  During shutdown mps waits for its SSU requests to complete however when
  performing a reboot after handling a panic the scheduler is stopped so
  getmicrotime which is used can be non-functional.
  
  Switch to using the same method as shutdown_panic to ensure we actually
  complete.
  
  In addition reduce the timeout when RB_NOSYNC is set in howto as we expect
  this to fail.
  
  Reviewed by:  slm
  MFC after:1 week
  Sponsored by: Multiplay
  Differential Revision:https://reviews.freebsd.org/D12776

Modified:
  head/sys/dev/mps/mps_sas_lsi.c
  head/sys/dev/mps/mpsvar.h

Modified: head/sys/dev/mps/mps_sas_lsi.c
==
--- head/sys/dev/mps/mps_sas_lsi.c  Wed Mar 14 21:21:03 2018
(r330950)
+++ head/sys/dev/mps/mps_sas_lsi.c  Wed Mar 14 21:32:23 2018
(r330951)
@@ -52,6 +52,7 @@ __FBSDID("$FreeBSD$");
 #include 
 #include 
 #include 
+#include 
 
 #include 
 #include 
@@ -126,7 +127,7 @@ int mpssas_get_sas_address_for_sata_disk(struct mps_so
 u64 *sas_address, u16 handle, u32 device_info, u8 *is_SATA_SSD);
 static int mpssas_volume_add(struct mps_softc *sc,
 u16 handle);
-static void mpssas_SSU_to_SATA_devices(struct mps_softc *sc);
+static void mpssas_SSU_to_SATA_devices(struct mps_softc *sc, int howto);
 static void mpssas_stop_unit_done(struct cam_periph *periph,
 union ccb *done_ccb);
 
@@ -1122,7 +1123,7 @@ out:
  * Return nothing.
  */
 static void
-mpssas_SSU_to_SATA_devices(struct mps_softc *sc)
+mpssas_SSU_to_SATA_devices(struct mps_softc *sc, int howto)
 {
struct mpssas_softc *sassc = sc->sassc;
union ccb *ccb;
@@ -1130,7 +1131,7 @@ mpssas_SSU_to_SATA_devices(struct mps_softc *sc)
target_id_t targetid;
struct mpssas_target *target;
char path_str[64];
-   struct timeval cur_time, start_time;
+   int timeout;
 
/*
 * For each target, issue a StartStopUnit command to stop the device.
@@ -1193,17 +1194,23 @@ mpssas_SSU_to_SATA_devices(struct mps_softc *sc)
}
 
/*
-* Wait until all of the SSU commands have completed or time has
-* expired (60 seconds).  Pause for 100ms each time through.  If any
-* command times out, the target will be reset in the SCSI command
-* timeout routine.
+* Timeout after 60 seconds by default or 10 seconds if howto has
+* RB_NOSYNC set which indicates we're likely handling a panic.
 */
-   getmicrotime(&start_time);
-   while (sc->SSU_refcount) {
+   timeout = 600;
+   if (howto & RB_NOSYNC)
+   timeout = 100;
+
+   /*
+* Wait until all of the SSU commands have completed or timeout has
+* expired.  Pause for 100ms each time through.  If any command
+* times out, the target will be reset in the SCSI command timeout
+* routine.
+*/
+   while (sc->SSU_refcount > 0) {
pause("mpswait", hz/10);

-   getmicrotime(&cur_time);
-   if ((cur_time.tv_sec - start_time.tv_sec) > 60) {
+   if (--timeout == 0) {
mps_dprint(sc, MPS_FAULT, "Time has expired waiting "
"for SSU commands to complete.\n");
break;
@@ -1245,7 +1252,7 @@ mpssas_stop_unit_done(struct cam_periph *periph, union
  * Return nothing.
  */
 void
-mpssas_ir_shutdown(struct mps_softc *sc)
+mpssas_ir_shutdown(struct mps_softc *sc, int howto)
 {
u16 volume_mapping_flags;
u16 ioc_pg8_flags = le16toh(sc->ioc_pg8.Flags);
@@ -1350,5 +1357,5 @@ out:
}
}
}
-   mpssas_SSU_to_SATA_devices(sc);
+   mpssas_SSU_to_SATA_devices(sc, howto);
 }

Modified: head/sys/dev/mps/mpsvar.h
==
--- head/sys/dev/mps/mpsvar.h   Wed Mar 14 21:21:03 2018(r330950)
+++ head/sys/dev/mps/mpsvar.h   Wed Mar 14 21:32:23 2018(r330951)
@@ -772,7 +772,7 @@ int mps_config_get_volume_wwid(struct mps_softc *sc, u
 int mps_config_get_raid_pd_pg0(struct mps_softc *sc,
 Mpi2ConfigReply_t *mpi_reply, Mpi2RaidPhysDiskPage0_t *config_page,
 u32 page_address);
-void mpssas_ir_shutdown(struct mps_softc *sc);
+void mpssas_ir_shutdown(struct mps_softc *sc, int howto);
 
 int mps_reinit(struct mps_softc *sc);
 void mpssas_handle_reinit(struct mps_softc *sc);
___
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: r330952 - head/sys/kern

2018-03-14 Thread Conrad Meyer
Author: cem
Date: Wed Mar 14 22:11:45 2018
New Revision: 330952
URL: https://svnweb.freebsd.org/changeset/base/330952

Log:
  vfs_bio.c: Apply cleanups motivated by Coverity analysis
  
  It is believed that the conditions Coverity indicated were actually
  impossible to hit.  So this patch just adds a cleanup to only compute
  v_mount once in brelse(), and in vfs_bio_getpages() always initializes error
  to zero to appease the static analyzer.
  
  No functional change intended.
  
  Submitted by: Darrick Lew 
  Reviewed by:  kib
  Sponsored by: Dell EMC Isilon
  Differential Revision:https://reviews.freebsd.org/D14613

Modified:
  head/sys/kern/vfs_bio.c

Modified: head/sys/kern/vfs_bio.c
==
--- head/sys/kern/vfs_bio.c Wed Mar 14 21:32:23 2018(r330951)
+++ head/sys/kern/vfs_bio.c Wed Mar 14 22:11:45 2018(r330952)
@@ -2450,6 +2450,7 @@ buf_dirty_count_severe(void)
 void
 brelse(struct buf *bp)
 {
+   struct mount *v_mnt;
int qindex;
 
/*
@@ -2560,11 +2561,13 @@ brelse(struct buf *bp)
 * around to prevent it from being reconstituted and starting a second
 * background write.
 */
+
+   v_mnt = bp->b_vp != NULL ? bp->b_vp->v_mount : NULL;
+
if ((bp->b_flags & B_VMIO) && (bp->b_flags & B_NOCACHE ||
(bp->b_ioflags & BIO_ERROR && bp->b_iocmd == BIO_READ)) &&
-   !(bp->b_vp->v_mount != NULL &&
-   (bp->b_vp->v_mount->mnt_vfc->vfc_flags & VFCF_NETWORK) != 0 &&
-   !vn_isdisk(bp->b_vp, NULL) && (bp->b_flags & B_DELWRI))) {
+   (v_mnt == NULL || (v_mnt->mnt_vfc->vfc_flags & VFCF_NETWORK) == 0 ||
+   vn_isdisk(bp->b_vp, NULL) || (bp->b_flags & B_DELWRI) == 0)) {
vfs_vmio_invalidate(bp);
allocbuf(bp, 0);
}
@@ -4977,6 +4980,7 @@ vfs_bio_getpages(struct vnode *vp, vm_page_t *ma, int 
 
object = vp->v_object;
mp = vp->v_mount;
+   error = 0;
la = IDX_TO_OFF(ma[count - 1]->pindex);
if (la >= object->un_pager.vnp.vnp_size)
return (VM_PAGER_BAD);
___
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: r330952 - head/sys/kern

2018-03-14 Thread Ravi Pokala
-Original Message-
From:  on behalf of Conrad Meyer 

Date: 2018-03-14, Wednesday at 15:11
To: , , 

Subject: svn commit: r330952 - head/sys/kern

> Author: cem
> Date: Wed Mar 14 22:11:45 2018
> New Revision: 330952
> URL: https://svnweb.freebsd.org/changeset/base/330952
> 
> Log:
>   vfs_bio.c: Apply cleanups motivated by Coverity analysis
  
What's the Coverity ID?

Thanks,

Ravi (rpokala@)



___
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: r329984 - in head: cddl/contrib/opensolaris/lib/libzpool/common sys/cddl/compat/opensolaris/sys

2018-03-14 Thread Shawn Webb
On Sun, Feb 25, 2018 at 02:29:43PM +, Alan Somers wrote:
> Author: asomers
> Date: Sun Feb 25 14:29:43 2018
> New Revision: 329984
> URL: https://svnweb.freebsd.org/changeset/base/329984
> 
> Log:
>   Don't declare __assfail as static
>   
>   It gets called by dmu_buf_init_user, which is inline but not static.  So it
>   needs global linkage itself.
>   
>   Reported by:GCC-6
>   MFC after:  17 days
>   X-MFC-With: 329722
> 

Hey Alan,

This commit breaks compiling world with ASAN.

Some applications, like zfs, will fail with this error:

/lib/libuutil.so.2: Undefined symbol "__assfail"

Thanks,

-- 
Shawn Webb
Cofounder and Security Engineer
HardenedBSD

Tor-ified Signal:+1 443-546-8752
GPG Key ID:  0x6A84658F52456EEE
GPG Key Fingerprint: 2ABA B6BD EF6A F486 BE89  3D9E 6A84 658F 5245 6EEE


signature.asc
Description: PGP signature


Re: svn commit: r329984 - in head: cddl/contrib/opensolaris/lib/libzpool/common sys/cddl/compat/opensolaris/sys

2018-03-14 Thread Alan Somers
On Wed, Mar 14, 2018 at 4:50 PM, Shawn Webb 
wrote:

> On Sun, Feb 25, 2018 at 02:29:43PM +, Alan Somers wrote:
> > Author: asomers
> > Date: Sun Feb 25 14:29:43 2018
> > New Revision: 329984
> > URL: https://svnweb.freebsd.org/changeset/base/329984
> >
> > Log:
> >   Don't declare __assfail as static
> >
> >   It gets called by dmu_buf_init_user, which is inline but not static.
> So it
> >   needs global linkage itself.
> >
> >   Reported by:GCC-6
> >   MFC after:  17 days
> >   X-MFC-With: 329722
> >
>
> Hey Alan,
>
> This commit breaks compiling world with ASAN.
>
> Some applications, like zfs, will fail with this error:
>
> /lib/libuutil.so.2: Undefined symbol "__assfail"
>
> Thanks,
>

How does one build world with ASAN ?
___
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: r330952 - head/sys/kern

2018-03-14 Thread Conrad Meyer
I believe they didn't come from the public FreeBSD Coverity instance,
and I don't think ID numbers are portable between instances.  You
might be able to look up similar issues in the public instance,
though.

Best,
Conrad

On Wed, Mar 14, 2018 at 3:20 PM, Ravi Pokala  wrote:
> -Original Message-
> From:  on behalf of Conrad Meyer 
> 
> Date: 2018-03-14, Wednesday at 15:11
> To: , , 
> 
> Subject: svn commit: r330952 - head/sys/kern
>
>> Author: cem
>> Date: Wed Mar 14 22:11:45 2018
>> New Revision: 330952
>> URL: https://svnweb.freebsd.org/changeset/base/330952
>>
>> Log:
>>   vfs_bio.c: Apply cleanups motivated by Coverity analysis
>
> What's the Coverity ID?
>
> Thanks,
>
> Ravi (rpokala@)
>
>
>
___
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: r330952 - head/sys/kern

2018-03-14 Thread Alan Somers
Well, you _would_ be able to, except the public instance has been down for
3 weeks :(
https://scan.coverity.com/

On Wed, Mar 14, 2018 at 4:46 PM, Conrad Meyer  wrote:

> I believe they didn't come from the public FreeBSD Coverity instance,
> and I don't think ID numbers are portable between instances.  You
> might be able to look up similar issues in the public instance,
> though.
>
> Best,
> Conrad
>
> On Wed, Mar 14, 2018 at 3:20 PM, Ravi Pokala  wrote:
> > -Original Message-
> > From:  on behalf of Conrad Meyer
> 
> > Date: 2018-03-14, Wednesday at 15:11
> > To: , , <
> svn-src-head@freebsd.org>
> > Subject: svn commit: r330952 - head/sys/kern
> >
> >> Author: cem
> >> Date: Wed Mar 14 22:11:45 2018
> >> New Revision: 330952
> >> URL: https://svnweb.freebsd.org/changeset/base/330952
> >>
> >> Log:
> >>   vfs_bio.c: Apply cleanups motivated by Coverity analysis
> >
> > What's the Coverity ID?
> >
> > Thanks,
> >
> > Ravi (rpokala@)
> >
> >
> >
>
>
___
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: r329984 - in head: cddl/contrib/opensolaris/lib/libzpool/common sys/cddl/compat/opensolaris/sys

2018-03-14 Thread Shawn Webb
On Wed, Mar 14, 2018 at 04:51:27PM -0600, Alan Somers wrote:
> On Wed, Mar 14, 2018 at 4:50 PM, Shawn Webb 
> wrote:
> 
> > On Sun, Feb 25, 2018 at 02:29:43PM +, Alan Somers wrote:
> > > Author: asomers
> > > Date: Sun Feb 25 14:29:43 2018
> > > New Revision: 329984
> > > URL: https://svnweb.freebsd.org/changeset/base/329984
> > >
> > > Log:
> > >   Don't declare __assfail as static
> > >
> > >   It gets called by dmu_buf_init_user, which is inline but not static.
> > So it
> > >   needs global linkage itself.
> > >
> > >   Reported by:GCC-6
> > >   MFC after:  17 days
> > >   X-MFC-With: 329722
> > >
> >
> > Hey Alan,
> >
> > This commit breaks compiling world with ASAN.
> >
> > Some applications, like zfs, will fail with this error:
> >
> > /lib/libuutil.so.2: Undefined symbol "__assfail"
> >
> > Thanks,
> >
> 
> How does one build world with ASAN ?

HardenedBSD has a feature branch in its playground repo for ASAN-ified
world.

We introduced two new MK_* toggles: MK_ASAN and MK_ASAN_RECOVER.
MK_ASAN is self-explanitory. MK_ASAN_RECOVER tells the sanitizer
framework to let the application continue running instead of abort
execution.

Here's where the magic gets set:

https://github.com/HardenedBSD/hardenedBSD-playground/blob/hardened/current/asan/share/mk/bsd.prog.mk#L125-L134

Thanks,

-- 
Shawn Webb
Cofounder and Security Engineer
HardenedBSD

Tor-ified Signal:+1 443-546-8752
GPG Key ID:  0x6A84658F52456EEE
GPG Key Fingerprint: 2ABA B6BD EF6A F486 BE89  3D9E 6A84 658F 5245 6EEE


signature.asc
Description: PGP signature


svn commit: r330953 - head/sys/dev/nvme

2018-03-14 Thread Warner Losh
Author: imp
Date: Wed Mar 14 23:01:04 2018
New Revision: 330953
URL: https://svnweb.freebsd.org/changeset/base/330953

Log:
  Don't make the namespace devices eternal.
  
  We'll need to delete namespaces soon, so go ahead and stop making
  these devices eternal. It doesn't help much, and will be getting in
  the way soon.
  
  Sponsored by: Netflix

Modified:
  head/sys/dev/nvme/nvme_ns.c

Modified: head/sys/dev/nvme/nvme_ns.c
==
--- head/sys/dev/nvme/nvme_ns.c Wed Mar 14 22:11:45 2018(r330952)
+++ head/sys/dev/nvme/nvme_ns.c Wed Mar 14 23:01:04 2018(r330953)
@@ -577,21 +577,9 @@ nvme_ns_construct(struct nvme_namespace *ns, uint32_t 
 */
unit = device_get_unit(ctrlr->dev) * NVME_MAX_NAMESPACES + ns->id - 1;
 
-/*
- * MAKEDEV_ETERNAL was added in r210923, for cdevs that will never
- *  be destroyed.  This avoids refcounting on the cdev object.
- *  That should be OK case here, as long as we're not supporting PCIe
- *  surprise removal nor namespace deletion.
- */
-#ifdef MAKEDEV_ETERNAL_KLD
-   ns->cdev = make_dev_credf(MAKEDEV_ETERNAL_KLD, &nvme_ns_cdevsw, unit,
-   NULL, UID_ROOT, GID_WHEEL, 0600, "nvme%dns%d",
-   device_get_unit(ctrlr->dev), ns->id);
-#else
ns->cdev = make_dev_credf(0, &nvme_ns_cdevsw, unit,
NULL, UID_ROOT, GID_WHEEL, 0600, "nvme%dns%d",
device_get_unit(ctrlr->dev), ns->id);
-#endif
 #ifdef NVME_UNMAPPED_BIO_SUPPORT
ns->cdev->si_flags |= SI_UNMAPPED;
 #endif
___
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: r330954 - head/sys/dev/nvme

2018-03-14 Thread Warner Losh
Author: imp
Date: Wed Mar 14 23:01:18 2018
New Revision: 330954
URL: https://svnweb.freebsd.org/changeset/base/330954

Log:
  When tearing down a queue pair, also delete the queue entries.
  
  The NVME standard has required in section 7.2.6, since at least 1.1,
  that a clean shutdown is signalled by deleting the subission and the
  completion queues before setting the shutdown bit in CC. The 1.0
  standard, apparently, did not and many of the early Intel cards didn't
  care. Some newer cards care, at least one whose beta firmware can
  scramble the card on an unclean shutdown. Linux has done this for some
  time. To make it possible to move forward with an evaluation of this
  pre-release card with wonky firmware, delete the queues on the card
  when we delete the qpair structures.
  
  Sponsored by: Netflix

Modified:
  head/sys/dev/nvme/nvme_ctrlr.c

Modified: head/sys/dev/nvme/nvme_ctrlr.c
==
--- head/sys/dev/nvme/nvme_ctrlr.c  Wed Mar 14 23:01:04 2018
(r330953)
+++ head/sys/dev/nvme/nvme_ctrlr.c  Wed Mar 14 23:01:18 2018
(r330954)
@@ -514,6 +514,34 @@ nvme_ctrlr_create_qpairs(struct nvme_controller *ctrlr
 }
 
 static int
+nvme_ctrlr_destroy_qpair(struct nvme_controller *ctrlr, struct nvme_qpair 
*qpair)
+{
+   struct nvme_completion_poll_status  status;
+
+   status.done = 0;
+   nvme_ctrlr_cmd_delete_io_sq(qpair->ctrlr, qpair,
+   nvme_completion_poll_cb, &status);
+   while (!atomic_load_acq_int(&status.done))
+   pause("nvme", 1);
+   if (nvme_completion_is_error(&status.cpl)) {
+   nvme_printf(ctrlr, "nvme_create_io_sq failed!\n");
+   return (ENXIO);
+   }
+
+   status.done = 0;
+   nvme_ctrlr_cmd_delete_io_cq(ctrlr, qpair,
+   nvme_completion_poll_cb, &status);
+   while (!atomic_load_acq_int(&status.done))
+   pause("nvme", 1);
+   if (nvme_completion_is_error(&status.cpl)) {
+   nvme_printf(ctrlr, "nvme_create_io_cq failed!\n");
+   return (ENXIO);
+   }
+
+   return (0);
+}
+
+static int
 nvme_ctrlr_construct_namespaces(struct nvme_controller *ctrlr)
 {
struct nvme_namespace   *ns;
@@ -1274,6 +1302,7 @@ nvme_ctrlr_destruct(struct nvme_controller *ctrlr, dev
destroy_dev(ctrlr->cdev);
 
for (i = 0; i < ctrlr->num_io_queues; i++) {
+   nvme_ctrlr_destroy_qpair(ctrlr, &ctrlr->ioq[i]);
nvme_io_qpair_destroy(&ctrlr->ioq[i]);
}
 
___
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: r329984 - in head: cddl/contrib/opensolaris/lib/libzpool/common sys/cddl/compat/opensolaris/sys

2018-03-14 Thread Alan Somers
On Wed, Mar 14, 2018 at 4:56 PM, Shawn Webb 
wrote:

> On Wed, Mar 14, 2018 at 04:51:27PM -0600, Alan Somers wrote:
> > On Wed, Mar 14, 2018 at 4:50 PM, Shawn Webb 
> > wrote:
> >
> > > On Sun, Feb 25, 2018 at 02:29:43PM +, Alan Somers wrote:
> > > > Author: asomers
> > > > Date: Sun Feb 25 14:29:43 2018
> > > > New Revision: 329984
> > > > URL: https://svnweb.freebsd.org/changeset/base/329984
> > > >
> > > > Log:
> > > >   Don't declare __assfail as static
> > > >
> > > >   It gets called by dmu_buf_init_user, which is inline but not
> static.
> > > So it
> > > >   needs global linkage itself.
> > > >
> > > >   Reported by:GCC-6
> > > >   MFC after:  17 days
> > > >   X-MFC-With: 329722
> > > >
> > >
> > > Hey Alan,
> > >
> > > This commit breaks compiling world with ASAN.
> > >
> > > Some applications, like zfs, will fail with this error:
> > >
> > > /lib/libuutil.so.2: Undefined symbol "__assfail"
> > >
> > > Thanks,
> > >
> >
> > How does one build world with ASAN ?
>
> HardenedBSD has a feature branch in its playground repo for ASAN-ified
> world.
>
> We introduced two new MK_* toggles: MK_ASAN and MK_ASAN_RECOVER.
> MK_ASAN is self-explanitory. MK_ASAN_RECOVER tells the sanitizer
> framework to let the application continue running instead of abort
> execution.
>
> Here's where the magic gets set:
>
> https://github.com/HardenedBSD/hardenedBSD-playground/blob/hardened/
> current/asan/share/mk/bsd.prog.mk#L125-L134
>
> Thanks,
>

I don't use HardenedBSD.  Can you provide an invocation that will
demonstrate the breakage on FreeBSD head?  I tried a few things, and they
all either worked, or failed with errors other than the one you showed.
___
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: r329984 - in head: cddl/contrib/opensolaris/lib/libzpool/common sys/cddl/compat/opensolaris/sys

2018-03-14 Thread Shawn Webb
On Wed, Mar 14, 2018 at 05:06:09PM -0600, Alan Somers wrote:
> On Wed, Mar 14, 2018 at 4:56 PM, Shawn Webb 
> wrote:
> 
> > On Wed, Mar 14, 2018 at 04:51:27PM -0600, Alan Somers wrote:
> > > On Wed, Mar 14, 2018 at 4:50 PM, Shawn Webb 
> > > wrote:
> > >
> > > > On Sun, Feb 25, 2018 at 02:29:43PM +, Alan Somers wrote:
> > > > > Author: asomers
> > > > > Date: Sun Feb 25 14:29:43 2018
> > > > > New Revision: 329984
> > > > > URL: https://svnweb.freebsd.org/changeset/base/329984
> > > > >
> > > > > Log:
> > > > >   Don't declare __assfail as static
> > > > >
> > > > >   It gets called by dmu_buf_init_user, which is inline but not
> > static.
> > > > So it
> > > > >   needs global linkage itself.
> > > > >
> > > > >   Reported by:GCC-6
> > > > >   MFC after:  17 days
> > > > >   X-MFC-With: 329722
> > > > >
> > > >
> > > > Hey Alan,
> > > >
> > > > This commit breaks compiling world with ASAN.
> > > >
> > > > Some applications, like zfs, will fail with this error:
> > > >
> > > > /lib/libuutil.so.2: Undefined symbol "__assfail"
> > > >
> > > > Thanks,
> > > >
> > >
> > > How does one build world with ASAN ?
> >
> > HardenedBSD has a feature branch in its playground repo for ASAN-ified
> > world.
> >
> > We introduced two new MK_* toggles: MK_ASAN and MK_ASAN_RECOVER.
> > MK_ASAN is self-explanitory. MK_ASAN_RECOVER tells the sanitizer
> > framework to let the application continue running instead of abort
> > execution.
> >
> > Here's where the magic gets set:
> >
> > https://github.com/HardenedBSD/hardenedBSD-playground/blob/hardened/
> > current/asan/share/mk/bsd.prog.mk#L125-L134
> >
> > Thanks,
> >
> 
> I don't use HardenedBSD.  Can you provide an invocation that will
> demonstrate the breakage on FreeBSD head?  I tried a few things, and they
> all either worked, or failed with errors other than the one you showed.

No worries. I've just reverted the commit in that feature branch. If I
have time, I'll see about porting the ASAN work to vanilla FreeBSD.
But my time is extremely limited these days.

Thanks,

-- 
Shawn Webb
Cofounder and Security Engineer
HardenedBSD

Tor-ified Signal:+1 443-546-8752
GPG Key ID:  0x6A84658F52456EEE
GPG Key Fingerprint: 2ABA B6BD EF6A F486 BE89  3D9E 6A84 658F 5245 6EEE


signature.asc
Description: PGP signature


Re: svn commit: r327314 - head/sys/x86/x86

2018-03-14 Thread Ed Maste
On 28 December 2017 at 16:46, Marius Strobl  wrote:
> Author: marius
> Date: Thu Dec 28 21:46:09 2017
> New Revision: 327314
> URL: https://svnweb.freebsd.org/changeset/base/327314
>
> Log:
>   With the advent of interrupt remapping, Intel has repurposed bit 11
>   (now: Interrupt_Index[15]) and assigned the previously reserved bits
>   ...

Will you MFC this to stable/11 so it can arrive in 11.2?
___
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: r329984 - in head: cddl/contrib/opensolaris/lib/libzpool/common sys/cddl/compat/opensolaris/sys

2018-03-14 Thread Alan Somers
On Wed, Mar 14, 2018 at 5:11 PM, Shawn Webb 
wrote:

> On Wed, Mar 14, 2018 at 05:06:09PM -0600, Alan Somers wrote:
> > On Wed, Mar 14, 2018 at 4:56 PM, Shawn Webb 
> > wrote:
> >
> > > On Wed, Mar 14, 2018 at 04:51:27PM -0600, Alan Somers wrote:
> > > > On Wed, Mar 14, 2018 at 4:50 PM, Shawn Webb <
> shawn.w...@hardenedbsd.org>
> > > > wrote:
> > > >
> > > > > On Sun, Feb 25, 2018 at 02:29:43PM +, Alan Somers wrote:
> > > > > > Author: asomers
> > > > > > Date: Sun Feb 25 14:29:43 2018
> > > > > > New Revision: 329984
> > > > > > URL: https://svnweb.freebsd.org/changeset/base/329984
> > > > > >
> > > > > > Log:
> > > > > >   Don't declare __assfail as static
> > > > > >
> > > > > >   It gets called by dmu_buf_init_user, which is inline but not
> > > static.
> > > > > So it
> > > > > >   needs global linkage itself.
> > > > > >
> > > > > >   Reported by:GCC-6
> > > > > >   MFC after:  17 days
> > > > > >   X-MFC-With: 329722
> > > > > >
> > > > >
> > > > > Hey Alan,
> > > > >
> > > > > This commit breaks compiling world with ASAN.
> > > > >
> > > > > Some applications, like zfs, will fail with this error:
> > > > >
> > > > > /lib/libuutil.so.2: Undefined symbol "__assfail"
> > > > >
> > > > > Thanks,
> > > > >
> > > >
> > > > How does one build world with ASAN ?
> > >
> > > HardenedBSD has a feature branch in its playground repo for ASAN-ified
> > > world.
> > >
> > > We introduced two new MK_* toggles: MK_ASAN and MK_ASAN_RECOVER.
> > > MK_ASAN is self-explanitory. MK_ASAN_RECOVER tells the sanitizer
> > > framework to let the application continue running instead of abort
> > > execution.
> > >
> > > Here's where the magic gets set:
> > >
> > > https://github.com/HardenedBSD/hardenedBSD-playground/blob/hardened/
> > > current/asan/share/mk/bsd.prog.mk#L125-L134
> > >
> > > Thanks,
> > >
> >
> > I don't use HardenedBSD.  Can you provide an invocation that will
> > demonstrate the breakage on FreeBSD head?  I tried a few things, and they
> > all either worked, or failed with errors other than the one you showed.
>
> No worries. I've just reverted the commit in that feature branch. If I
> have time, I'll see about porting the ASAN work to vanilla FreeBSD.
> But my time is extremely limited these days.
>
> Thanks,
>

Ok.  BTW, that commit is due for MFC as of today.  Unless I hear from you
otherwise, I'll go ahead and MFC it.
___
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: r330955 - head/sys/dev/nvme

2018-03-14 Thread Warner Losh
Author: imp
Date: Wed Mar 14 23:28:28 2018
New Revision: 330955
URL: https://svnweb.freebsd.org/changeset/base/330955

Log:
  Fix error messages in cut and pasted code.
  
  Also, fix an unnecessary deref to get ctrlr.
  
  Noticed by: rpokala@
  Sponsored by: Netflix

Modified:
  head/sys/dev/nvme/nvme_ctrlr.c

Modified: head/sys/dev/nvme/nvme_ctrlr.c
==
--- head/sys/dev/nvme/nvme_ctrlr.c  Wed Mar 14 23:01:18 2018
(r330954)
+++ head/sys/dev/nvme/nvme_ctrlr.c  Wed Mar 14 23:28:28 2018
(r330955)
@@ -519,12 +519,12 @@ nvme_ctrlr_destroy_qpair(struct nvme_controller *ctrlr
struct nvme_completion_poll_status  status;
 
status.done = 0;
-   nvme_ctrlr_cmd_delete_io_sq(qpair->ctrlr, qpair,
+   nvme_ctrlr_cmd_delete_io_sq(ctrlr, qpair,
nvme_completion_poll_cb, &status);
while (!atomic_load_acq_int(&status.done))
pause("nvme", 1);
if (nvme_completion_is_error(&status.cpl)) {
-   nvme_printf(ctrlr, "nvme_create_io_sq failed!\n");
+   nvme_printf(ctrlr, "nvme_destroy_io_sq failed!\n");
return (ENXIO);
}
 
@@ -534,7 +534,7 @@ nvme_ctrlr_destroy_qpair(struct nvme_controller *ctrlr
while (!atomic_load_acq_int(&status.done))
pause("nvme", 1);
if (nvme_completion_is_error(&status.cpl)) {
-   nvme_printf(ctrlr, "nvme_create_io_cq failed!\n");
+   nvme_printf(ctrlr, "nvme_destroy_io_cq failed!\n");
return (ENXIO);
}
 
___
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: r330956 - head/sys/dev/acpica

2018-03-14 Thread Jung-uk Kim
Author: jkim
Date: Wed Mar 14 23:42:28 2018
New Revision: 330956
URL: https://svnweb.freebsd.org/changeset/base/330956

Log:
  Remove local definitions for _STA method in favor of ACPICA.
  
  These macros were added in ACPICA 20051216, more than a decade ago.

Modified:
  head/sys/dev/acpica/acpivar.h

Modified: head/sys/dev/acpica/acpivar.h
==
--- head/sys/dev/acpica/acpivar.h   Wed Mar 14 23:28:28 2018
(r330955)
+++ head/sys/dev/acpica/acpivar.h   Wed Mar 14 23:42:28 2018
(r330956)
@@ -320,20 +320,14 @@ void  acpi_EnterDebugger(void);
 #defineACPI_OSC_BAD_REVISION   (1 << 3)
 #defineACPI_OSC_CAPS_MASKED(1 << 4)
 
-/* Values for the device _STA (status) method. */
-#define ACPI_STA_PRESENT   (1 << 0)
-#define ACPI_STA_ENABLED   (1 << 1)
-#define ACPI_STA_SHOW_IN_UI(1 << 2)
-#define ACPI_STA_FUNCTIONAL(1 << 3)
-#define ACPI_STA_BATT_PRESENT  (1 << 4)
-
 #define ACPI_DEVINFO_PRESENT(x, flags) \
(((x) & (flags)) == (flags))
 #define ACPI_DEVICE_PRESENT(x) \
-   ACPI_DEVINFO_PRESENT(x, ACPI_STA_PRESENT | ACPI_STA_FUNCTIONAL)
+   ACPI_DEVINFO_PRESENT(x, ACPI_STA_DEVICE_PRESENT |   \
+   ACPI_STA_DEVICE_FUNCTIONING)
 #define ACPI_BATTERY_PRESENT(x)
\
-   ACPI_DEVINFO_PRESENT(x, ACPI_STA_PRESENT | ACPI_STA_FUNCTIONAL | \
-   ACPI_STA_BATT_PRESENT)
+   ACPI_DEVINFO_PRESENT(x, ACPI_STA_DEVICE_PRESENT |   \
+   ACPI_STA_DEVICE_FUNCTIONING | ACPI_STA_BATTERY_PRESENT)
 
 /* Callback function type for walking subtables within a table. */
 typedef void acpi_subtable_handler(ACPI_SUBTABLE_HEADER *, void *);
___
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: r330957 - in head/sys: contrib/dev/acpica contrib/dev/acpica/components/debugger contrib/dev/acpica/components/dispatcher contrib/dev/acpica/components/events contrib/dev/acpica/compone...

2018-03-14 Thread Jung-uk Kim
Author: jkim
Date: Wed Mar 14 23:45:48 2018
New Revision: 330957
URL: https://svnweb.freebsd.org/changeset/base/330957

Log:
  Merge ACPICA 20180313.

Modified:
  head/sys/contrib/dev/acpica/changes.txt
  head/sys/contrib/dev/acpica/components/debugger/dbdisply.c
  head/sys/contrib/dev/acpica/components/dispatcher/dspkginit.c
  head/sys/contrib/dev/acpica/components/events/evevent.c
  head/sys/contrib/dev/acpica/components/events/evgpe.c
  head/sys/contrib/dev/acpica/components/events/evgpeblk.c
  head/sys/contrib/dev/acpica/components/events/evrgnini.c
  head/sys/contrib/dev/acpica/components/events/evxface.c
  head/sys/contrib/dev/acpica/components/events/evxfgpe.c
  head/sys/contrib/dev/acpica/components/executer/exdebug.c
  head/sys/contrib/dev/acpica/components/hardware/hwgpe.c
  head/sys/contrib/dev/acpica/components/hardware/hwsleep.c
  head/sys/contrib/dev/acpica/components/hardware/hwxfsleep.c
  head/sys/contrib/dev/acpica/components/namespace/nsdumpdv.c
  head/sys/contrib/dev/acpica/components/namespace/nseval.c
  head/sys/contrib/dev/acpica/components/namespace/nsload.c
  head/sys/contrib/dev/acpica/components/namespace/nsparse.c
  head/sys/contrib/dev/acpica/components/namespace/nsxfname.c
  head/sys/contrib/dev/acpica/components/parser/psargs.c
  head/sys/contrib/dev/acpica/components/parser/psloop.c
  head/sys/contrib/dev/acpica/components/parser/psobject.c
  head/sys/contrib/dev/acpica/components/tables/tbdata.c
  head/sys/contrib/dev/acpica/components/tables/tbinstal.c
  head/sys/contrib/dev/acpica/components/tables/tbxfload.c
  head/sys/contrib/dev/acpica/components/utilities/utosi.c
  head/sys/contrib/dev/acpica/components/utilities/utxfinit.c
  head/sys/contrib/dev/acpica/include/acevents.h
  head/sys/contrib/dev/acpica/include/acmacros.h
  head/sys/contrib/dev/acpica/include/acpixf.h
  head/sys/contrib/dev/acpica/include/actypes.h
  head/sys/dev/acpica/acpi.c
Directory Properties:
  head/sys/contrib/dev/acpica/   (props changed)

Modified: head/sys/contrib/dev/acpica/changes.txt
==
--- head/sys/contrib/dev/acpica/changes.txt Wed Mar 14 23:42:28 2018
(r330956)
+++ head/sys/contrib/dev/acpica/changes.txt Wed Mar 14 23:45:48 2018
(r330957)
@@ -1,4 +1,50 @@
 
+13 March 2018. Summary of changes for version 20180313:
+
+
+1) ACPICA kernel-resident subsystem:
+
+Implemented various improvements to the GPE support:
+
+1) Dispatch all active GPEs at initialization time so that no GPEs are 
+lost.
+2) Enable runtime GPEs earlier. Some systems expect GPEs to be enabled 
+before devices are enumerated.
+3) Don't unconditionally clear ACPI IRQs during suspend/resume, so that 
+IRQs are not lost.
+4) Add parallel GPE handling to eliminate the possibility of dispatching 
+the same GPE twice.
+5) Dispatch any pending GPEs after enabling for the first time.
+
+AcpiGetObjectInfo - removed support for the _STA method. This was causing 
+problems on some platforms.
+
+Added a new _OSI string, "Windows 2017.2".
+
+Cleaned up and simplified the module-level code support. These changes 
+are in preparation for the eventual removal of the legacy MLC support 
+(deferred execution), replaced by the new MLC architecture which executes 
+the MLC as a table is loaded (DSDT/SSDTs).
+
+Changed a compile-time option to a runtime option. Changes the option to 
+ignore ACPI table load-time package resolution errors into a runtime 
+option. Used only for platforms that generate many AE_NOT_FOUND errors 
+during boot. AcpiGbl_IgnorePackageResolutionErrors.
+
+Fixed the ACPI_ERROR_NAMESPACE macro. This change involves putting some 
+ACPI_ERROR_NAMESPACE parameters inside macros. By doing so, we avoid 
+compilation errors from unused variables (seen with some compilers).
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+ASLTS: parallelized execution in order to achieve an (approximately) 2X 
+performance increase.
+
+ASLTS: Updated to use the iASL __LINE__ and __METHOD__ macros. Improves 
+error reporting.
+
+
 09 February 2018. Summary of changes for version 20180209:
 
 

Modified: head/sys/contrib/dev/acpica/components/debugger/dbdisply.c
==
--- head/sys/contrib/dev/acpica/components/debugger/dbdisply.c  Wed Mar 14 
23:42:28 2018(r330956)
+++ head/sys/contrib/dev/acpica/components/debugger/dbdisply.c  Wed Mar 14 
23:45:48 2018(r330957)
@@ -820,9 +820,8 @@ AcpiDbDisplayObjectType (
 return;
 }
 
-AcpiOsPrintf ("ADR: %8.8X%8.8X, STA: %8.8X, Flags: %X\n",
-ACPI_FORMAT_UINT64 (Info->Address),
-Info->CurrentStatus, Info->Flags);
+AcpiOsPrintf ("ADR: %8.8X%8.8X, Flags: %X\n",
+ACPI_FORMAT_UINT64 (Info->Address), Info->Flags);
 
 AcpiOsPrintf ("S1D-%2.2X S2D-%2.2X S3D-%2.2X S4D-%2.2X\n",
 Info->HighestDstat

Re: svn commit: r327314 - head/sys/x86/x86

2018-03-14 Thread Marius Strobl
On Wed, Mar 14, 2018 at 07:18:41PM -0400, Ed Maste wrote:
> On 28 December 2017 at 16:46, Marius Strobl  wrote:
> > Author: marius
> > Date: Thu Dec 28 21:46:09 2017
> > New Revision: 327314
> > URL: https://svnweb.freebsd.org/changeset/base/327314
> >
> > Log:
> >   With the advent of interrupt remapping, Intel has repurposed bit 11
> >   (now: Interrupt_Index[15]) and assigned the previously reserved bits
> >   ...
> 
> Will you MFC this to stable/11 so it can arrive in 11.2?

Yes, in fact I was working on the MFCs when your e-mail arrived but
am struggling with some unrelated build fuck-ups.

Marius

___
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: r329984 - in head: cddl/contrib/opensolaris/lib/libzpool/common sys/cddl/compat/opensolaris/sys

2018-03-14 Thread Shawn Webb
On Wed, Mar 14, 2018 at 05:20:00PM -0600, Alan Somers wrote:
> On Wed, Mar 14, 2018 at 5:11 PM, Shawn Webb 
> wrote:
> 
> > On Wed, Mar 14, 2018 at 05:06:09PM -0600, Alan Somers wrote:
> > > On Wed, Mar 14, 2018 at 4:56 PM, Shawn Webb 
> > > wrote:
> > >
> > > > On Wed, Mar 14, 2018 at 04:51:27PM -0600, Alan Somers wrote:
> > > > > On Wed, Mar 14, 2018 at 4:50 PM, Shawn Webb <
> > shawn.w...@hardenedbsd.org>
> > > > > wrote:
> > > > >
> > > > > > On Sun, Feb 25, 2018 at 02:29:43PM +, Alan Somers wrote:
> > > > > > > Author: asomers
> > > > > > > Date: Sun Feb 25 14:29:43 2018
> > > > > > > New Revision: 329984
> > > > > > > URL: https://svnweb.freebsd.org/changeset/base/329984
> > > > > > >
> > > > > > > Log:
> > > > > > >   Don't declare __assfail as static
> > > > > > >
> > > > > > >   It gets called by dmu_buf_init_user, which is inline but not
> > > > static.
> > > > > > So it
> > > > > > >   needs global linkage itself.
> > > > > > >
> > > > > > >   Reported by:GCC-6
> > > > > > >   MFC after:  17 days
> > > > > > >   X-MFC-With: 329722
> > > > > > >
> > > > > >
> > > > > > Hey Alan,
> > > > > >
> > > > > > This commit breaks compiling world with ASAN.
> > > > > >
> > > > > > Some applications, like zfs, will fail with this error:
> > > > > >
> > > > > > /lib/libuutil.so.2: Undefined symbol "__assfail"
> > > > > >
> > > > > > Thanks,
> > > > > >
> > > > >
> > > > > How does one build world with ASAN ?
> > > >
> > > > HardenedBSD has a feature branch in its playground repo for ASAN-ified
> > > > world.
> > > >
> > > > We introduced two new MK_* toggles: MK_ASAN and MK_ASAN_RECOVER.
> > > > MK_ASAN is self-explanitory. MK_ASAN_RECOVER tells the sanitizer
> > > > framework to let the application continue running instead of abort
> > > > execution.
> > > >
> > > > Here's where the magic gets set:
> > > >
> > > > https://github.com/HardenedBSD/hardenedBSD-playground/blob/hardened/
> > > > current/asan/share/mk/bsd.prog.mk#L125-L134
> > > >
> > > > Thanks,
> > > >
> > >
> > > I don't use HardenedBSD.  Can you provide an invocation that will
> > > demonstrate the breakage on FreeBSD head?  I tried a few things, and they
> > > all either worked, or failed with errors other than the one you showed.
> >
> > No worries. I've just reverted the commit in that feature branch. If I
> > have time, I'll see about porting the ASAN work to vanilla FreeBSD.
> > But my time is extremely limited these days.
> >
> > Thanks,
> >
> 
> Ok.  BTW, that commit is due for MFC as of today.  Unless I hear from you
> otherwise, I'll go ahead and MFC it.

That's totally fine. The ASAN-ified work is done in a feature branch
that will only track HEAD. Given that I'm abusing ASAN in this
particular case, the ASAN-ified world should never land in any
production build. I don't plan to test 11-STABLE with ASAN.

Thanks for letting me know, though.

-- 
Shawn Webb
Cofounder and Security Engineer
HardenedBSD

Tor-ified Signal:+1 443-546-8752
GPG Key ID:  0x6A84658F52456EEE
GPG Key Fingerprint: 2ABA B6BD EF6A F486 BE89  3D9E 6A84 658F 5245 6EEE


signature.asc
Description: PGP signature


svn commit: r330962 - head/sys/conf

2018-03-14 Thread Ed Maste
Author: emaste
Date: Thu Mar 15 00:57:57 2018
New Revision: 330962
URL: https://svnweb.freebsd.org/changeset/base/330962

Log:
  Remove KERNEL_RETPOLINE from BROKEN_OPTIONS on i386
  
  Clang will compile both amd64 and i386 with retpoline.
  
  Sponsored by: The FreeBSD Foundation

Modified:
  head/sys/conf/kern.opts.mk

Modified: head/sys/conf/kern.opts.mk
==
--- head/sys/conf/kern.opts.mk  Thu Mar 15 00:44:34 2018(r330961)
+++ head/sys/conf/kern.opts.mk  Thu Mar 15 00:57:57 2018(r330962)
@@ -87,7 +87,7 @@ BROKEN_OPTIONS+= OFED
 .endif
 
 # Things that don't work based on toolchain support.
-.if ${MACHINE} != "amd64"
+.if ${MACHINE} != "i386" && ${MACHINE} != "amd64"
 BROKEN_OPTIONS+= KERNEL_RETPOLINE
 .endif
 
___
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: r330963 - head/sys/dev/isp

2018-03-14 Thread Alexander Motin
Author: mav
Date: Thu Mar 15 01:07:21 2018
New Revision: 330963
URL: https://svnweb.freebsd.org/changeset/base/330963

Log:
  Increase ABOUT FIRMWARE command timeout to 5s.
  
  It seems default timeout of 100ms is not enough for my 2694L card,
  while it was perfectly fine for others, even for full-height 2694.
  
  MFC after:1 week
  Sponsored by: iXsystems, Inc.

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

Modified: head/sys/dev/isp/isp.c
==
--- head/sys/dev/isp/isp.c  Thu Mar 15 00:57:57 2018(r330962)
+++ head/sys/dev/isp/isp.c  Thu Mar 15 01:07:21 2018(r330963)
@@ -876,6 +876,7 @@ isp_reset(ispsoftc_t *isp, int do_load_defaults)
}
}
} else if (IS_26XX(isp)) {
+   isp_prt(isp, ISP_LOGDEBUG1, "loading firmware from flash");
MBSINIT(&mbs, MBOX_LOAD_FLASH_FIRMWARE, MBLOGALL, 500);
mbs.ibitm = 0x01;
mbs.obitm = 0x07;
@@ -913,9 +914,12 @@ isp_reset(ispsoftc_t *isp, int do_load_defaults)
 * we still need to (re)start it.
 */
MBSINIT(&mbs, MBOX_EXEC_FIRMWARE, MBLOGALL, 500);
-   if (IS_24XX(isp)) {
+   if (IS_26XX(isp)) {
mbs.param[1] = code_org >> 16;
mbs.param[2] = code_org;
+   } else if (IS_24XX(isp)) {
+   mbs.param[1] = code_org >> 16;
+   mbs.param[2] = code_org;
if (isp->isp_loaded_fw) {
mbs.param[3] = 0;
} else {
@@ -954,7 +958,7 @@ isp_reset(ispsoftc_t *isp, int do_load_defaults)
 * Ask the chip for the current firmware version.
 * This should prove that the new firmware is working.
 */
-   MBSINIT(&mbs, MBOX_ABOUT_FIRMWARE, MBLOGALL, 0);
+   MBSINIT(&mbs, MBOX_ABOUT_FIRMWARE, MBLOGALL, 500);
isp_mboxcmd(isp, &mbs);
if (mbs.param[0] != MBOX_COMMAND_COMPLETE) {
return;
@@ -6739,7 +6743,7 @@ static const char *scsi_mbcmd_names[] = {
 static const uint32_t mbpfc[] = {
ISP_FC_OPMAP(0x01, 0x01),   /* 0x00: MBOX_NO_OP */
ISP_FC_OPMAP(0x1f, 0x01),   /* 0x01: MBOX_LOAD_RAM */
-   ISP_FC_OPMAP_HALF(0x07, 0xff, 0x00, 0x03),  /* 0x02: 
MBOX_EXEC_FIRMWARE */
+   ISP_FC_OPMAP_HALF(0x07, 0xff, 0x00, 0x1f),  /* 0x02: 
MBOX_EXEC_FIRMWARE */
ISP_FC_OPMAP(0xdf, 0x01),   /* 0x03: MBOX_DUMP_RAM */
ISP_FC_OPMAP(0x07, 0x07),   /* 0x04: MBOX_WRITE_RAM_WORD */
ISP_FC_OPMAP(0x03, 0x07),   /* 0x05: MBOX_READ_RAM_WORD */
___
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: r330970 - in head/stand/efi: include libefi

2018-03-14 Thread Toomas Soome
Author: tsoome
Date: Thu Mar 15 05:58:35 2018
New Revision: 330970
URL: https://svnweb.freebsd.org/changeset/base/330970

Log:
  libefi: UEFI_BOOT_VAR_GUID duplicates EFI_GLOBAL_VARIABLE
  
  Drop UEFI_BOOT_VAR_GUID and use EFI_GLOBAL_VARIABLE.
  
  Reviewed by:  imp
  Differential Revision:https://reviews.freebsd.org/D14696

Modified:
  head/stand/efi/include/efi.h
  head/stand/efi/libefi/efienv.c

Modified: head/stand/efi/include/efi.h
==
--- head/stand/efi/include/efi.hThu Mar 15 05:13:29 2018
(r330969)
+++ head/stand/efi/include/efi.hThu Mar 15 05:58:35 2018
(r330970)
@@ -59,7 +59,5 @@ Revision History
  */
 #define FREEBSD_BOOT_VAR_GUID \
{ 0xCFEE69AD, 0xA0DE, 0x47A9, {0x93, 0xA8, 0xF6, 0x31, 0x06, 0xF8, 
0xAE, 0x99} }
-#define UEFI_BOOT_VAR_GUID \
-   { 0x8be4df61, 0x93ca, 0x11d2, {0xaa, 0x0d, 0x00, 0xe0, 0x98, 0x03, 
0x2b, 0x8c} }
 
 #endif

Modified: head/stand/efi/libefi/efienv.c
==
--- head/stand/efi/libefi/efienv.c  Thu Mar 15 05:13:29 2018
(r330969)
+++ head/stand/efi/libefi/efienv.c  Thu Mar 15 05:58:35 2018
(r330970)
@@ -33,7 +33,7 @@ __FBSDID("$FreeBSD$");
 #include 
 
 static EFI_GUID FreeBSDBootVarGUID = FREEBSD_BOOT_VAR_GUID;
-static EFI_GUID GlobalBootVarGUID = UEFI_BOOT_VAR_GUID;
+static EFI_GUID GlobalBootVarGUID = EFI_GLOBAL_VARIABLE;
 
 EFI_STATUS
 efi_getenv(EFI_GUID *g, const char *v, void *data, size_t *len)
___
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: r330971 - in head/sys: conf powerpc/powernv

2018-03-14 Thread Wojciech Macek
Author: wma
Date: Thu Mar 15 06:19:45 2018
New Revision: 330971
URL: https://svnweb.freebsd.org/changeset/base/330971

Log:
  Reverting r330925 for now

Modified:
  head/sys/conf/files.powerpc
  head/sys/powerpc/powernv/opal_i2c.c
  head/sys/powerpc/powernv/opal_i2cm.c
  head/sys/powerpc/powernv/powernv_centaur.c
  head/sys/powerpc/powernv/powernv_xscom.c

Modified: head/sys/conf/files.powerpc
==
--- head/sys/conf/files.powerpc Thu Mar 15 05:58:35 2018(r330970)
+++ head/sys/conf/files.powerpc Thu Mar 15 06:19:45 2018(r330971)
@@ -186,8 +186,8 @@ powerpc/powermac/vcoregpio.coptional
powermac 
 powerpc/powernv/opal.c optionalpowernv
 powerpc/powernv/opal_console.c optionalpowernv
 powerpc/powernv/opal_dev.c optionalpowernv
-powerpc/powernv/opal_i2c.c optionaliicbus powernv
-powerpc/powernv/opal_i2cm.coptionaliicbus powernv
+powerpc/powernv/opal_i2c.c optionaliicbus fdt powernv
+powerpc/powernv/opal_i2cm.coptionaliicbus fdt powernv
 powerpc/powernv/opal_pci.c optionalpowernv pci
 powerpc/powernv/opalcall.S optionalpowernv
 powerpc/powernv/platform_powernv.c optionalpowernv

Modified: head/sys/powerpc/powernv/opal_i2c.c
==
--- head/sys/powerpc/powernv/opal_i2c.c Thu Mar 15 05:58:35 2018
(r330970)
+++ head/sys/powerpc/powernv/opal_i2c.c Thu Mar 15 06:19:45 2018
(r330971)
@@ -120,9 +120,7 @@ static int
 opal_i2c_probe(device_t dev)
 {
 
-#ifdef FDT
if (!(ofw_bus_is_compatible(dev, "ibm,opal-i2c")))
-#endif
return (ENXIO);
 
device_set_desc(dev, "opal-i2c");
@@ -133,7 +131,6 @@ opal_i2c_probe(device_t dev)
 static int
 opal_i2c_attach(device_t dev)
 {
-#ifdef FDT
struct opal_i2c_softc *sc;
int len;
 
@@ -153,9 +150,6 @@ opal_i2c_attach(device_t dev)
I2C_LOCK_INIT(sc);
 
return (bus_generic_attach(dev));
-#else
-   return (ENXIO);
-#endif
 }
 
 static int

Modified: head/sys/powerpc/powernv/opal_i2cm.c
==
--- head/sys/powerpc/powernv/opal_i2cm.cThu Mar 15 05:58:35 2018
(r330970)
+++ head/sys/powerpc/powernv/opal_i2cm.cThu Mar 15 06:19:45 2018
(r330971)
@@ -57,17 +57,14 @@ struct opal_i2cm_softc
 
 static int opal_i2cm_attach(device_t);
 static int opal_i2cm_probe(device_t);
-#ifdef FDT
 static const struct ofw_bus_devinfo *
 opal_i2cm_get_devinfo(device_t, device_t);
-#endif
 
 static device_method_t opal_i2cm_methods[] = {
/* Device interface */
DEVMETHOD(device_probe, opal_i2cm_probe),
DEVMETHOD(device_attach,opal_i2cm_attach),
 
-#ifdef FDT
/* ofw_bus interface */
DEVMETHOD(ofw_bus_get_devinfo,  opal_i2cm_get_devinfo),
DEVMETHOD(ofw_bus_get_compat,   ofw_bus_gen_get_compat),
@@ -75,7 +72,6 @@ static device_method_t opal_i2cm_methods[] = {
DEVMETHOD(ofw_bus_get_name, ofw_bus_gen_get_name),
DEVMETHOD(ofw_bus_get_node, ofw_bus_gen_get_node),
DEVMETHOD(ofw_bus_get_type, ofw_bus_gen_get_type),
-#endif
 
DEVMETHOD_END
 };
@@ -86,10 +82,8 @@ static int
 opal_i2cm_probe(device_t dev)
 {
 
-#ifdef FDT
if (!(ofw_bus_is_compatible(dev, "ibm,centaur-i2cm") ||
ofw_bus_is_compatible(dev, "ibm,power8-i2cm")))
-#endif
return (ENXIO);
 
device_set_desc(dev, "centaur-i2cm");
@@ -99,7 +93,6 @@ opal_i2cm_probe(device_t dev)
 static int
 opal_i2cm_attach(device_t dev)
 {
-#ifdef FDT
phandle_t child;
device_t cdev;
struct ofw_bus_devinfo *dinfo;
@@ -123,18 +116,13 @@ opal_i2cm_attach(device_t dev)
}
 
return (bus_generic_attach(dev));
-#else
-   return (ENXIO);
-#endif
 }
 
-#ifdef FDT
 static const struct ofw_bus_devinfo *
 opal_i2cm_get_devinfo(device_t dev, device_t child)
 {
 return (device_get_ivars(child));
 }
-#endif
 
 DEFINE_CLASS_0(opal_i2cm, opal_i2cm_driver, opal_i2cm_methods,
 sizeof(struct opal_i2cm_softc));

Modified: head/sys/powerpc/powernv/powernv_centaur.c
==
--- head/sys/powerpc/powernv/powernv_centaur.c  Thu Mar 15 05:58:35 2018
(r330970)
+++ head/sys/powerpc/powernv/powernv_centaur.c  Thu Mar 15 06:19:45 2018
(r330971)
@@ -57,17 +57,14 @@ struct powernv_centaur_softc
 
 static int powernv_centaur_attach(device_t);
 static int powernv_centaur_probe(device_t);
-#ifdef FDT
 static const struct ofw_bus_devinfo *
 powernv_centaur_get_devinfo(device_t, device_t);
-#endif
 
 static device_method_t powernv_centaur_methods[] = {
/* Device interface */
DEVMETHOD(device_probe, powernv_centaur_probe),
DEVMETHOD