]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/log
FreeBSD/FreeBSD.git
8 years agoif_ntb: MFV e26a5843: Move MW/DB management to if_ntb
cem [Sun, 18 Oct 2015 20:20:57 +0000 (20:20 +0000)]
if_ntb: MFV e26a5843: Move MW/DB management to if_ntb

This is the last e26a5843 patch.  The general thrust of the rewrite was
to move more responsibility for Memory Window and Doorbell interrupt
management from the ntb_hw driver to if_ntb.

A number of APIs have been added, removed, or replaced.  The old
DB callback mechanism has been excised.  Instead, callers (if_ntb) are
responsible for configuring MWs and handling their interrupts more
directly.

This adds a tunable, hw.ntb.max_mw_size, allowing users to limit the
size of memory windows used by if_ntb (identical to the Linux modparam
of the same name).

Despite attempts to keep mechanical name changes to separate commits,
some have snuck in here.  At least the driver should be much more
similar to the latest Linux one now -- making porting fixes easier.

Authored by: Allen Hubbe
Obtained from: Linux (Dual BSD/GPL driver)
Sponsored by: EMC / Isilon Storage Division

8 years agoif_ntb: Rename things to match Linux driver
cem [Sun, 18 Oct 2015 20:20:48 +0000 (20:20 +0000)]
if_ntb: Rename things to match Linux driver

No functional change.  Part of the huge rewrite (e26a5843).

Obtained from: Linux (e26a5843) (Dual BSD/GPL driver)
Sponsored by: EMC / Isilon Storage Division

8 years agoif_ntb: Replace handmade bitset macros with sys/bitset.h
cem [Sun, 18 Oct 2015 20:20:38 +0000 (20:20 +0000)]
if_ntb: Replace handmade bitset macros with sys/bitset.h

No functional change.

Sponsored by: EMC / Isilon Storage Division

8 years agoNTB: Flesh out the rest of the xeon_setup_b2b_mw changes
cem [Sun, 18 Oct 2015 20:20:29 +0000 (20:20 +0000)]
NTB: Flesh out the rest of the xeon_setup_b2b_mw changes

Move all Xeon secondary register setup to the setup_b2b_mw routine.  We
use subroutines to make it a bit less wordy than the Linux version.

Adds a new tunable, 'hw.ntb.b2b_mw_share'.  By default, it is off
(zero).  If both sides enable it (any non-zero value), the NTB driver
attempts to use only half of a memory window for remote register MMIO
access.

This is still part of the large Linux rewrite (e26a5843).

Authored by: Allen Hubbe
Obtained from: Linux (e26a5843) (Dual BSD/GPL driver)
Sponsored by: EMC / Isilon Storage Division

8 years agoNTB: "Split ntb_hw_intel and ntb_transport drivers"
cem [Sun, 18 Oct 2015 20:20:20 +0000 (20:20 +0000)]
NTB: "Split ntb_hw_intel and ntb_transport drivers"

This Linux commit was more or less a rewrite.  Unfortunately, the commit
log does not give a lot of context for the rewrite.  I have tried to
faithfully follow the changes made upstream, including matching function
names where possible, while churning the FreeBSD driver as little as
possible.

This is the bulk of the rewrite.  There are two groups of changes to
follow in separate commits: fleshing out the rest of the changes to
xeon_setup_b2b_mw(), and some changes to if_ntb.

Yes, this is a big patch (3 files changed, 416 insertions(+), 237
deletions(-)), but the Linux patch was 13 files changed, 2,589
additions(+) and 2,195 deletions(-).

Original Linux commit log:
Change ntb_hw_intel to use the new NTB hardware abstraction layer.

Split ntb_transport into its own driver.  Change it to use the new NTB
hardware abstraction layer.

Authored by: Allen Hubbe
Obtained from: Linux (e26a5843) (Dual BSD/GPL driver)
Sponsored by: EMC / Isilon Storage Division

8 years agoNTB: Simplify ntb_map_pci_bars
cem [Sun, 18 Oct 2015 20:20:11 +0000 (20:20 +0000)]
NTB: Simplify ntb_map_pci_bars

Skip using a function pointer for shared error logging.

Sponsored by: EMC / Isilon Storage Division

8 years agoNTB: Simplify interrupt handling by merging SoC/Xeon
cem [Sun, 18 Oct 2015 20:20:02 +0000 (20:20 +0000)]
NTB: Simplify interrupt handling by merging SoC/Xeon

Some interrupt-related function names changed to match Linux.

No functional change.  Still part of the huge e26a5843 rewrite in Linux.

Obtained from: Linux (e26a5843) (Dual BSD/GPL driver)
Sponsored by: EMC / Isilon Storage Division

8 years agoNTB: Rename some variables/functions to match Linux
cem [Sun, 18 Oct 2015 20:19:53 +0000 (20:19 +0000)]
NTB: Rename some variables/functions to match Linux

No functional change.

Still part of the huge e26a5843 rewrite.  I'm trying to make it less of
a complete rewrite in the FreeBSD version of the driver.  Still, it
helps if our names match Linux.

Obtained from: Linux (e26a5843) (Dual BSD/GPL driver)
Sponsored by: EMC / Isilon Storage Division

8 years agoNTB: Rename some constants to match Linux
cem [Sun, 18 Oct 2015 20:19:44 +0000 (20:19 +0000)]
NTB: Rename some constants to match Linux

No functional change.

Obtained from: Linux (part of e26a5843) (Dual BSD/GPL driver)
Sponsored by: EMC / Isilon Storage Division

8 years agoEnable ARM_INTRNG on IMX6 platforms, and make the imx_gpio driver an
ian [Sun, 18 Oct 2015 19:54:11 +0000 (19:54 +0000)]
Enable ARM_INTRNG on IMX6 platforms, and make the imx_gpio driver an
interrupt controller.

The latter is required for INTRNG, because of the hardware erratum
workaround installed by the linux folks into the imx6 FDT data, which remaps
an ethernet interrupt to the gpio device.  In the non-INTRNG world we
intercept the call to map the interrupt and map it back to the ethernet
hardware (because we don't need linux's workaround), but in the INTRNG world
we lose the hookpoint where that remapping was happening, but we gain the
ability to work the way linux does by having the gpio driver dispatch the
interrupt.

