aboutsummaryrefslogtreecommitdiff
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* Move LOADER_{NO,}_GELI_SUPPORT to MK_LOADER_GELIWarner Losh2017-11-1010-43/+39
| | | | | | | | | | | | | | Transition to WITH/WITHOUT_LOADER_GELI to flag support or not of GELI in the boot loaders. Add HAVE_GELI so components can flag they need support (since it's too large to include everywhere). Add temporary warnings for the old forms to ease transition. Also, update test script to build without GELI on x86. Sponsored by: Netflix Notes: svn path=/head/; revision=325693
* Replace LOADER_FIREWIRE_SUPPORT variableWarner Losh2017-11-103-7/+17
| | | | | | | | | | | | Rename LOADER_FIREWIRE_SUPPORT to MK_LOADER_FIREWIRE. Only build libfirewire when this is "yes". Add note to updating. Fix build script to build this for x86 so the option doesn't decay. sparc64 supports ZFS, so also build it MK_ZFS=no. Sponsored by: Netflix Notes: svn path=/head/; revision=325692
* Remove useless PNP define here.Warner Losh2017-11-101-3/+0
| | | | | | | | | We never use HAVE_PNP for anything, so don't define it on the command line. Sponsored by: Netflix Notes: svn path=/head/; revision=325691
* Remove LOADER_ZFS_SUPPORT as a Makefile variableWarner Losh2017-11-109-26/+30
| | | | | | | | | | | | | LOADER_ZFS_SUPPORT is entirely used to select whether or not to support ZFS in the loader. But it's not a user-servicable part (MK_ZFS is what's used for that) Change it to the more conventional HAVE_ZFS and move the ZFS support code into loader.mk. In addition, only build ZFS libraries and boot loaders when ZFS is enabled. Sponsored by: Netflix Notes: svn path=/head/; revision=325690
* Remove LOADER_FDT_SUPPORT as a Makefile variable.Warner Losh2017-11-1012-38/+27
| | | | | | | | | | | | | LOADER_FDT_SUPPORT was used inconsistently in the tree. In some places, it was used to control whether or not the user wanted FDT included, and in other places it was a command to include support. Remove it entirely. The former is now enabled -DWITH_FDT, while the latter is controlled by Makefiles defining HAVE_FDT. Supported by: Netflix Notes: svn path=/head/; revision=325689
* FDT support doesn't make sense for ps3. There's no support in the ps3Warner Losh2017-11-101-8/+1
| | | | | | | | | | port for FDT, and it's unlikely to grow support for that anytime soon. When it does, support can be added back easily enough. Supported by: Netflix Notes: svn path=/head/; revision=325688
* Remove all the empty help files from the powerpc build.Warner Losh2017-11-108-8/+4
| | | | | | | Sponsored by: Netflix Notes: svn path=/head/; revision=325687
* Simplify this if to a direct assignment.Warner Losh2017-11-101-5/+1
| | | | | | | Sponsored by: Netflix Notes: svn path=/head/; revision=325686
* libsa32 isn't needed for i386. It's already a 32-bit platform andWarner Losh2017-11-101-1/+0
| | | | | | | | | | | libfoo32 is only needed when compiling 32-bit libraries on native 64-bit architectures, and only when that 64-bit architecture needs mixed 32-bit and 64-bit binaries. Sponsored by: Netflix Notes: svn path=/head/; revision=325685
* vnic: apply BPF tap before passing packet to hardwareEd Maste2017-11-101-2/+3
| | | | | | | | | | | | | | Previously we passed tx packets to hardware via nicvf_tx_mbuf_locked and then to the BPF tap, with a possibly invalid mbuf which would result in a panic. PR: 223600 Discussed with: bz MFC after: 1 week Sponsored by: The FreeBSD Foundation, Packet.net (hardware) Notes: svn path=/head/; revision=325683
* boot1: avoid using NULL device pathEd Maste2017-11-101-14/+15
| | | | | | | | | | | | | | | | As of r323063 boot1 printed out the path & device from which it was loaded, but uboot's EFI implementation lacked some support, resulting in a NULL pointer and a crash. Check for a NULL pointer and avoid reporting (and storing in the environment) the device and path in this case. Submitted by: Zakary Nafziger <worldofzak@gmail.com> MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D13038 Notes: svn path=/head/; revision=325681
* cxgbe(4): Excluce mdi from the check against port capabilities.Navdeep Parhar2017-11-101-1/+2
| | | | | | | | MFC after: 1 week Sponsored by: Chelsio Communications Notes: svn path=/head/; revision=325680
* Check that the pmc index is less than the number of hardware PMCs,Konstantin Belousov2017-11-101-3/+2
| | | | | | | | | | | | | instead of asserting the condition. The row index is directly supplied by userspace, the kernel must handle invalid values. Submitted by: pho MFC after: 3 days Notes: svn path=/head/; revision=325671
* MFV: r325668Jung-uk Kim2017-11-1033-192/+799
|\ | | | | | | | | | | | | Merge ACPICA 20171110. Notes: svn path=/head/; revision=325670
* | Refactoring the interrupt setup code introduced a bug where the driversScott Long2017-11-102-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | would attempt to re-allocate interrupts during a chip reset without first de-allocating them. Doing that right is going to be tricky, so just band-aid it for now so that a re-init doesn't guarantee a failure due to resource re-use. Reported by: gallatin Sponsored by: Netflix Notes: svn path=/head/; revision=325667
* | Add more and update existing mlx5 core firmware structure definitions and bits.Hans Petter Selasky2017-11-105-42/+186
| | | | | | | | | | | | | | | | | | | | This change is part of coming ibcore and mlx5ib updates. Sponsored by: Mellanox Technologies MFC after: 1 week Notes: svn path=/head/; revision=325662
* | Expose the current hardware MTU in mlx5en(4) as a separate entryHans Petter Selasky2017-11-103-2/+8
| | | | | | | | | | | | | | | | | | | | in the sysctl tree. Sponsored by: Mellanox Technologies MFC after: 1 week Notes: svn path=/head/; revision=325661
* | Add support for configuring local multicast and unicast data traffic loopbackHans Petter Selasky2017-11-102-1/+41
| | | | | | | | | | | | | | | | | | | | in mlx5en(4) driver via the sysctl interface. Sponsored by: Mellanox Technologies MFC after: 1 week Notes: svn path=/head/; revision=325660
* | Add support for disabling and enabling RX and TX DMA rings in mlx5en(4).Hans Petter Selasky2017-11-103-0/+189
| | | | | | | | | | | | | | | | | | | | This is useful for supporting setups similar to Netmap. Sponsored by: Mellanox Technologies MFC after: 1 week Notes: svn path=/head/; revision=325659
* | Make physical address of init segment available in the priv of mlx5 core.Hans Petter Selasky2017-11-102-2/+3
| | | | | | | | | | | | | | | | | | | | This change is needed by mlx5ib(4). Sponsored by: Mellanox Technologies MFC after: 1 week Notes: svn path=/head/; revision=325658
* | Add API function to query port performance counters for infiniband and RoCEHans Petter Selasky2017-11-102-0/+24
| | | | | | | | | | | | | | | | | | | | traffic in mlx5 core. Sponsored by: Mellanox Technologies MFC after: 1 week Notes: svn path=/head/; revision=325657
* | Add API functions to query and modify local loopback of multicast andHans Petter Selasky2017-11-102-0/+76
| | | | | | | | | | | | | | | | | | | | unicast traffic in mlx5 core. Sponsored by: Mellanox Technologies MFC after: 1 week Notes: svn path=/head/; revision=325656
* | Add API function to query virtual port counters in mlx5 core.Hans Petter Selasky2017-11-102-2/+42
| | | | | | | | | | | | | | | | Sponsored by: Mellanox Technologies MFC after: 1 week Notes: svn path=/head/; revision=325655
* | Add API functions to modify the transport interface send object, TIS,Hans Petter Selasky2017-11-102-2/+15
| | | | | | | | | | | | | | | | | | | | in mlx5 core. Sponsored by: Mellanox Technologies MFC after: 1 week Notes: svn path=/head/; revision=325654
* | Add API functions to set and query dropless port mode in mlx5 core.Hans Petter Selasky2017-11-102-0/+42
| | | | | | | | | | | | | | | | Sponsored by: Mellanox Technologies MFC after: 1 week Notes: svn path=/head/; revision=325653
* | Prevent mlx5 core from accessing host memory after shutdown by disablingHans Petter Selasky2017-11-101-0/+7
| | | | | | | | | | | | | | | | | | | | PCI busmaster. Sponsored by: Mellanox Technologies MFC after: 1 week Notes: svn path=/head/; revision=325652
* | Set ATOMIC endian mode in mlx5 core.Hans Petter Selasky2017-11-102-2/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | The hardware is capable of 2 requestor endianness modes for standard 8 byte atomics: BE (0x0) and host endianness (0x1). Read the supported modes from hca atomic capabilities and configure HW to host endianness mode if supported. Sponsored by: Mellanox Technologies MFC after: 1 week Notes: svn path=/head/; revision=325651
* | Add const keyword to input-only argument in mlx5 core.Hans Petter Selasky2017-11-102-2/+2
| | | | | | | | | | | | | | | | Sponsored by: Mellanox Technologies MFC after: 1 week Notes: svn path=/head/; revision=325650
* | Make local variable 64-bits to avoid masking away bits in mlx5 core.Hans Petter Selasky2017-11-101-1/+1
| | | | | | | | | | | | | | | | Sponsored by: Mellanox Technologies MFC after: 1 week Notes: svn path=/head/; revision=325649
* | Implement support for decoding general port notification event inHans Petter Selasky2017-11-102-1/+40
| | | | | | | | | | | | | | | | | | | | the mlx5 core module. Sponsored by: Mellanox Technologies MFC after: 1 week Notes: svn path=/head/; revision=325648
* | loader.efi: efi_devpath_is_prefix should return boolToomas Soome2017-11-102-9/+9
| | | | | | | | | | | | | | | | | | | | | | efi_devpath_is_prefix() is currently returning values 0 or 1, which means it really should return bool. Additionally, use unsigned len, because we only get unsigned values from DevicePathNodeLength(). Notes: svn path=/head/; revision=325641
* | Refactor the flowsteering APIs used by mlx5en(4). This change is needed byHans Petter Selasky2017-11-1016-1738/+4510
| | | | | | | | | | | | | | | | | | | | | | | | | | the coming ibcore and mlx5ib updates in order to support traffic redirection to so-called raw ethernet QPs. Remove unused E-switch related routines and files while at it. Sponsored by: Mellanox Technologies MFC after: 1 week Notes: svn path=/head/; revision=325638
* | Mark ipoib device as initialized on device open.Hans Petter Selasky2017-11-101-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Set the IPOIB_FLAG_INITIALIZED on dev_open and clear it on dev_stop to avoid a race between ipoib load and the underlying device driver. The device module must dispatch the IB_EVENT_PORT_ACTIVE event before ipoib module is loaded. Otherwise, the flush will fail since no one set the IPOIB_FLAG_INITIALIZED. Submitted by: Slava Shwartsman <slavash@mellanox.com> Sponsored by: Mellanox Technologies MFC after: 1 week Notes: svn path=/head/; revision=325637
* | Remove some not needed comments in the LinuxKPI. Use the Linux source treeHans Petter Selasky2017-11-101-23/+0
| | | | | | | | | | | | | | | | | | | | | | to lookup documentation for the functions implemented in the LinuxKPI instead. MFC after: 1 week Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=325635
* | Add new USB quirk.Hans Petter Selasky2017-11-102-0/+2
| | | | | | | | | | | | | | | | | | Submitted by: Kris G <netsick@gmail.com> Sponsored by: Mellanox Technologies MFC after: 1 week Notes: svn path=/head/; revision=325630
* | Properly initialize the full md_page structureJustin Hibbits2017-11-101-0/+1
| | | | | | | | Notes: svn path=/head/; revision=325629
* | Book-E pmap_mapdev_attr() improvementsJustin Hibbits2017-11-101-13/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | * Check TLB1 in all mapdev cases, in case the memattr matches an existing mapping (doesn't need to be MAP_DEFAULT). * Fix mapping where the starting address is not a multiple of the widest size base. For instance, it will now properly map 0xffffef000, size 0x11000 using 2 TLB entries, basing it at 0x****f000, instead of 0x***00000. MFC after: 2 weeks Notes: svn path=/head/; revision=325628
* | systm.h: Include cdefs.h firstConrad Meyer2017-11-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ever since r143063, machine/atomic.h requires cdefs.h. So, include it first. Weak support: style(9) tells us to include cdefs.h first. Argument against: since code that includes systm.h still compiles, compilation units that include systm.h must already include cdefs.h. So, an argument could be made that the cdefs.h include could just be removed entirely. That is maybe a bigger change and not one I am interested in bikeshedding. Universe compiles. Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=325625
* | Introduce EVENTHANDLER_LIST and some users.Matt Joras2017-11-098-55/+130
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This introduces a facility to EVENTHANDLER(9) for explicitly defining a reference to an event handler list. This is useful since previously all invokers of events had to do a locked traversal of the global list of event handler lists in order to find the appropriate event handler list. By keeping a pointer to the appropriate list an invoker can avoid this traversal completely. The pointer is initialized with SYSINIT(9) during the eventhandler stage. Users registering interest in events do not need to know if the event is backed by such a list, since the list is added to the global list of lists. As with lists that are not pre-defined it is safe to register for the events before the list has been created. This converts the process_* and thread_* events to using the new facility, as these are events whose locked traversals end up showing up significantly in ports build workflows (and presumably other workflows with many short lived threads/procs). It may be advantageous to convert other events to using the new facility. The el_flags field is now unused, but leave it be so that this revision can be MFC'd. Reviewed by: bdrewery, markj, mjg Approved by: rstone (mentor) In collaboration with: ian MFC after: 4 weeks Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D12814 Notes: svn path=/head/; revision=325621
* | Fix issue with VXLAN-ecapsulated rx h/w checksumming.Sean Bruno2017-11-091-2/+4
| | | | | | | | | | | | | | | | | | Submitted by: grehan Reviewed by: bhargava.marreddy@broadcom.com Differential Revision: https://reviews.freebsd.org/D12976 Notes: svn path=/head/; revision=325620
* | Make sure sin_zero is zero in ibcore. Else socket address maching usingHans Petter Selasky2017-11-091-0/+2
| | | | | | | | | | | | | | | | | | | | bcmp() might fail. Sponsored by: Mellanox Technologies MFC after: 1 week Notes: svn path=/head/; revision=325616
* | Make sure the IPv6 scope ID gets zeroed when exchanging CMA messages in ibcore.Hans Petter Selasky2017-11-091-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | Else the IPv6 address matching might fail. This change adds support for both embedded and non-embedded IPv6 scope IDs when passing a IPv6 link-local socket address to RDMA. Prior to this change only global IPv6 addresses would work with RDMA. Sponsored by: Mellanox Technologies MFC after: 1 week Notes: svn path=/head/; revision=325615
* | Multiple fixes for using IPv6 link-local addresses with RDMA in ibcore.Hans Petter Selasky2017-11-095-165/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) Fail to resolve RDMA address if rtalloc1() returns the loopback device, lo0, as the gateway interface. Currently RDMA loopback is not supported. 2) Use ip_dev_find() and ip6_dev_find() to lookup network interfaces with matching IPv4 and IPv6 addresses, respectivly. 3) In addr_resolve() make sure the "ifa" pointer is always set, also when the "ifp" is NULL. Else a NULL pointer access might happen trying to read from the "ifa" pointer later on. 4) In rdma_addr_find_dmac_by_grh() make sure the "bound_dev_if" field gets set properly instead of passing the scope ID through the IPv6 socket address structure. This is more in line with upstream OFED in Linux. 5) In rdma_addr_find_smac_by_sgid() there is no need to pass the scope ID for IPv6. Either it is stored in the "bound_dev_if" field or ip6_dev_find() will find the correct network device regardless of the scope ID. Sponsored by: Mellanox Technologies MFC after: 1 week Notes: svn path=/head/; revision=325614
* | MFV r325609: 7531 Assign correct flags to prefetched buffersAndriy Gapon2017-11-092-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@272952165423c254ad7708f1b3fe2ff0a6ce408b https://github.com/illumos/illumos-gate/commit/272952165423c254ad7708f1b3fe2ff0a6ce408b https://www.illumos.org/issues/7531 I found that some buffers that could be L2ARC eligible are not flagged such, leading to some performance impact. As a test I ran the same IO workload 10 times in a raw. It is a metadata only workload (files listing). l2arc_noprefetch=0. Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Prakash Surya <prakash.surya@delphix.com> Approved by: Dan McDonald <danmcd@joyent.com> Author: benrubson <ben.rubson@gmail.com> MFC after: 8 days Notes: svn path=/head/; revision=325610
* | MFV r325607: 8607 zfs: variable set but not usedAndriy Gapon2017-11-092-13/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@b852c2f54326f8ac1daa372a88bfe951dd7e20ed https://github.com/illumos/illumos-gate/commit/b852c2f54326f8ac1daa372a88bfe951dd7e20ed https://www.illumos.org/issues/8607 Reviewed by: Yuri Pankov <yuripv@gmx.com> Reviewed by: Igor Kozhukhov <igor@dilos.org> Reviewed by: Matthew Ahrens <mahrens@delphix.com> Approved by: Robert Mustacchi <rm@joyent.com> Author: Toomas Soome <tsoome@me.com> MFC after: 1 week Notes: svn path=/head/; revision=325608
* | MFV r325605: 8713 Buffer overflow in dsl_dataset_name()Andriy Gapon2017-11-091-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@f37ae9a714b97eca91c74c680c20c750c7cf5c02 https://github.com/illumos/illumos-gate/commit/f37ae9a714b97eca91c74c680c20c750c7cf5c02 https://www.illumos.org/issues/8713 If we're creating a pool with version >= SPA_VERSION_DSL_SCRUB (v11) we need to account for additional space needed by the origin dataset which will also be snapshotted: "poolname"+"/"+"$ORIGIN"+"@"+"$ORIGIN". Enforce this limit in pool_namecheck(). Reviewed by: Prakash Surya <prakash.surya@delphix.com> Reviewed by: Matthew Ahrens <mahrens@delphix.com> Approved by: Dan McDonald <danmcd@joyent.com> Author: loli10K <ezomori.nozomu@gmail.com> MFC after: 1 week Notes: svn path=/head/; revision=325606
* | cxgbe(4): Do not request settings not supported by the port.Navdeep Parhar2017-11-091-2/+9
| | | | | | | | | | | | | | | | MFC after: 1 week Sponsored by: Chelsio Communications Notes: svn path=/head/; revision=325596
* | Point people towards our https web site for documentation, http accesses areGavin Atkinson2017-11-091-1/+1
| | | | | | | | | | | | | | | | | | just redirected anyway. MFC after: 1 week Notes: svn path=/head/; revision=325594
* | Fix setting AENQ group in ENA driverMarcin Wojtas2017-11-091-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | With the current state of the AENQ handlers in the ENA driver, only implemented handlers should be indicated. Submitted by: Michal Krawczyk <mk@semihalf.com> Reviewed by: byenduri_gmail.com Obtained from: Semihalf Sponsored by: Amazon, Inc. Differential Revision: https://reviews.freebsd.org/D12872 Notes: svn path=/head/; revision=325593
* | Allow usage of more RX descriptors than 1 in ENA driverMarcin Wojtas2017-11-093-5/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using only 1 descriptor on RX could be an issue, if system would be low on resources and could not provide driver with large chunks of contiguous memory. Submitted by: Michal Krawczyk <mk@semihalf.com> Reviewed by: byenduri_gmail.com Obtained from: Semihalf Sponsored by: Amazon, Inc. Differential Revision: https://reviews.freebsd.org/D12871 Notes: svn path=/head/; revision=325592