]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/log
FreeBSD/FreeBSD.git
4 years agoUpdate tcsh to git revision 83c5be0 bringing in a number of bug fixes.
brooks [Mon, 21 Oct 2019 21:21:34 +0000 (21:21 +0000)]
Update tcsh to git revision 83c5be0 bringing in a number of bug fixes.

Reported by: sobomax
MFC after: 3 days
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D22099

4 years agoif_tuntap: remove if_{tun,tap}.ko -> if_tuntap.ko links
kevans [Mon, 21 Oct 2019 20:28:38 +0000 (20:28 +0000)]
if_tuntap: remove if_{tun,tap}.ko -> if_tuntap.ko links

These drivers have been merged into a single if_tuntap in 13.0. The
compatibility links existed only for the interim and will be MFC'd along
with the if_tuntap merge shortly.

MFC after: never

4 years agolualoader: fix setting of loader_color=NO in loader.conf(5)
kevans [Mon, 21 Oct 2019 20:17:31 +0000 (20:17 +0000)]
lualoader: fix setting of loader_color=NO in loader.conf(5)

Previously color.disabled would be calculated at color module load time,
then never touched again. We can detect serial boots beyond just what we're
told by loader.conf(5) so this works out in many cases, but we must
re-evaluate the situation after the config is loaded to make sure we're not
supposed to be forcing it enabled/disabled.

Discovered while trying to test r353872.

4 years agolualoader: don't botch disabling of color
kevans [Mon, 21 Oct 2019 20:09:43 +0000 (20:09 +0000)]
lualoader: don't botch disabling of color

When colors are disabled, color.escape{fg,bg} would return the passed in
color rather than the proper ANSI sequence for the color.
color.escape{fg,bg} would be wrong.

Instead return '', as the associated reset* functions will also return ''.
This should get rid of the funky '2' and '4' in the kernel selector if
you're booting serial.

Reported by: npn

4 years agoAdditional fix for -DNO_CLEAN build across r353340 and r353381
emaste [Mon, 21 Oct 2019 18:40:03 +0000 (18:40 +0000)]
Additional fix for -DNO_CLEAN build across r353340 and r353381

opensolaris_atomic.S is now only used on i386 with opensolaris_atomic.c
used on other platforms.  After r353381 it doesn't exist on those
platforms so the stale dependency would result in a build error.

r353408 addressed this issue for cddl/lib/libzpool, but it persisted
with the opensolaris and zfs modules.

4 years agoRemove epoch tracker from struct thread. It was an ugly crutch to emulate
glebius [Mon, 21 Oct 2019 18:19:32 +0000 (18:19 +0000)]
Remove epoch tracker from struct thread.  It was an ugly crutch to emulate
locking semantics for if_addr_rlock() and if_maddr_rlock().