8 years agoMFV r289535: 5767 fix several problems with zfs test suite
mav [Sun, 18 Oct 2015 19:05:56 +0000 (19:05 +0000)]
MFV r289535: 5767 fix several problems with zfs test suite

Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Christopher Siden <christopher.siden@delphix.com>
Approved by: Gordon Ross <gwr@nexenta.com>
Author: John Wren Kennedy <john.kennedy@delphix.com>

illumos/illumos-gate@52244c0958bdf281ca42932b449f644b4decfdc2

In fact, only unrelated part of that commit is applicable:
8. zpool list -v doesn't print spares
It also doesn't correctly identify log devices.

8 years agoRemove geom_uncompress from TP-MR3020 config. Its now using root on USB
sbruno [Sun, 18 Oct 2015 18:41:30 +0000 (18:41 +0000)]
Remove geom_uncompress from TP-MR3020 config.  Its now using root on USB
and there's no need for it now.

8 years agoAdd VM_KMEM_SIZE_SCALE=1 as these systems are going to have super small
sbruno [Sun, 18 Oct 2015 18:40:11 +0000 (18:40 +0000)]
Add VM_KMEM_SIZE_SCALE=1 as these systems are going to have super small
amount of RAM, e.g. 16M or 32M

Reviewed by: adrian

8 years agoEnable ARM_INTRNG on the pandaboard platform.
ian [Sun, 18 Oct 2015 18:39:16 +0000 (18:39 +0000)]
Enable ARM_INTRNG on the pandaboard platform.

Differential Revision: https://reviews.freebsd.org/D2048

8 years agoMFV r289530: 5847 libzfs_diff should check zfs_prop_get() return
mav [Sun, 18 Oct 2015 18:32:22 +0000 (18:32 +0000)]
MFV r289530: 5847 libzfs_diff should check zfs_prop_get() return

Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Albert Lee <trisk@omniti.com>
Approved by: Dan McDonald <danmcd@omniti.com>
Author: Alexander Eremin <a.eremin@nexenta.com>

illumos/illumos-gate@8430278980a48338e04c7dd52b495b7f1551367a

8 years agoImport ARM_INTRNG, the "next generation" interrupt architecture for arm
ian [Sun, 18 Oct 2015 18:26:19 +0000 (18:26 +0000)]
Import ARM_INTRNG, the "next generation" interrupt architecture for arm
and armv6 architecures.  The primary enhancement over the old design is
support for hierarchical interrupt controllers (such as a gpio driver
which can receive interrupts from a root PIC and act as a PIC itself for
clients interested in handling a change of gpio pin state as an
interrupt).  The new code also provides an infrastructure for mapping
interrupts described in metadata in the form of a "controller reference
plus interrupt number" tuple into the simple "0-n" flat numeric space
understood by rman and the bus resource mechanisms.

Use of the new code is enabled by setting the ARM_INTRNG option, and by
making a few simple changes to the platform's support code.  In addition
each existing PIC driver needs changes to be ready for INTRNG; this commit
contains the changes for the arm/gic driver, which most armv6 SoCs use, but
it does not enable the new code yet on any platform.

This project has been many years in the making, starting as a GSoC project
by Jakub Klama (jceel@) in 2012.  That didn't get committed right away and
the source base evolved out from under it to some degree.  In 2014 I rebased
the diffs to then -current and did some enhancements in the area of mapping
interrupt numbers and storing associated fdt data, then the project went
cold again for a while.  Eventually Svata Kraus took that work in progress
and did another big round of work on it, removing most of the remaining
rough edges.  Finally I took that and made one more pass through it, mostly
disabling the "INTR_SOLO" feature for now, pending further design
discussions on how to most efficiently dispatch a pending interrupt through
more than one layer of PIC.  The current code with the INTR_SOLO feature
disabled uses approximate 100 extra cpu cycles for each cascaded PIC the
interrupt has to be passed to, so what's left to do is about efficiency, not
correct operation.

Differential Revision: https://reviews.freebsd.org/D2047

8 years agoReduce diff from upstream.
mav [Sun, 18 Oct 2015 18:25:00 +0000 (18:25 +0000)]
Reduce diff from upstream.

Should be no functional change.

8 years agoMFV r289526:
mav [Sun, 18 Oct 2015 18:08:33 +0000 (18:08 +0000)]
MFV r289526:
5561 support root pools on EFI/GPT partitioned disks
5125 update zpool/libzfs to manage bootable whole disk pools (EFI/GPT labeled disks)

Reviewed by: Jean McCormack <jean.mccormack@nexenta.com>
Reviewed by: Josef 'Jeff' Sipek <josef.sipek@nexenta.com>
Approved by: Dan McDonald <danmcd@omniti.com>
Author: Hans Rosenfeld <hans.rosenfeld@nexenta.com>

illumos/illumos-gate@1a902ef8628b0dffd6df5442354ab59bb8530962

This is NOP changes for FreeBSD.

8 years agoSwitch the default OpenMP runtime for clang to libomp (from the LLVM
dim [Sun, 18 Oct 2015 17:18:19 +0000 (17:18 +0000)]
Switch the default OpenMP runtime for clang to libomp (from the LLVM
project), as libgomp is not supported anyway.  You can use the
devel/llvm-devel port to install a recent copy of the OpenMP runtime.

8 years agoAdd clang patch corresponding to r289523.
dim [Sun, 18 Oct 2015 17:14:45 +0000 (17:14 +0000)]
Add clang patch corresponding to r289523.

8 years agoPull in r248379 from upstream clang trunk (by Jörg Sonnenberger):
dim [Sun, 18 Oct 2015 17:13:41 +0000 (17:13 +0000)]
Pull in r248379 from upstream clang trunk (by Jörg Sonnenberger):

  Refactor library decision for -fopenmp support from Darwin into a
  function for sharing with other platforms.

Pull in r248424 from upstream clang trunk (by Jörg Sonnenberger):

  Push OpenMP linker flags after linker input on Darwin. Don't add any
  libraries if -nostdlib is specified. Test.

Pull in r248426 from upstream clang trunk (by Jörg Sonnenberger):

  Support linking against OpenMP runtime on NetBSD.

Pull in r250657 from upstream clang trunk (by Dimitry Andric):

  Support linking against OpenMP runtime on FreeBSD.

8 years agoRename arm_init_secondary_ic() -> arm_pic_init_secondary(). The latter is
ian [Sun, 18 Oct 2015 16:54:34 +0000 (16:54 +0000)]
Rename arm_init_secondary_ic() -> arm_pic_init_secondary().  The latter is
the name the function will have when the new ARM_INTRNG code is integrated,
and doing this rename first will make it easier to toggle the new interrupt
handling code on/off with a config option for debugging.

8 years agoCorrectly align the stack. The early csu assumed we passed the aux vector
andrew [Sun, 18 Oct 2015 13:23:21 +0000 (13:23 +0000)]
Correctly align the stack. The early csu assumed we passed the aux vector
in through the stack pointer, however this may have been misaligned
causing some userland applications to crash. A workaround was committed in
r284707 where userland would check if the aux vector was passed using the
old or new ABI and adjust the stack if needed. As 4 months have passed it
is time to move to the new ABI, with the expectation the compat code in csu
and the runtime linker to be removed in the future.

Sponsored by: ABT Systems Ltd

8 years agoFix deletion of ifaddr lle entries when deleting prefix from interface in
melifaro [Sun, 18 Oct 2015 12:26:25 +0000 (12:26 +0000)]
Fix deletion of ifaddr lle entries when deleting prefix from interface in
  down state.

Regression appeared in r287789, where the "prefix has no corresponding
  installed route" case was forgotten. Additionally, lltable_delete_addr()
  was called with incorrect byte order (default is network for lltable code).
While here, improve comments on given cases and byte order.

PR: 203573
Submitted by: phk

8 years agoMFC r289498: 6298 zfs_create_008_neg and zpool_create_023_neg need to be
mav [Sun, 18 Oct 2015 11:44:31 +0000 (11:44 +0000)]
MFC r289498: 6298 zfs_create_008_neg and zpool_create_023_neg need to be
updated for large block support.

Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: John Kennedy <john.kennedy@delphix.com>
Approved by: Robert Mustacchi <rm@joyent.com>
Author: Joe Stein <joe.stein@delphix.com>

illumos/illumos-gate@e9316f7696401f3e5e263a5939031cb8d5641a88

8 years agoMFV r247180: Update vendor/illumos/dist and vendor-sys/illumos/dist
mav [Sun, 18 Oct 2015 11:36:43 +0000 (11:36 +0000)]
MFV r247180: Update vendor/illumos/dist and vendor-sys/illumos/dist
to illumos-gate 13967:92bec6d87f59

Illumos ZFS issues:
  3557 dumpvp_size is not updated correctly when a dump zvol's size is
       changed
  3558 setting the volsize on a dump device does not return back ENOSPC
  3559 setting a volsize larger than the space available sometimes succeeds

8 years agoMFV r289493: 5745 zfs set allows only one dataset property to be set at a time
mav [Sun, 18 Oct 2015 11:21:08 +0000 (11:21 +0000)]
MFV r289493: 5745 zfs set allows only one dataset property to be set at a time

Reviewed by: Christopher Siden <christopher.siden@delphix.com>
Reviewed by: George Wilson <george@delphix.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Bayard Bell <buffer.g.overflow@gmail.com>
Reviewed by: Richard PALO <richard@NetBSD.org>
Reviewed by: Steven Hartland <killing@multiplay.co.uk>
Approved by: Rich Lowe <richlowe@richlowe.net>
Author: Chris Williamson <chris.williamson@delphix.com>

illumos/illumos-gate@30925561c223021e91d15899cbe75f80e54d8889

8 years agoOnly marker is guaranteed to be present on the queue after the relock
kib [Sun, 18 Oct 2015 09:33:28 +0000 (09:33 +0000)]
Only marker is guaranteed to be present on the queue after the relock
in vm_pageout_fallback_object_lock() and vm_pageout_page_lock().  The
check for the m->queue == queue assumes that the page does belong to a
queue.

Modify the 'unchanged' calculation bu dereferencing the marker tailq
pointers, which is known to belong to the queue.  Since for a page m
linked to the queue, m->queue must be equal to the queue index, assert
this instead of checking.

In collaboration with: alc
Sponsored by: The FreeBSD Foundation (kib)
MFC after: 2 weeks

8 years agodrop a bunch of white space at end of lines and end of files...
jmg [Sun, 18 Oct 2015 08:13:51 +0000 (08:13 +0000)]
drop a bunch of white space at end of lines and end of files...
-x -wb apparently doesn't hide end of file white space changes..

This is to reduce the amount of diff for my PCIe HP changes..

8 years agopage sized is not spelled 4096 on all arches...
jmg [Sun, 18 Oct 2015 08:08:37 +0000 (08:08 +0000)]
page sized is not spelled 4096 on all arches...

8 years agoMake libxo depend on libutil because it uses humanize_number after r287111
ngie [Sun, 18 Oct 2015 07:30:50 +0000 (07:30 +0000)]
Make libxo depend on libutil because it uses humanize_number after r287111

Remove overlinking in lib/libxo/tests, sbin/savecore, and
usr.bin/{iscsictl,wc,xo}

PR: 203673
Sponsored by: EMC / Isilon Storage Division

8 years agoClean up trailing whitespace
ngie [Sun, 18 Oct 2015 05:51:44 +0000 (05:51 +0000)]
Clean up trailing whitespace

MFC after: 3 days

8 years agoIntegrate contrib/netbsd-tests/bin/dd into the FreeBSD test suite as
ngie [Sun, 18 Oct 2015 05:49:58 +0000 (05:49 +0000)]
Integrate contrib/netbsd-tests/bin/dd into the FreeBSD test suite as
bin/dd/tests

Ensure fdescfs is mounted on /dev/fd/ for the length testcase as it's used
in validating the characters read from /dev/zero

MFC after: 2 weeks
Sponsored by: EMC / Isilon Storage Division

8 years agoIntegrate contrib/netbsd-tests/bin/dd into the FreeBSD test suite as bin/dd/tests
ngie [Sun, 18 Oct 2015 05:29:49 +0000 (05:29 +0000)]
Integrate contrib/netbsd-tests/bin/dd into the FreeBSD test suite as bin/dd/tests

8 years agoEnsure fdescfs is mounted on /dev/fd/ in the length testcase
ngie [Sun, 18 Oct 2015 05:25:51 +0000 (05:25 +0000)]
Ensure fdescfs is mounted on /dev/fd/ in the length testcase

8 years agoMFhead @ r289481
ngie [Sun, 18 Oct 2015 04:50:53 +0000 (04:50 +0000)]
MFhead @ r289481

8 years agoCorrectly use the default values for location of MAC addrs of arge0,
sbruno [Sun, 18 Oct 2015 04:50:51 +0000 (04:50 +0000)]
Correctly use the default values for location of MAC addrs of arge0,
arge1, ath0.  woo!

Reviewed by: adrian

8 years agoOnly enable -fstack-protector-strong on gcc 4.9+ and default to -fstack-protector
ngie [Sun, 18 Oct 2015 04:07:40 +0000 (04:07 +0000)]
Only enable -fstack-protector-strong on gcc 4.9+ and default to -fstack-protector
when -fstack-protector-strong is not available, like it was implicitly before
r288669

As noted by antoine@, devel/gcc (which is 4.8.5) lacks -fstack-protector-strong
support, whereas 4.8.4i (devel/gcc48) has the support.

Until a version is available which has -fstack-protector-strong support, be
conservative and only enable support with 4.9+.

Reviewed by: pfg
X-MFC with: r288669, r289465
Differential Revision: https://reviews.freebsd.org/D3924

8 years agoReally fix ipfilter bug 3600459.
cy [Sun, 18 Oct 2015 03:09:03 +0000 (03:09 +0000)]
Really fix ipfilter bug 3600459.

Obtained from: ipfilter cvs repo r1.48.2.25, r1.72 and NetBSD repo r1.4
MFC after: 3 days

8 years agoPort over diff from ^/user/ngie/more-tests to replace `make test` with `make regress`
ngie [Sun, 18 Oct 2015 01:21:29 +0000 (01:21 +0000)]
Port over diff from ^/user/ngie/more-tests to replace `make test` with `make regress`

8 years agoFix a strange macro re-definition compile error. If the VM_MAXUSER_ADDRESS
ian [Sun, 18 Oct 2015 01:03:43 +0000 (01:03 +0000)]
Fix a strange macro re-definition compile error.  If the VM_MAXUSER_ADDRESS
value is defined as a config option the definition is emitted into
opt_global.h which is force-included into everything.  In addition, the
symbol is emitted by the genassym mechanism, but that by its nature reduces
the value to a 0xnnnnnnnn number.  When compiling a .S file you end up
with two different definitions of the macro (they evaluate to the same
number, but the text is different, upsetting the compiler).

Nothing has changed about this code for a while but the compile error is
new, so this must be fallout from the clang 3.7 update or something.

8 years agoif_arge: fix up TX workaround; add TX/RX requirements for busdma; add stats
adrian [Sun, 18 Oct 2015 00:59:28 +0000 (00:59 +0000)]
if_arge: fix up TX workaround; add TX/RX requirements for busdma; add stats

The early ethernet MACs (I think AR71xx and AR913x) require that both
TX and RX require 4-byte alignment for all packets.

The later MACs have started relaxing the requirements.

For now, the 1-byte TX and 1-byte RX alignment requirements are only for
the QCA955x SoCs.  I'll add in the relaxed requirements as I review the
datasheets and do testing.

* Add a hardware flags field and 1-byte / 4-byte TX/RX alignment.
* .. defaulting to 4-byte TX and 4-byte RX alignment.
* Only enforce the TX alignment fixup if the hardware requires a 4-byte
  TX alignment.  This avoids a call to m_defrag().
* Add counters for various situations for further debugging.
* Set the 1-byte and 4-byte busdma alignment requirement when
  the tag is created.

This improves the straight bridging performance from 130mbit/sec
to 180mbit/sec, purely by removing the need for TX path bounce buffers.

The main performance issue is the RX alignment requirement and any RX
bounce buffering that's occuring.  (In a local test, removing the RX
fixup path and just aligning buffers raises the performance to above
400mbit/sec.

In theory it's a no-op for SoCs before the QCA955x.

Tested:

* QCA9558 SoC in AP135 board, using software bridging between arge0/arge1.

8 years agoMFhead @ r289471
ngie [Sat, 17 Oct 2015 22:20:06 +0000 (22:20 +0000)]
MFhead @ r289471

8 years agoMake iscsictl and iscsid build if MK_ISCSI == yes
ngie [Sat, 17 Oct 2015 21:11:42 +0000 (21:11 +0000)]
Make iscsictl and iscsid build if MK_ISCSI == yes

MFC after: 1 month
X-MFC with: r289452

8 years agoDocument bitset(9)
cem [Sat, 17 Oct 2015 19:55:58 +0000 (19:55 +0000)]
Document bitset(9)

8 years agoReplace build_section_pagetable with build_l1_block_pagetable as it takes
andrew [Sat, 17 Oct 2015 19:52:17 +0000 (19:52 +0000)]
Replace build_section_pagetable with build_l1_block_pagetable as it takes
an extra argument to specify the number of 1GiB pages to map. This should
be a nop as we are only mapping a single page, but when we move to use an
extra level of page tables we will be able to map a second block, e.g. if
the kernel was loaded over a 1GiB boundary.

8 years agoOnly use -fstack-protector-strong with supported compilers
ngie [Sat, 17 Oct 2015 19:48:17 +0000 (19:48 +0000)]
Only use -fstack-protector-strong with supported compilers

This includes clang 3.5.0+, gcc 4.2.1, gcc 4.8.4+

This allows me to do subdirectory makes again after setting
MAKESYSPATH on 10.2-RELEASE as it comes with clang 3.4.1.

As a sidenote: this isn't technically correct for all vintages
of gcc 4.2.1, but will be correct when gcc is rebuilt/reinstalled
after r286074, so this version check should be good enough.

X-MFC with: r288669
Differential Revision: https://reviews.freebsd.org/D3924
Reviewed by: emaste, pfg

8 years agoRemove unneeded MK_CTF=no when MK_CDDL=no.
bdrewery [Sat, 17 Oct 2015 18:59:14 +0000 (18:59 +0000)]
Remove unneeded MK_CTF=no when MK_CDDL=no.

This has been handled since r228158 made MK_CTF dependent on MK_CDDL
in share/mk/bsd.opts.mk.

MFC after: 2 weeks
Sponsored by: EMC / Isilon Storage Division

8 years agoFix wrong PATH being set for world 'includes' stage after r289438.
bdrewery [Sat, 17 Oct 2015 18:22:18 +0000 (18:22 +0000)]
Fix wrong PATH being set for world 'includes' stage after r289438.

The 'includes' target is currently a pseudo target in bsd.subdir.mk that
does 'cd ${.CURDIR} && ${MAKE} buildincludes && ${MAKE} installincludes',
versus all over targets that just recurse.

In Makefile.inc1 the older duplicated bsd.subdir.mk logic for calling
'includes' was being executed in each subdir directly, meaning 'cd lib && make
includes' became 'cd lib && make buildincludes && make installincludes'.  Now
that the bsd.subdir.mk logic is used it is calling 'make buildincludes && make
installincludes' from the top-level which pulls in the PATH=<default path>
from /Makefile.

The sub-make logic for 'includes' in bsd.subdir.mk was attempted to be removed
in r289282 but turned out to be wrong.  I have a working version now but
it is not yet ready for commit.  So for now in Makefile.inc1 split out
'includes' to 'buildincludes' and 'installincludes' which will avoid the
problem.

MFC after: 2 weeks
X-MFC-With: r289438
Sponsored by: EMC / Isilon Storage Division

8 years agoRemove several compat functions from pre-fib era.
melifaro [Sat, 17 Oct 2015 17:26:44 +0000 (17:26 +0000)]
Remove several compat functions from pre-fib era.

8 years agoRework the 'make -n -n' feature such that '-n' recurses and '-N' does not.
bdrewery [Sat, 17 Oct 2015 16:42:54 +0000 (16:42 +0000)]
Rework the 'make -n -n' feature such that '-n' recurses and '-N' does not.

Bmake has a documented feature of '-N' to skip executing commands which is
specifically intended for debugging top-level builds and not recursing into
sub-directories.  This matches the older 'make -n' behavior we added which made
'-n -n' the recursing target and '-n' a non-recursing target.

Removing the '-n -n' feature allows the build to work as documented in
the bmake manpage with '-n' and '-N'.  The older '-n -n' feature was also
not documented anywhere that I could see.

Note that the ${_+_} var is still needed as currently bmake incorrectly
executes '+' commands when '-N' is specified.

The '-n' and '-n -n' features were broken for several reasons prior to this.
r251748 made '_+_' never expand with '-n -n' which resulted in many
sub-directories not being visited until fixed 2 years later in r288391, and
many targets were given .MAKE over the past few years which resulted in
non-sub-make commands, such as rm and ln and mtree, to be executed.

This should also allow removing some indirection hacks in bsd.subdir.mk and
other cases of .USE that have a .MAKE by using '+'.

Sponsored by: EMC / Isilon Storage Division
Discussed on: arch@ (mostly silence)

8 years agoRemove write-only variable.
trasz [Sat, 17 Oct 2015 16:05:42 +0000 (16:05 +0000)]
Remove write-only variable.

Submitted by: Dominic Marks
MFC after: 1 month
Sponsored by: The FreeBSD Foundation

8 years agoConditionalize the META_MODE tool handling on MK_META_MODE.
bdrewery [Sat, 17 Oct 2015 15:50:52 +0000 (15:50 +0000)]
Conditionalize the META_MODE tool handling on MK_META_MODE.

It was not being used outside of META_MODE but this should make it more clear
that it is only for META_MODE.

Sponsored by: EMC / Isilon Storage Division

8 years agoDon't page-align the physical address when calling PHYS_TO_VM_PAGE().
jah [Sat, 17 Oct 2015 14:58:55 +0000 (14:58 +0000)]
Don't page-align the physical address when calling PHYS_TO_VM_PAGE().

M    busdma_bounce.c

8 years agodrm/i915: Reduce diff with Linux 3.8
dumbbell [Sat, 17 Oct 2015 14:48:39 +0000 (14:48 +0000)]
drm/i915: Reduce diff with Linux 3.8

There is no functional change. The goal is to ease the future update to
Linux 3.8's i915 driver.

MFC after: 2 months

8 years agoRename build_block_pagetable to build_l2_block_pagetable in preperation
andrew [Sat, 17 Oct 2015 14:07:47 +0000 (14:07 +0000)]
Rename build_block_pagetable to build_l2_block_pagetable in preperation
for adding support for 4 levels of page tables.

Obtained from: Patrick Wildt <patrick@bitrig.org>

8 years agoAdd checks for kernel VA accesses to the copyin(9) and related
kib [Sat, 17 Oct 2015 13:20:42 +0000 (13:20 +0000)]
Add checks for kernel VA accesses to the copyin(9) and related
functions on arm64.

Reviewed by: andrew
Sponsored by: The FreeBSD Foundation
Differential revision: https://reviews.freebsd.org/D3907

8 years agoAdd -w flag to iscsictl(8) utility, to make it wait for successfull
trasz [Sat, 17 Oct 2015 13:06:52 +0000 (13:06 +0000)]
Add -w flag to iscsictl(8) utility, to make it wait for successfull
session establishment.  Scripting is kind of hard without it.

Reviewed by: mav@
MFC after: 1 month
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D3872

8 years agoAdd iscsictl(8) and iscsid(8) to rescue(8). The point is to make it
trasz [Sat, 17 Oct 2015 13:00:34 +0000 (13:00 +0000)]
Add iscsictl(8) and iscsid(8) to rescue(8).  The point is to make it
easier to build md_root images from rescue(8), to use with iSCSI boot.

The change increases the size of rescue by 62kB, from 8728kB to 8790kB.

Reviewed by: bapt@
MFC after: 1 month
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D3865

8 years agoInstall share/zoneinfo in a deterministic way by sorting the results from find
ngie [Sat, 17 Oct 2015 09:26:16 +0000 (09:26 +0000)]
Install share/zoneinfo in a deterministic way by sorting the results from find

This helps produce deterministic METALOG output

PR: 200674
Submitted by: Fabian Keil <fk@fabiankeil.de>
Reviewed by: emaste
MFC after: 1 week
Obtained from: ElectroBSD

8 years agoSet dev->fd to -1 when calling cam_close_spec_device with a valid dev->fd
ngie [Sat, 17 Oct 2015 09:07:53 +0000 (09:07 +0000)]
Set dev->fd to -1 when calling cam_close_spec_device with a valid dev->fd
descriptor to avoid trashing valid file descriptors that access dev->fd at a
later point in time

PR: 192671
Submitted by: Scott Ferris <scott.ferris@isilon.com>
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division

8 years agoReplace /dev/acd0 with /dev/cd1
ngie [Sat, 17 Oct 2015 08:51:10 +0000 (08:51 +0000)]
Replace /dev/acd0 with /dev/cd1

atapicd(4) has been removed since r249083, and if a system has more than one
optical drive, it will likely be /dev/cd1

Update mount.conf(8) to reflect the change in behavior

MFC after: never
Sponsored by: EMC / Isilon Storage Division

8 years agoIntegrate tools/regression/acltools into the FreeBSD test suite as tests/sys/acl
ngie [Sat, 17 Oct 2015 08:39:37 +0000 (08:39 +0000)]
Integrate tools/regression/acltools into the FreeBSD test suite as tests/sys/acl

- Make the requirements more complete for the testcases
- Detect prerequisites so the tests won't fail (zfs.ko is loaded, zpool(1)
  is available, ACL support is enabled with UFS, etc).