4 years agoRemove obsoleted KPIs that were used to access interface address lists.
glebius [Mon, 21 Oct 2019 18:17:03 +0000 (18:17 +0000)]
Remove obsoleted KPIs that were used to access interface address lists.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:13:37 +0000 (18:13 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:13:33 +0000 (18:13 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:13:28 +0000 (18:13 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:13:24 +0000 (18:13 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:13:19 +0000 (18:13 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:13:14 +0000 (18:13 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:12:58 +0000 (18:12 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:12:40 +0000 (18:12 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:12:36 +0000 (18:12 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:12:31 +0000 (18:12 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:12:26 +0000 (18:12 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:12:21 +0000 (18:12 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:12:17 +0000 (18:12 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:12:12 +0000 (18:12 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:12:07 +0000 (18:12 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:12:02 +0000 (18:12 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:11:58 +0000 (18:11 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:11:54 +0000 (18:11 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:11:48 +0000 (18:11 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:11:43 +0000 (18:11 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:11:38 +0000 (18:11 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:11:32 +0000 (18:11 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:11:28 +0000 (18:11 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:11:24 +0000 (18:11 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:11:19 +0000 (18:11 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:11:15 +0000 (18:11 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:11:11 +0000 (18:11 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:11:08 +0000 (18:11 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:11:02 +0000 (18:11 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:10:58 +0000 (18:10 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:10:52 +0000 (18:10 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:10:46 +0000 (18:10 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:08:25 +0000 (18:08 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:08:20 +0000 (18:08 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:08:16 +0000 (18:08 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:08:12 +0000 (18:08 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:08:03 +0000 (18:08 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:07:56 +0000 (18:07 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:07:53 +0000 (18:07 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:07:49 +0000 (18:07 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:07:44 +0000 (18:07 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:07:40 +0000 (18:07 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:07:35 +0000 (18:07 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:07:32 +0000 (18:07 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:07:28 +0000 (18:07 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:07:24 +0000 (18:07 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:07:19 +0000 (18:07 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:07:15 +0000 (18:07 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:07:11 +0000 (18:07 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:07:07 +0000 (18:07 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:07:02 +0000 (18:07 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:06:57 +0000 (18:06 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:06:53 +0000 (18:06 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:06:31 +0000 (18:06 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:06:26 +0000 (18:06 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:06:23 +0000 (18:06 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:06:19 +0000 (18:06 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:06:15 +0000 (18:06 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:06:09 +0000 (18:06 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:06:06 +0000 (18:06 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:05:43 +0000 (18:05 +0000)]
Convert to if_foreach_llmaddr() KPI.

This driver seems to have a bug.  The bug was carefully saved during
conversion.  In the al_eth_mac_table_unicast_add() the argument 'addr',
which is the actual address is unused.  So, the function is called as
many times as we have addresses, but with the exactly same argument
list.  This doesn't make any sense, but was preserved.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 18:00:17 +0000 (18:00 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 17:59:53 +0000 (17:59 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 17:59:16 +0000 (17:59 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agoConvert to if_foreach_llmaddr() KPI.
glebius [Mon, 21 Oct 2019 17:59:02 +0000 (17:59 +0000)]
Convert to if_foreach_llmaddr() KPI.

4 years agotuntap(4): restrict scope of net.link.tap.user_open slightly
kevans [Mon, 21 Oct 2019 14:38:11 +0000 (14:38 +0000)]
tuntap(4): restrict scope of net.link.tap.user_open slightly

net.link.tap.user_open has historically allowed non-root users to do devfs
cloning and open /dev/tap* nodes based on permissions. Loosen this up to
make it only allow users to do devfs cloning -- we no longer check it in
tunopen.

This allows tap devices to be created that can actually be opened by a user,
rather than swiftly restricting them to root because the magic sysctl has
not been set.

The sysctl has not yet been completely deprecated, because more thought is
needed for how to handle the devfs cloning case. There is not an easy
suitable replacement for the sysctl there, and more care needs to be placed
in determining whether that's OK or not.

PR: 200185

4 years agodebug,kassert.warnings is a statistic, not a tunable
avg [Mon, 21 Oct 2019 12:21:56 +0000 (12:21 +0000)]
debug,kassert.warnings is a statistic, not a tunable

MFC after: 1 week

4 years ago[PPC64] Add minidump support to PowerNV
luporl [Mon, 21 Oct 2019 11:56:57 +0000 (11:56 +0000)]
[PPC64] Add minidump support to PowerNV

Implementation of PowerNV specific minidump code.

Reviewed by: jhibbits
Differential Revision: https://reviews.freebsd.org/D21643

4 years agofrag6: import a set of test cases
bz [Mon, 21 Oct 2019 09:33:45 +0000 (09:33 +0000)]
frag6: import a set of test cases

In order to ensure that changing the frag6 code does not change behaviour
or break code a set of test cases were implemented.

Like some other test cases these use Scapy to generate packets and possibly
wait for expected answers.  In most cases we do check the global and
per interface (netstat) statistics output using the libxo output and grep
to validate fields and numbers.  This is a bit hackish but we currently have
no better way to match a selected number of stats only (we have to ignore
some of the ND6 variables; otherwise we could use the entire list).

Test cases include atomic fragments, single fragments, multi-fragments,
and try to cover most error cases in the code currently.
In addition vnet teardown is tested to not panic.

A separate set (not in-tree currently) of probes were used in order to
make sure that the test cases actually test what they should.

The "sniffer" code was copied and adjusted from the netpfil version
as we sometimes will not get packets or have longer timeouts to deal with.

Sponsored by: Netflix

4 years agofrag6: fix vnet teardown leak
bz [Mon, 21 Oct 2019 08:48:47 +0000 (08:48 +0000)]
frag6: fix vnet teardown leak

When shutting down a VNET we did not cleanup the fragmentation hashes.
This has multiple problems: (1) leak memory but also (2) leak on the
global counters, which might eventually lead to a problem on a system
starting and stopping a lot of vnets and dealing with a lot of IPv6
fragments that the counters/limits would be exhausted and processing
would no longer take place.

Unfortunately we do not have a useable variable to indicate when
per-VNET initialization of frag6 has happened (or when destroy happened)
so introduce a boolean to flag this. This is needed here as well as
it was in r353635 for ip_reass.c in order to avoid tripping over the
already destroyed locks if interfaces go away after the frag6 destroy.

While splitting things up convert the TRY_LOCK to a LOCK operation in
now frag6_drain_one().  The try-lock was derived from a manual hand-rolled
implementation and carried forward all the time.  We no longer can afford
not to get the lock as that would mean we would continue to leak memory.

Assert that all the buckets are empty before destroying to lock to
ensure long-term stability of a clean shutdown.

Reported by: hselasky
Reviewed by: hselasky
MFC after: 3 weeks
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D22054

4 years agofrag6: add read-only sysctl for nfrags.
bz [Mon, 21 Oct 2019 08:36:15 +0000 (08:36 +0000)]
frag6: add read-only sysctl for nfrags.

Add a read-only sysctl exporting the global number of fragments
(base system and all vnets).  This is helpful to (a) know how many
fragments are currently being processed, (b) if there are possible
leaks, (c) if vnet teardown is not working correctly, and lastly
(d) it can be used as part of test-suits to ensure (a) to (c).

MFC after: 3 weeks
Sponsored by: Netflix

4 years agotools/tools/locale: allow POSIX target to be built in parallel
yuripv [Mon, 21 Oct 2019 03:01:05 +0000 (03:01 +0000)]
tools/tools/locale: allow POSIX target to be built in parallel

While it's rarely used target, more so a one not used during the
buildworld, it helps when it's not taking hours (literally).

4 years agopicobsd: add deprecation notices
kevans [Mon, 21 Oct 2019 00:52:21 +0000 (00:52 +0000)]
picobsd: add deprecation notices

Notices appear both in picobsd(8) (near the top for easy notice) and are
also printed to stderr on every invocation of picobsd for visibility.

The tentative date for removal is October 31st, as no volunteers have
stepped forward at all from postings to -arch@ at least.

No objection from: -arch@
MFC after: 3 days

4 years agotuntap(4): use cdevpriv w/ dtor for last close instead of d_close
kevans [Sun, 20 Oct 2019 22:55:47 +0000 (22:55 +0000)]
tuntap(4): use cdevpriv w/ dtor for last close instead of d_close

cdevpriv dtors will be called when the reference count on the associated
struct file drops to 0, while d_close can be unreliable for cleaning up
state at "last close" for a number of reasons. As far as tunclose/tundtor is
concerned the difference is minimal, so make the switch.

4 years agotuntap(4): Use make_dev_s to avoid si_drv1 race
kevans [Sun, 20 Oct 2019 22:39:40 +0000 (22:39 +0000)]
tuntap(4): Use make_dev_s to avoid si_drv1 race

This allows us to avoid some dance in tunopen for dealing with the
possibility of dev->si_drv1 being NULL as it's set prior to the devfs node
being created in all cases.

There's still the possibility that the tun device hasn't been fully
initialized, since that's done after the devfs node was created. Alleviate
this by returning ENXIO if we're not to that point of tuncreate yet.

This work is what sparked r353128, full initialization of cloned devices
w/ specified make_dev_args.

4 years agotuntap(4): break out after setting TUN_DSTADDR
kevans [Sun, 20 Oct 2019 21:06:25 +0000 (21:06 +0000)]
tuntap(4): break out after setting TUN_DSTADDR

This is now the only flag we set in this loop, terminate early.

4 years agotuntap(4): Drop TUN_IASET
kevans [Sun, 20 Oct 2019 21:03:48 +0000 (21:03 +0000)]
tuntap(4): Drop TUN_IASET

This flag appears to have been effectively unused since introduction to
if_tun(4) -- drop it now.

4 years agoAdd a manpage for ng_pipe(4).
brueffer [Sun, 20 Oct 2019 20:57:57 +0000 (20:57 +0000)]
Add a manpage for ng_pipe(4).

Submitted by: Lutz Donnerhacke <lutz_donnerhacke.de>
Reviewed by: bcr (previous version)
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D22067

4 years agoFix option names in the Examples section of the manual page
asomers [Sun, 20 Oct 2019 20:29:17 +0000 (20:29 +0000)]
Fix option names in the Examples section of the manual page

This corrects an oversight from r351423.

Submitted by: Ján Sučan <sucanjan@gmail.com>
MFC after: Never
Differential Revision: https://reviews.freebsd.org/D22093

4 years ago- In em_intr(), just call em_handle_link() instead of duplicating it.
marius [Sun, 20 Oct 2019 17:40:50 +0000 (17:40 +0000)]
- In em_intr(), just call em_handle_link() instead of duplicating it.
- In em_msix_link(), properly handle IGB-class devices after the iflib(4)
  conversion again by only setting EM_MSIX_LINK for the EM-class 82574
  and by re-arming link interrupts unconditionally, i. e. not only in
  case of spurious interrupts. This fixes the interface link state change
  detection for the IGB-class. [1]
- In em_if_update_admin_status(), only re-arm the link state change
  interrupt for 82574 and also only if such a device uses MSI-X, i. e.
  takes advantage of autoclearing. In case of INTx and MSI as well as
  for LEM- and IGB-class devices, re-arming isn't appropriate here and
  setting EM_MSIX_LINK isn't either.
  While at it, consistently take advantage of the hw variable.

PR: 236724 [1]
Differential Revision: https://reviews.freebsd.org/D21924

4 years agopowerpc/booke: Don't zero MAS8, it's unnecessary
jhibbits [Sun, 20 Oct 2019 15:50:33 +0000 (15:50 +0000)]
powerpc/booke: Don't zero MAS8, it's unnecessary

MAS8 is hypervisor privileged, defining the logical partition (VM) to
operate on for TLB accesses.  It's already guaranteed to be cleared when
booting bare metal (bootloader needs it zeroed to work), and we can't touch
it from a guest.  Assume that if/when we eventually port bhyve to PowerPC
(and Book-E) the hypervisor module will take care of managing MAS8.  This
saves several (tens) of clocks on each TLB miss.

MFC after: 2 weeks

4 years agonetmap: minor misc improvements
vmaffione [Sun, 20 Oct 2019 14:15:45 +0000 (14:15 +0000)]
netmap: minor misc improvements

 - use ring->head rather than ring->cur in lb(8)
 - use strlcat() rather than strncat()
 - fix bandwidth computation in pkt-gen(8)

MFC after: 1 week

4 years agoAdd driver for DesignWare PCIE core, and its Armada 8K specific attachement.
mmel [Sun, 20 Oct 2019 11:11:32 +0000 (11:11 +0000)]
Add driver for DesignWare PCIE core, and its Armada 8K specific attachement.

MFC after: 3 weeks

4 years agoUpdate Armada 8k drivers to cover newly imported DT and latest changes
mmel [Sun, 20 Oct 2019 10:48:27 +0000 (10:48 +0000)]
Update Armada 8k drivers to cover newly imported DT and latest changes
in simple multifunction driver.
- follow interrupt changes in DT. Split old ICU driver to function oriented
  parts and add drivers for newly defined parts (system error interrupts).
- Many drivers are children of simple multifunction driver. But after r349596
  simple MF driver doesn't longer exports memory resources, and all children
  must use syscon interface to access their registers. Adapt affected
  drivers to this fact.

MFC after: 3 weeks

4 years agoFix spelling of DPSRCS.
bdrewery [Sat, 19 Oct 2019 21:44:33 +0000 (21:44 +0000)]
Fix spelling of DPSRCS.

Submitted by: vangyzen
Sponsored by: DellEMC
MFC after: 2 weeks

4 years agoFix compile issues when building a kernel without the VIMAGE option.
tuexen [Sat, 19 Oct 2019 20:48:53 +0000 (20:48 +0000)]
Fix compile issues when building a kernel without the VIMAGE option.
Thanks to cem@ for discussing the issue which resulted in this patch.

Reviewed by: cem@
Sponsored by: Netflix, Inc.
Differential Revision: https://reviews.freebsd.org/D22089

4 years agoAdd the fstat -s option to display socket information.
jlh [Sat, 19 Oct 2019 19:52:19 +0000 (19:52 +0000)]
Add the fstat -s option to display socket information.

Reviewed by: jilles
MFC after: 1 week
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D21880

4 years agoRemove IS_INADDR_ANY().
jlh [Sat, 19 Oct 2019 19:38:53 +0000 (19:38 +0000)]
Remove IS_INADDR_ANY().

Requested by rgrimes@ in
https://lists.freebsd.org/pipermail/svn-src-head/2019-October/129784.html

4 years agohw.intrbalance: Make sysctl tunable
cem [Sat, 19 Oct 2019 16:37:49 +0000 (16:37 +0000)]
hw.intrbalance: Make sysctl tunable

This allows specifying a boot-time preference in loader.conf.

4 years agopowerpc/booke pmap: Fix printf format type warnings
jhibbits [Sat, 19 Oct 2019 16:09:06 +0000 (16:09 +0000)]
powerpc/booke pmap: Fix printf format type warnings

4 years agoMerge ACPICA 20191018.
jkim [Sat, 19 Oct 2019 14:56:44 +0000 (14:56 +0000)]
Merge ACPICA 20191018.

4 years agoloader: zfs_fmtdev can crash when pool discovery did fail and we have no spa
tsoome [Sat, 19 Oct 2019 08:08:06 +0000 (08:08 +0000)]
loader: zfs_fmtdev can crash when pool discovery did fail and we have no spa

When zfs probe did fail and no spa was created, but zfs_fmtdev() is called,
we will crash while dereferencing spa (NULL pointer dereference).

MFC after: 1 week

4 years agobuildkernel: always add standard kernel configuration include path
avg [Sat, 19 Oct 2019 07:16:20 +0000 (07:16 +0000)]
buildkernel: always add standard kernel configuration include path

This should change nothing for kernel configurations at the standard
locations in the source tree.  However, if KERNCONFDIR is used to
specify a custom location for a kernel configuration file (e.g., out of
tree), then both the custom location and the standard location, in this
order, will be used as include paths for config(8).  This will allow the
kernel configuration to include files from both locations.

Reviewed by: bdrewery
MFC after: 16 days
Differential Revision: https://reviews.freebsd.org/D22057