- Work with temporary files/directories/mountpoints that work with atf/kyua
- Limit the testcases to work on temporary filesystems to reduce tainting the
  test host

MFC after: 2 weeks
Reviewed by: trasz (earlier version)
Differential Revision: https://reviews.freebsd.org/D3810

8 years agoFix ZFS ABI compat shims for `zfs receive` after r289362.
mav [Sat, 17 Oct 2015 07:32:46 +0000 (07:32 +0000)]
Fix ZFS ABI compat shims for `zfs receive` after r289362.

Difference appeared much less drammatic then seemed originally.

8 years agoFor 'buildenvvars' show any .exported variables as well to cover recent
bdrewery [Sat, 17 Oct 2015 05:57:29 +0000 (05:57 +0000)]
For 'buildenvvars' show any .exported variables as well to cover recent
exporting of OSRELDATE and VERSION.  These already do export to 'buildenv'
fine.

Sponsored by: EMC / Isilon Storage Division

8 years agoAlways export VERSION to the environment to avoid looking it up again in
bdrewery [Sat, 17 Oct 2015 05:55:45 +0000 (05:55 +0000)]
Always export VERSION to the environment to avoid looking it up again in
sub-makes.

Some of the world phases that used plain '${MAKE} -f Makefile.inc1' were not
passing this variable along which caused them to look it up again.  By
using bmake's .export we can remove it from all of the other environment
lines.

Add a comment about the usage for VERSION for ctfmerge.

Sponsored by: EMC / Isilon Storage Division

8 years agoDo as r289391 did for share/mk and make installing to a non-existent directory
bdrewery [Sat, 17 Oct 2015 05:49:07 +0000 (05:49 +0000)]
Do as r289391 did for share/mk and make installing to a non-existent directory
an error.

Most of these do a 'mkdir -p' or 'install -d' before installing, but add
the trailing / here for consistency with the userland install.

MFC after: 2 weeks
X-MFC-With: r289391
Sponsored by: EMC / Isilon Storage Division

8 years agoIntegrate tools/test/posixshm and tools/regression/posixshm into the FreeBSD
ngie [Sat, 17 Oct 2015 04:32:21 +0000 (04:32 +0000)]
Integrate tools/test/posixshm and tools/regression/posixshm into the FreeBSD
test suite as tests/sys/posixshm

Some other highlights:
- Convert the testcases over to ATF
- Don't use hardcoded paths to /tmp (which violate the ATF/kyua samdbox); use
  mkstemp to generate temporary paths for non-SHM_ANON shm objects.

MFC after: 2 weeks
Sponsored by: EMC / Isilon Storage Division

8 years agoExport OSRELDATE so sub-makes don't look it up again.
bdrewery [Sat, 17 Oct 2015 04:03:53 +0000 (04:03 +0000)]
Export OSRELDATE so sub-makes don't look it up again.

We pass BOOTSTRAPPING=${OSRELDATE} to some of the sub-makes.  Rather than
chase every ${MAKE} invokation, just export it as bmake lets us.

Sponsored by: EMC / Isilon Storage Division

8 years agoRework the world subdir build targets to use the standard SUBDIR_PARALLEL mechanism.
bdrewery [Sat, 17 Oct 2015 03:51:50 +0000 (03:51 +0000)]
Rework the world subdir build targets to use the standard SUBDIR_PARALLEL mechanism.

Back in r30113, the 'par-*' targets were added to parallelize portions of
the build in a very similar fashion as the SUBDIR_PARALLEL feature used in
r263778.  Calling a target without 'par-' (for 'parallel') resulted in the
standard bsd.subdir.mk handling without parallelization.  Given we have
SUBDIR_PARALLEL now there is no reason to duplicate the handling here.

In build logs this will result in the ${dir}.${target}__D targets now showing
as the normal ${target}_subdir_${dir} targets.

I audited all of the uses of Makefile.inc1 and Makefile's targets that use
bsd.subdir.mk and found that all but 'all' and 'install' were fine to use
as always parallel.
  - For 'install' (from installworld -j) the ordering of lib/ and libexec/
    before the rest of the system (described in r289433), and etc/ being last
    (described in r289435), is all that matters.  So now a .WAIT is added in
    the proper places when invoking any 'install*' target.  A parallel
    installworld does work and took 46% of the time a non-parallel
    install would take on my system with -j15 to ZFS.
  - For 'all' I left the default handling for this to not run in parallel.  A
    'par-all' target is still used by the 'everything' stage of buildworld
    to continue building in parallel as it already has been.  This works
    because most of the dependencies are handled by the early bootstrap
    phases as well as 'libraries' and 'includes' phases.  This lets
    all of the SUBDIR build in parallel fine, such as bin/ and lib/.  This
    will not work if the user invokes 'all' though as we have dependencies
    spread all over the system with no way to depend between them (except
    for the dirdeps feature in the META_MODE build).  Calling 'make all'
    from the top-level is still useful at least when using SUBDIR_OVERRIDE.

MFC after: 2 weeks
Sponsored by: EMC / Isilon Storage Division

8 years agoUnify posixshm.c and shm_test.c
ngie [Sat, 17 Oct 2015 03:13:22 +0000 (03:13 +0000)]
Unify posixshm.c and shm_test.c

Convert both testcases over to ATF

Don't use hardcoded paths to /tmp; use mkstemp to generate
temporary paths for non-SHM_ANON created shm objects.

8 years agoFix adding manpages installed by LOCAL_DIRS to whatis file.
bdrewery [Fri, 16 Oct 2015 23:53:37 +0000 (23:53 +0000)]
Fix adding manpages installed by LOCAL_DIRS to whatis file.

The ordering of 'etc' in the install has a long history dating back to the
first time it was realized it needed to be "last" in r4486.  That commit
still left it before LOCAL_DIRS though.  By having it before LOCAL_DIRS
any manpages they install were not being added to the whatis database in the
install image.  They would likely show up in the file after a periodic
rebuild of the file though.

Currently the whatis file is built by an 'afterinstall' hook in etc/Makefile
that calls share/man's 'makedb' target.

MFC after: 2 weeks
Sponsored by: EMC / Isilon Storage Division

8 years agoRemove lockf as an ITOOL.
bdrewery [Fri, 16 Oct 2015 22:41:31 +0000 (22:41 +0000)]
Remove lockf as an ITOOL.

It was added in r152006 to handle serializing access of info/dir when
installing INFO files.  We no longer support INFO files since r276551
though.

Sponsored by: EMC / Isilon Storage Division

8 years agoCorrect a bitrotted comment about installworld order requirements.
bdrewery [Fri, 16 Oct 2015 21:09:15 +0000 (21:09 +0000)]
Correct a bitrotted comment about installworld order requirements.

The case of make(1) using a new /bin/sh issue was fixed in r173219 when ITOOLS
was introduced.

There are still issues with mid-install errors leaving a system unusable that
are currently non-trivial to solve.  The safest ordering requires installing
rtld, libc and libthr (in that order) before anything else.  We don't do that
now though.  Much improvement is needed here still.

Discussed with: kip and kan (rtld/library ordering)
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division

8 years agoTweak the guard more to suggest 'all' if SUBDIR_OVERRIDE is specified. In that
bdrewery [Fri, 16 Oct 2015 20:59:03 +0000 (20:59 +0000)]
Tweak the guard more to suggest 'all' if SUBDIR_OVERRIDE is specified.  In that
case 'all' does make sense.

MFC after: 2 weeks
X-MFC-With: r289411
Sponsored by: EMC / Isilon Storage Division

8 years agoRemove .MAKE from targets that do more than just run sub-makes, such as
bdrewery [Fri, 16 Oct 2015 20:23:04 +0000 (20:23 +0000)]
Remove .MAKE from targets that do more than just run sub-makes, such as
calling rm or mtree.

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division

8 years agoRevert an extra hunk that crept into the last commit.
scottl [Fri, 16 Oct 2015 20:18:12 +0000 (20:18 +0000)]
Revert an extra hunk that crept into the last commit.

Submitted by: emax
Obtained from: Netflix, Inc.
MFC after: 3 days

8 years agoRemove _FreeBSD_version check for something that was only an issue with
scottl [Fri, 16 Oct 2015 17:56:43 +0000 (17:56 +0000)]
Remove _FreeBSD_version check for something that was only an issue with
9-CURRENT.

Obtained from:  Netlfix, Inc
MFC after:      3 days

8 years agoAdd support for ARM EABI.
jkim [Fri, 16 Oct 2015 17:50:36 +0000 (17:50 +0000)]
Add support for ARM EABI.

MFC after: 1 week

8 years agonewfs_msdos: prefer snprintf to sprintf
emaste [Fri, 16 Oct 2015 15:19:36 +0000 (15:19 +0000)]
newfs_msdos: prefer snprintf to sprintf

Obtained from: NetBSD
Sponsored by: The FreeBSD Foundation

8 years agoIf falloc_caps() failed, cleanup needs to be performed. This is a bug
kib [Fri, 16 Oct 2015 14:55:39 +0000 (14:55 +0000)]
If falloc_caps() failed, cleanup needs to be performed.  This is a bug
in r289026.

Sponsored by: The FreeBSD Foundation

8 years agoMFV r289310:
mav [Fri, 16 Oct 2015 14:45:21 +0000 (14:45 +0000)]
MFV r289310:
4185 add new cryptographic checksums to ZFS: SHA-512, Skein, Edon-R

Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Prakash Surya <prakash.surya@delphix.com>
Reviewed by: Saso Kiselkov <saso.kiselkov@nexenta.com>
Reviewed by: Richard Lowe <richlowe@richlowe.net>
Approved by: Garrett D'Amore <garrett@damore.org>
Author: Matthew Ahrens <mahrens@delphix.com>

illumos/illumos-gate@45818ee124adeaaf947698996b4f4c722afc6d1f

This is only a partial merge of respective ZFS infrastructure changes.
At this moment FreeBSD kernel has no those crypto algorithms, so the
parts of the code to enable them are commented out.  When they are
implemented, it will be trivial to plug them in.

8 years agoAdd default leap-seconds file. This should help ntp networks get the
cy [Fri, 16 Oct 2015 14:04:16 +0000 (14:04 +0000)]
Add default leap-seconds file. This should help ntp networks get the
leap second date correct

Updates to the file can be obtained from ftp://time.nist.gov/pub/ or
ftp://tycho.usno.navy.mil/pub/ntp/.

Suggested by: dwmalone
Reviewed by: roberto, dwmalone, delphij
Approved by: roberto
MFC after: 1 week

8 years agoUse fopen()'s newfangled "e" flag instead of explicit fcntl() calls.
des [Fri, 16 Oct 2015 12:53:22 +0000 (12:53 +0000)]
Use fopen()'s newfangled "e" flag instead of explicit fcntl() calls.

PR: 199801
Submitted by: Jukka Ukkonen <jau@iki.fi>
MFC after: 1 week

8 years agoFix two bugs in HTTPS tunnelling:
des [Fri, 16 Oct 2015 12:21:44 +0000 (12:21 +0000)]
Fix two bugs in HTTPS tunnelling:
 - If the proxy returns a non-200 result, set the error code accordingly
   so the caller / user gets a somewhat meaningful error message.
 - Consume and discard any HTTP response header following the result line.

PR: 194483
Tested by: Fabian Keil <fk@fabiankeil.de>
MFC after: 1 week

8 years agoUse the right variable name.
ed [Fri, 16 Oct 2015 10:26:15 +0000 (10:26 +0000)]
Use the right variable name.

MACHINE_CPUARCH expands to aarch64 for arm64, whereas MACHINE always
corresponds to the directory name under sys/ that contains the sources
for that architecture.

8 years agoBump version and add notice about incompatibility introduced by resumable
mav [Fri, 16 Oct 2015 08:57:11 +0000 (08:57 +0000)]
Bump version and add notice about incompatibility introduced by resumable
send/receive support in ZFS.

8 years agoTweak the default target to not suggest 'all' since it really doesn't do
bdrewery [Fri, 16 Oct 2015 05:59:59 +0000 (05:59 +0000)]
Tweak the default target to not suggest 'all' since it really doesn't do
anything useful for most users.

MFC after: 2 weeks
Sponsored by: EMC / Isilon Storage Division

8 years agoAvoid warning race with creating 'ldscripts' directory during build.
bdrewery [Fri, 16 Oct 2015 05:54:41 +0000 (05:54 +0000)]
Avoid warning race with creating 'ldscripts' directory during build.

In r204548 the 'rm -f ldscripts' was added likely due to reading the
conditional as 'else it is a file'.  That seems unlikely though and
the more likely case is just that the directory hasn't been created yet.

Because this races with ,ssother scripts, use 'mkdir -p' which is a minimal
modification vs upstream to avoid the warning of 'File exists' if another
script creates it first.  This could replace the 'test -d' as well but
then it's more unneeded change to the upstream script.

Sponsored by: EMC / Isilon Storage Division

8 years agoAdd entries for moved test symbols for r289355 and r289330.
bdrewery [Fri, 16 Oct 2015 05:13:21 +0000 (05:13 +0000)]
Add entries for moved test symbols for r289355 and r289330.

This list is likely not complete.

Sponsored by: EMC / Isilon Storage Division

8 years agoSimilar to r289355, /usr/tests is within the base system so put the symbols
bdrewery [Fri, 16 Oct 2015 05:06:43 +0000 (05:06 +0000)]
Similar to r289355, /usr/tests is within the base system so put the symbols
into /usr/lib/debug.

This covers some missing files:
  /usr/tests/libexec/rtld-elf/.debug
  /usr/tests/libexec/rtld-elf/.debug/libpythagoras.so.0.debug
  /usr/tests/lib/libc/tls/.debug
  /usr/tests/lib/libc/tls/.debug/libh_tls_dynamic.so.1.debug
  /usr/tests/lib/libc/tls/.debug/h_tls_dlopen.so.debug
  /usr/tests/lib/libthr/dlopen/.debug
  /usr/tests/lib/libthr/dlopen/.debug/h_pthread_dlopen.so.1.debug
  /usr/tests/lib/libxo/.debug
  /usr/tests/lib/libxo/.debug/libenc_test.so.debug

Sponsored by: EMC / Isilon Storage Division

8 years agoFix delete-old and check-old-files not removing old debug symbols.
bdrewery [Fri, 16 Oct 2015 04:07:27 +0000 (04:07 +0000)]
Fix delete-old and check-old-files not removing old debug symbols.

This was handled for libraries in r256842 but for some reason was missed
for files (bsd.prog.mk).

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
Relnotes: yes

8 years agoDo not relocate extents to make them contiguous if the underlying drive can do
imp [Fri, 16 Oct 2015 03:06:02 +0000 (03:06 +0000)]
Do not relocate extents to make them contiguous if the underlying drive can do
deletions. Ability to do deletions is a strong indication that this
optimization will not help performance. It will only generate extra write
traffic. These devices are typically flash based and have a limited number of
write cycles. In addition, making the file contiguous in LBA space doesn't
improve the access times from flash devices because they have no seek time.

Reviewed by: mckusick@

8 years agocxgbe(4): support for the kernel RSS option.
np [Fri, 16 Oct 2015 01:19:55 +0000 (01:19 +0000)]
cxgbe(4): support for the kernel RSS option.

You need PCBGROUP and RSS in the kernel config to use this.

Relnotes: Yes
Sponsored by: Chelsio Communications

8 years agoFix a panic when destroying a lagg interface.
hrs [Fri, 16 Oct 2015 01:16:01 +0000 (01:16 +0000)]
Fix a panic when destroying a lagg interface.

Differential Revision: https://reviews.freebsd.org/D3883

8 years agoRename the /usr/share/doc/legal files to driver.LICENSE to work around
bdrewery [Fri, 16 Oct 2015 00:38:05 +0000 (00:38 +0000)]
Rename the /usr/share/doc/legal files to driver.LICENSE to work around
bug of installing 'realtek' and 'intel_iwn' as files rather then as
a 'LICENSE' file in their directories.

Also add obsolete entries for the older names and names that existed in head
for a period of time.

Suggested by: jmg
X-MFC-With: r289391
MFC after: 3 weeks
Sponsored by: EMC / Isilon Storage Division

8 years agoSort new entry intel_iwn.
bdrewery [Thu, 15 Oct 2015 23:49:05 +0000 (23:49 +0000)]
Sort new entry intel_iwn.

Submitted by: ngie
MFC after: 3 weeks
X-MFC-With: r289391
Sponsored by: EMC / Isilon Storage Division

8 years agoNTB: MFV ab760a0c: Add split BAR support for Haswell
cem [Thu, 15 Oct 2015 23:46:07 +0000 (23:46 +0000)]
NTB: MFV ab760a0c: Add split BAR support for Haswell

On the Haswell platform, a split BAR option to allow creation of 2 32bit
BARs (4 and 5) from the 64bit BAR 4. Adding support for this new option.

Authored by: Dave Jiang
Obtained from: Linux (Dual BSD/GPL driver)
Sponsored by: EMC / Isilon Storage Division

8 years agoNTB: Add variable number MW, DB CB support code
cem [Thu, 15 Oct 2015 23:45:43 +0000 (23:45 +0000)]
NTB: Add variable number MW, DB CB support code

This is a follow-up to r289208: "Xeon Errata Workaround."

Add logic to support a variable number of memory windows and doorbell
callbacks.  This was added to the Linux driver in the "Xeon Errata
Workaround" commit, but I skipped it because it didn't look neccessary
at the time.  It is needed for future Haswell split-BAR support, so
bring it in now.

A new tunable was added for if_ntb, 'hw.ntb.max_num_clients'.  By
default, it is set to zero -- infer the number of clients from the
number of memory windows available from the hardware.  Any other
positive value can specify a different number of clients, limited by the
number of doorbell callbacks available (4 under MSI-X, or 15 (Xeon) or
34 (SoC) under legacy INTx).

Obtained from: Linux (Dual BSD/GPL driver)
Sponsored by: EMC / Isilon Storage Division

8 years agoAdd missing /usr/share/doc/legal/realtek/ for share/doc/legal/realtek,
bdrewery [Thu, 15 Oct 2015 23:45:00 +0000 (23:45 +0000)]
Add missing /usr/share/doc/legal/realtek/ for share/doc/legal/realtek,
exposed by r289391.

MFC after: 3 weeks
X-MFC-With: 289391
Sponsored by: EMC / Isilon Storage Division