]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/log
FreeBSD/FreeBSD.git
7 years agoMFC 306821,306823: Permit updating firmware config file in flash.
jhb [Mon, 5 Dec 2016 23:02:26 +0000 (23:02 +0000)]
MFC 306821,306823: Permit updating firmware config file in flash.

306821:
cxgbe(4): Add an ioctl to copy a firmware config file to the card's flash.

306823:
cxgbetool: Add a loadcfg subcommand to allow a user to upload a firmware
configuration file to the card.

7 years agoMFC 306277:
jhb [Mon, 5 Dec 2016 22:13:09 +0000 (22:13 +0000)]
MFC 306277:
cxgbe(4): Make the location/length of all descriptor rings available in
the sysctl MIB.

7 years agoMFC 305695,305696,305699,305702,305703,305713,305715,305827,305852,305906,
jhb [Mon, 5 Dec 2016 20:43:25 +0000 (20:43 +0000)]
MFC 305695,305696,305699,305702,305703,305713,305715,305827,305852,305906,
305908,306062,306063,306137,306138,306206,306216,306273,306295,306301,
306465,309302:
Add support for adapters using the Terminator T6 ASIC.

305695:
cxgbe(4): Set up fl_starve_threshold2 accurately for T6.

305696:
cxgbe(4): Use correct macro for header length with T6 ASICs.  This
affects the transmit of the VF driver only.

305699:
cxgbe(4): Update the pad_boundary calculation for T6, which has a
different range of boundaries.

305702:
cxgbe(4): Use smaller min/max bursts for fl descriptors with a T6.

305703:
cxgbe(4): Deal with the slightly different SGE_STAT_CFG in T6.

305713:
cxgbe(4): Add support for additional port types and link speeds.

305715:
cxgbe(4): Catch up with the rename of tlscaps -> cryptocaps.  TLS is one
of the capabilities of the crypto engine in T6.

305827:
cxgbe(4): Use the interface's viid to calculate the PF/VF/VFValid fields
to use in tx work requests.

305852:
cxgbe(4): Attach to cards with the Terminator 6 ASIC.  T6 cards will
come up as 't6nex' nexus devices with 'cc' ports hanging off them.

The T6 firmware and configuration files will be added as soon as they
are released.  For now the driver will try to work with whatever
firmware and configuration is on the card's flash.

305906:
cxgbe/t4_tom: The SMAC entry for a VI is at a different location in the T6.

305908:
cxgbe/t4_tom: Update the active/passive open code to support T6.  Data
path works as-is.

306062:
cxgbe(4): Show wcwr_stats for T6 cards.

306063:
cxgbe(4): Setup congestion response for T6 rx queues.

306137:
cxgbetool: Add T6 support to the SGE context decoder.

306138:
Fix typo.

306206:
cxgbe(4): Catch up with the different layout of WHOAMI in T6.

Note that the code moved below t4_prep_adapter() as part of this change
because now it needs a working chip_id().

306216:
cxgbe(4): Fix the output of the "tids" sysctl on T6.

306273:
cxgbe(4): Fix netmap with T6, which doesn't encapsulate SGE_EGR_UPDATE
message inside a FW_MSG.  The base NIC already deals with updates in
either form.

306295:
cxgbe(4): Support SIOGIFXMEDIA so that ifconfig displays correct media
for 25Gbps and 100Gbps ports.   This should have been part of r305713,
which is when the driver first started reporting extended media types.

306301:
cxgbe(4): Use the port's top speed to figure out whether it is "high
speed" or not (for the purpose of calculating the number of queues etc.)
This does the right thing for 25Gbps and 100Gbps ports.

306465:
cxgbe(4): Claim the T6 -DBG card.

309302:
cxgbe(4): Include firmware for T6 cards in the driver.  Update all
firmwares to 1.16.12.0.

Sponsored by: Chelsio Communications

7 years agoMFC 305667:
jhb [Mon, 5 Dec 2016 19:37:15 +0000 (19:37 +0000)]
MFC 305667:
cxgbe(4): Avoid a NULL dereference in the clearstats ioctl handler.
Port softc's are not initialized when the adapter is in recovery mode.

7 years agoMFC 305652: cxgbe(4): Do not prescreen frames before attempting LRO.
jhb [Mon, 5 Dec 2016 19:34:52 +0000 (19:34 +0000)]
MFC 305652: cxgbe(4): Do not prescreen frames before attempting LRO.

7 years agoMFC 305433:
jhb [Mon, 5 Dec 2016 19:32:06 +0000 (19:32 +0000)]
MFC 305433:
cxgbe/t4_tom: toepcb should be all-zero on allocation because the code
that cleans up on failure assumes that non-NULL values indicate
initialized items.

7 years agoMFC 303688,303750,305166,305167: Centralize and rework page pod handling.
jhb [Mon, 5 Dec 2016 19:15:33 +0000 (19:15 +0000)]
MFC 303688,303750,305166,305167: Centralize and rework page pod handling.

303688:
cxgbe/t4_tom: Read the chip's DDP page sizes and save them in a
per-adapter data structure.  This replaces a global array with hardcoded
page sizes.

303750:
cxgbe/t4_tom: The page pod arena allocates from pod address space and
not index space.  The minimum valid allocation out of this arena is the
size of a single page pod.

305166:
cxgbe/t4_tom: Add general purpose routines to deal with page pod regions
and allocations within them.  Switch to these routines to manage the TOE
DDP region.

305167:
cxgbe/t4_tom: Two new routines to allocate and write page pods for a
buffer in the kernel's address space.

Sponsored by: Chelsio Communications

7 years agoMFC r308943
hiren [Mon, 5 Dec 2016 06:20:27 +0000 (06:20 +0000)]
MFC r308943

For RTT calculations mid-session, we explicitly ignore ACKs with tsecr of 0 as
many borken middle-boxes tend to do that. But during 3whs, in syncache_expand(),
we don't do that which causes us to send a RST to such a client. Relax this
constraint by only using tsecr to compare against timestamp that we sent when it
is not 0. As a result, we'd now accept the final ACK of 3whs with tsecr of 0.

Sponsored by: Limelight Networks

7 years agoMFC r309026: open(2): Clarify non-POSIX error when opening a symlink with
jilles [Sun, 4 Dec 2016 15:55:59 +0000 (15:55 +0000)]
MFC r309026: open(2): Clarify non-POSIX error when opening a symlink with
O_NOFOLLOW.

We return [EMLINK] instead of [ELOOP] when trying to open a symlink with
O_NOFOLLOW, so that the original case of [ELOOP] can be distinguished. Code
like cmp -h and xz takes advantage of this.

PR: 214633

7 years agoMFC r309209:
kib [Sun, 4 Dec 2016 00:33:07 +0000 (00:33 +0000)]
MFC r309209:
Do not enable nullfs vnode caching over nfs v4 mounts.

7 years agoMFC: r308871
rmacklem [Sat, 3 Dec 2016 21:49:26 +0000 (21:49 +0000)]
MFC: r308871
Modify umount so that it does not do an Unmount RPC for NFSv4 mounts
and uses TCP for the Unmount RPC if the mount is over TCP.
Without this patch, umount does an Unmount RPC over UDP for all NFS mounts.

7 years agoMFC r308250:
trasz [Sat, 3 Dec 2016 21:27:19 +0000 (21:27 +0000)]
MFC r308250:

Check for lengths being <= 0.  Note that this interface can only
be accessed by root.  It uses unsigned ints instead of size_t
to preserve the ABI.

PR: 207627

7 years agoMFC r308209:
trasz [Sat, 3 Dec 2016 21:23:43 +0000 (21:23 +0000)]
MFC r308209:

Fix getfsstat(2) with MNT_WAIT to not skip filesystems that are in the
process of being unmounted.  Previously it would skip them, even if the
unmount eventually failed eg due to the filesystem being busy.

This behaviour broke autounmountd(8) - if you tried to manually unmount
a mounted filesystem, using 'automount -u', and the autounmountd attempted
to refresh the filesystem list in that very moment, it would conclude that
the filesystem got unmounted and not try to unmount it afterwards.

7 years agoMFC r308088:
trasz [Sat, 3 Dec 2016 21:19:45 +0000 (21:19 +0000)]
MFC r308088:

Fix getfsstat(2) handling of flags. The 'flags' argument is an enum,
not a bitfield. For the intended usage - being passed either MNT_WAIT,
or MNT_NOWAIT - this shouldn't introduce any changes in behaviour.

7 years agoMFC r309356: svn 1.9.4 -> 1.9.5
peter [Sat, 3 Dec 2016 20:30:05 +0000 (20:30 +0000)]
MFC r309356: svn 1.9.4 -> 1.9.5

7 years agoMFC r308206:
trasz [Sat, 3 Dec 2016 19:53:15 +0000 (19:53 +0000)]
MFC r308206:

Make autounmountd(8) not die when traced with "truss -p".

7 years agoMFC r308668:
gonzo [Sat, 3 Dec 2016 17:40:26 +0000 (17:40 +0000)]
MFC r308668:

[evdev] Add evdev support to kbdmux(4) driver

To enable event sourcing from kbdmux(4) kern.evdev.rcpt_mask value
should have bit 1 set (this is default)

Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru>
Differential Revision: https://reviews.freebsd.org/D8437

7 years agoMFC r309189:
kib [Sat, 3 Dec 2016 17:10:04 +0000 (17:10 +0000)]
MFC r309189:
Fix automatic eventtimer hardware selection when ARAT is not implemented,
and do not ignore TSCDLT.

7 years agoMFC r309474:
ngie [Sat, 3 Dec 2016 03:59:24 +0000 (03:59 +0000)]
MFC r309474:

Don't build :strvis_locale if VIS_NOLOCALE is undefined

The copy of contrib/libc-vis on ^/stable/10 doesn't contain all of the features
in the ^/stable/11 // ^/head version, including VIS_NOLOCALE. The risk is lower
in conditionally running the test instead of backporting the newer version of
libc-vis

7 years agoMFC r309472:
ngie [Sat, 3 Dec 2016 03:15:09 +0000 (03:15 +0000)]
MFC r309472:

Restore pathing for factor(1), which unnecessarily diverged in r278616

factor lives in /usr/games/, not /usr/bin, in NetBSD.

The correct way to handle this is do on-the-fly manipulation of the test
script via ATF_TESTS_SH_SED_<foo>, not by modify the pathing directly in
the test script.

This is being done to resolve an unnecessary conflict made when pulling
back ^/head@r309469 (contrib/netbsd-tests update) to ^/stable/10.

No functional change

7 years agoMFC r305449:
ngie [Sat, 3 Dec 2016 03:05:44 +0000 (03:05 +0000)]
MFC r305449:

Install h_db to unbreak some of the lib/libc/db testcases after
r305358

7 years agoMFC r305451:
ngie [Sat, 3 Dec 2016 03:04:20 +0000 (03:04 +0000)]
MFC r305451:

Fix lib/libc/rpc test assumptions added in r305358

- Require root in the tcp/udp subtests (it's needed on FreeBSD when
  registering services).
- Skip the tests if service registration fails.

7 years agoMFC r304797,r305467,r305468,r305483:
ngie [Sat, 3 Dec 2016 02:55:19 +0000 (02:55 +0000)]
MFC r304797,r305467,r305468,r305483:

r304797 (by jmmv):

Make use of Kyua's work directories.

Change the vnode tests to use the current directory when creating temporary
files, which we can assume is a volatile work directory, and then make the
kqueue_test.sh driver _not_ abandon the directory created by Kyua.

This makes the various kqueue tests independent of each other, and ensures
the temporary file is cleaned up on failure.

Problem spotted by asomers@ when reviewing D4254.

r305467:

Move tests/sys/kqueue/... to tests/sys/kqueue/libkqueue/...

This is being done to clearly distinguish the libkqueue tests
from the (soon to be imported) NetBSD tests.

r305468:

Port contrib/netbsd-tests/kernel/kqueue/... as tests/sys/kqueue/...

proc2_test must be skipped because the invariant tested
(`ke.fflags & NOTE_TRACKERR`) doesn't pass.

r305483:

Fix tests/sys/kqueue NetBSD tests on 32-bit platforms by using proper
format specifier for pointers when printing them out with printf(3)

Pointyhat to: ngie

7 years agoMFC r305921:
ngie [Sat, 3 Dec 2016 02:48:55 +0000 (02:48 +0000)]
MFC r305921:

Similar to r305920, remove spurious newlines from ATF_REQUIRE_MSG calls

7 years agoMFC r305358:
ngie [Sat, 3 Dec 2016 02:47:16 +0000 (02:47 +0000)]
MFC r305358:

Update contrib/netbsd-tests with new content from NetBSD

This updates the snapshot from 09/30/2014 to 08/11/2016

This brings in a number of new testcases from upstream, most
notably:

- bin/cat
- lib/libc
- lib/msun
- lib/libthr
- usr.bin/sort

lib/libc/tests/stdio/open_memstream_test.c was moved to
lib/libc/tests/stdio/open_memstream2_test.c to accomodate
the new open_memstream test from NetBSD.

Tested on: amd64 (VMware fusion VM; various bare metal platforms); i386 (VMware fusion VM); make tinderbox

7 years agoMFC 303348:
jhb [Sat, 3 Dec 2016 01:10:45 +0000 (01:10 +0000)]
MFC 303348:
cxgbe(4): Initialize the adapter queues (fwq and mgmtq) instead of
returning EAGAIN if they aren't available when the user tries to program
a filter.  Do this after validating the filter so that the driver
doesn't bring up the queues if it doesn't have to.

7 years agoMFC 302440,304873,305704,305985,306787,307531: Fixes for sysctls.
jhb [Sat, 3 Dec 2016 01:04:59 +0000 (01:04 +0000)]
MFC 302440,304873,305704,305985,306787,307531: Fixes for sysctls.

302440:
cxgbe(4): Add sysctl to display the RSS indirection table size for an
interface.

dev.cxl.<n>.rss_size
dev.vcxl.<n>.rss_size

304873:
cxgbe(4): Provide more details about the card in the sysctl MIB.

dev.t5nex.0.%desc: Chelsio T580-CR
dev.t5nex.0.hw_revision: 1
dev.t5nex.0.sn: PT13140042
dev.t5nex.0.pn: 110117150A0
dev.t5nex.0.ec: 0000000000000000
dev.t5nex.0.na: 0007432AF490
dev.t5nex.0.vpd_version: 3
dev.t5nex.0.scfg_version: 53255
dev.t5nex.0.bs_version: 1.1.0.0
dev.t5nex.0.er_version: 1.0.0.68
dev.t5nex.0.tp_version: 0.1.4.9
dev.t5nex.0.firmware_version: 1.16.2.0

305704:
cxgbe(4): Rename the debug_flags driver tunable/sysctl to dflags.
Tunables that end with _flags are special.

305985:
cxgbe(4): Fixes to wrq stats.

- Increment tx_wrs_copied in the correct place.
- Add tx_wrs_sspace to the sysctl MIB.

306787:
cxgbe(4): Fix whitespace in the pm_stats display.

307531:
cxgbe(4): Adjust whitespace to line up the column titles in cim_qcfg
with the values displayed.

Sponsored by: Chelsio Communications

7 years agoMFC r309179:
pfg [Sat, 3 Dec 2016 00:43:11 +0000 (00:43 +0000)]
MFC r309179:
ext2fs: avoid possible overflow when calculating malloc size.

This is inspired on r308064 for the case of mounting UFS.

7 years agoMFC r307700:
ngie [Sat, 3 Dec 2016 00:38:35 +0000 (00:38 +0000)]
MFC r307700:

Only build lib/libc/tests/iconv if MK_ICONV != no

7 years agoMFC r307713:
ngie [Sat, 3 Dec 2016 00:37:00 +0000 (00:37 +0000)]
MFC r307713:

Remove /usr/libexec/bsdinstall/hardening if MK_BSDINSTALL == no

7 years agoMFC 304854: cxgbe/iw_cxgbe: Various fixes to the iWARP driver.
jhb [Sat, 3 Dec 2016 00:18:38 +0000 (00:18 +0000)]
MFC 304854: cxgbe/iw_cxgbe: Various fixes to the iWARP driver.

- Return appropriate error code instead of ENOMEM when sosend() fails in
  send_mpa_req.
- Fix for problematic race during destroy_qp.
- Abortive close in the failure of send_mpa_reject() instead of normal close.
- Remove the unnecessary doorbell flowcontrol logic.

Sponsored by: Chelsio Communications

7 years agoMFC 308564: Don't place threads on the run queue after waking up other CPUs.
jhb [Fri, 2 Dec 2016 22:27:54 +0000 (22:27 +0000)]
MFC 308564: Don't place threads on the run queue after waking up other CPUs.

The other CPU might resume and see a still-empty runq and go back to
sleep before sched_add() adds the thread to the runq.  This results
in a lost wakeup and a potential hang if the system is otherwise
completely idle.

The race originated due to a micro-optimization (my fault) in 4BSD in
that it avoided putting a thread on the run queue if the scheduler was
going to preempt to the new thread.  To avoid complexity while fixing
this race, just drop this optimization.  4BSD now always sets the
"owepreempt" flag when a preemption is warranted and defers the actual
preemption to the thread_unlock of the caller the same as ULE.

7 years agoMFC 308005: Add powerd(8) support for several families of AMD CPUs.
jhb [Fri, 2 Dec 2016 21:35:14 +0000 (21:35 +0000)]
MFC 308005: Add powerd(8) support for several families of AMD CPUs.

Use the same logic to calculate the nominal CPU frequency from the P-state
MSRs on family 0x12, 0x15, and 0x16 CPUs as is used for family 0x10.
Family 0x14 was included in the original patch in the PR but I left that
out as the BIOS writer's guide for family 0x14 CPUs show a different layout
for the relevant MSR and include a different formulate for calculating the
frequency.

While here, simplify a few expressions and print out the family of
unsupported CPUs in hex rather than decimal.

PR: 212020

7 years agoMFC 303753,308004: Add bounds checking on addresses used with /dev/mem.
jhb [Fri, 2 Dec 2016 19:02:12 +0000 (19:02 +0000)]
MFC 303753,308004: Add bounds checking on addresses used with /dev/mem.

303753:
Don't permit mappings of invalid physical addresses on amd64 via /dev/mem.

308004:
MFamd64: Add bounds checks on addresses used with /dev/mem.

Reject attempts to read from or memory map offsets in /dev/mem that are
beyond the maximum-supported physical address of the current CPU.

7 years agoMFH: r309295
julian [Fri, 2 Dec 2016 08:24:00 +0000 (08:24 +0000)]
MFH: r309295

bhyve: stability and performance improvement for dbgport

The TCP server implementation in dbgport does not track clients, so it
may try to write to a disconected socket resulting in SIGPIPE.
Avoid that by setting SO_NOSIGPIPE socket option.

Because dbgport emulates an I/O port to guest, the communication is done
byte by byte.  Reduce latency of the TCP/IP transfers by using
TCP_NODELAY option.  In my tests that change improves performance of
kgdb commands with lots of output (e.g. info threads) by two orders of
magnitude.

A general note.  Since we have a uart emulation in bhyve, that can be
used for the console and gdb access to guests.  So, bvmconsole and bvmdebug
could be de-orbited now.  But there are many existing deployments that
still dependend on those.

Discussed with: julian, jhb
Sponsored by: Panzura

7 years agoMFH: r303287
julian [Fri, 2 Dec 2016 05:47:52 +0000 (05:47 +0000)]
MFH: r303287

Split MAKE_SYSENT into two parts so that the initializer part can be
used separately if one wants to embed the sysent into a larger structure.

7 years agoMFH: r303611
julian [Fri, 2 Dec 2016 05:42:49 +0000 (05:42 +0000)]
MFH: r303611

slite style changes. There is an incoming patch that rewrites a
lot of this module and I want to get the style and whitespace changes in
a separate commit (or maybe more).

PR: 206185
Submitted by: Dmitry Vagin

7 years agoMFH: r303613
julian [Fri, 2 Dec 2016 05:37:32 +0000 (05:37 +0000)]
MFH: r303613

Man page for the new checksum netgraph module.

PR: 206186
Submitted by: Dmitry Vagin <daemon.hammer@ya.ru>

7 years agoMFH: r303612
julian [Fri, 2 Dec 2016 05:36:37 +0000 (05:36 +0000)]
MFH: r303612

netgraph module for reconstructing checksums

PR: 206108
Submitted by: Dmitry Vagin  daemon.hammer@ya.ru

7 years agoMFH: r306306
julian [Fri, 2 Dec 2016 05:25:32 +0000 (05:25 +0000)]
MFH: r306306

Give the user a clue as to which process hit maxfiles.

Sponsored by: Panzura

7 years agoMFC r308941:
gonzo [Fri, 2 Dec 2016 01:38:40 +0000 (01:38 +0000)]
MFC r308941:

[bytgpio] Add bytgpio(4) man page with general description of the driver

7 years agoMFC r308696, r308729, r308787, r308813, r309028, r309073, r309078:
shurd [Thu, 1 Dec 2016 23:37:17 +0000 (23:37 +0000)]
MFC r308696, r308729, r308787, r308813, r309028, r309073, r309078:

 r308696:
  New driver for Broadcom NetXtreme-C and NetXtreme-E devices.

 r308729:
  Add bnxt(4) to the hardware notes.

 r308787:
  Add missing newline in error mesage

 r308813:
  Check link status after init

 r309028:
  Add missing break to switch statement

 r309073:
  Fix version string

 r309078:
  Add new device IDs

Approved by: sbruno
Relnotes: yes
Sponsored by: Broadcom Limited

7 years agoMFC 304838:
jhb [Thu, 1 Dec 2016 23:27:59 +0000 (23:27 +0000)]
MFC 304838:
Do not free an uninitialized pointer on soaccept failure in the iWARP
connection manager.

Sponsored by: Chelsio Communications

7 years agoMFC r308898, r308940, r308942, r308944, r309112
gonzo [Thu, 1 Dec 2016 22:22:19 +0000 (22:22 +0000)]
MFC r308898, r308940, r308942, r308944, r309112

r308898:
[bytgpio] Fix USB disconnect event after listsing pins on gpioc2

- Do not set input flag when reading value from GPIO pin, it is not
  required and for gpioc2(S5 bank) setting both input and output flags
  leads to some kind of electric interference (curren drop?) that
  causes USB devices to disconnect

- Check pad configuration when attaching device and provide IN/OUT
  capabilities only for pads that are configured as GPIO. Do not let
  user code to configure or change value of non-GPIO pads. There is
  no information for NC bank in intel's datasheet so for now function
  check is ignored for pins in it

Reported by: Frank H.
MFC after: 3 days

r308940:
[bytgpio] prepare bytgpio(4) for modularization

- Add detach method
- module should depend on gpiobus, not gpio

r308942:
[bytgpio] Add module for bytgpio(4)

MFC after: 3 days

r308944 by hiren@:
r308942 broke kernel build.
Add acpi_if.h to module makefile to fix it.

Submitted by: peter

r309112:
[bytgpio] Fix pc98 build by disabling bytgpio module for this platform

Reported by: dim

7 years agoMFC 308456: Pass the correct flag to find_symdef() from _rtld_bind().
jhb [Thu, 1 Dec 2016 20:36:48 +0000 (20:36 +0000)]
MFC 308456: Pass the correct flag to find_symdef() from _rtld_bind().

When symbol versioning was added to rtld, the boolean 'in_plt' argument
to find_symdef() was converted to a bitmask of flags.  The first flag
added was 'SYMLOOK_IN_PLT' which replaced the 'in_plt' bool.  This
happened to still work by accident as SYMLOOK_IN_PLT had the value of 1
which is the same as 'true', so there should be no functional change.

7 years agoBacking out r309368 as it got commited prematurely as we still do not
tsoome [Thu, 1 Dec 2016 20:31:37 +0000 (20:31 +0000)]
Backing out r309368 as it got commited prematurely as we still do not
provide skein feature support in boot loader.

Approved by: allanjude (mentor)

7 years agoMFC r308776
tsoome [Thu, 1 Dec 2016 19:06:09 +0000 (19:06 +0000)]
MFC r308776

loader: zfs toplevel vdev must have spa set.

PR: 214375
Reported by: lstewart
Reviewed by: allanjude, imp
Approved by: allanjude (mentor), imp (mentor)
Differential Revision: https://reviews.freebsd.org/D8487

7 years agoMFC r306577 r306652 306830
vangyzen [Wed, 30 Nov 2016 21:53:06 +0000 (21:53 +0000)]
MFC r306577 r306652 306830

Add GARP retransmit capability

A single gratuitous ARP (GARP) is always transmitted when an IPv4
address is added to an interface, and that is usually sufficient.
However, in some circumstances, such as when a shared address is
passed between cluster nodes, this single GARP may occasionally be
dropped or lost.  This can lead to neighbors on the network link
working with a stale ARP cache and sending packets destined for
that address to the node that previously owned the address, which
may not respond.

To avoid this situation, GARP retransmissions can be enabled by setting
the net.link.ether.inet.garp_rexmit_count sysctl to a value greater
than zero.  The setting represents the maximum number of retransmissions.
The interval between retransmissions is calculated using an exponential
backoff algorithm, doubling each time, so the retransmission intervals
are: {1, 2, 4, 8, 16, ...} (seconds).

Due to the exponential backoff algorithm used for the interval
between GARP retransmissions, the maximum number of retransmissions
is limited to 16 for sanity.  This limit corresponds to a maximum
interval between retransmissions of 2^16 seconds ~= 18 hours.
Increasing this limit is possible, but sending out GARPs spaced
days apart would be of little use.

Update arp(4) to document the net.link.ether.inet.garp_rexmit_count sysctl.

Submitted by: dab
Relnotes: yes
Sponsored by: Dell EMC

7 years agoMFC r308340
vangyzen [Wed, 30 Nov 2016 20:51:14 +0000 (20:51 +0000)]
MFC r308340

ncal: fix a reference to an out-of-scope stack buffer

PR: 214237
Submitted by: Jonathan de Boyne Pollard
Sponsored by: Dell EMC

7 years agoMFC r308904
vangyzen [Wed, 30 Nov 2016 20:47:54 +0000 (20:47 +0000)]
MFC r308904

Fix error reporting from wcstof()

When wcstof() skipped initial space and then parsing failed, it set
endptr to the first non-space character.  Fix it to correctly report
failure by setting endptr to the beginning of the input string.
The fix is from theraven@, who fixed this bug in wcstod() and
wcstold() in r227753.

While I'm here:

Move assignments out of declarations in wcstod() and wcstold().
This is against my personal preference, but it is our agreed style(9).

Set endptr correctly on malloc() failure in all three functions.

Remove an incorrect comment:  This is pointer arithmetic,
so the code was not actually making that assumption.

wcstold() advanced the wcp pointer beyond leading whitespace
and then reset it back to the beginning of the string.
Do not reset it.  This seems to have no functional effect,
since strtold_l() also skips leading whitespace.  I'm making
the change to keep this function consistent with wcstof() and
wcstod(), and because the C11 spec prescribes the use of iswspace()
to skip leading space.

Reported by: libc++ unit test for std::stof(std::wstring)
Sponsored by: Dell EMC

7 years agoMFC r308824
vangyzen [Wed, 30 Nov 2016 18:26:22 +0000 (18:26 +0000)]
MFC r308824

locale: fix display of "grouping" and "mon_grouping" values

The "grouping" and "mon_grouping" values are arrays of one-byte
integers, not arrays of ASCII characters.  Display them in a format
similar to GNU and MacOS.

Sponsored by: Dell EMC

7 years agoMFC r308129:
bapt [Wed, 30 Nov 2016 12:06:03 +0000 (12:06 +0000)]
MFC r308129:

When issuing a PXE dhcp request, always issue a param request (DHCP option 55)
with all dhcp parameters we might be interested in.

Some DHCP server like the new kea (by ISC) expect it.

This makes pxeboot functional with ISC kea.

Submitted by: Vincent Legout <vincent.legout@gandi.net>
Sponsored by: Gandi.net

7 years agoMFC 308797-308799, 309082
dexuan [Wed, 30 Nov 2016 07:22:46 +0000 (07:22 +0000)]
MFC 308797-308799, 309082

    r308797
    update the hv_vmbus(4) manual by adding a dependency on pci

    We enhanced the vmbus driver to support PCIe pass-through recently.

    Reviewed by:        sephe
    Approved by:        sephe (mentor)
    Sponsored by:       Microsoft

    r308798
    remove the hv_ata_pci_disengage(4) manual

    A few months ago, we removed the driver, which was not necessary any longer.

    Reviewed by:        sephe
    Approved by:        sephe (mentor)
    Sponsored by:       Microsoft

    r308799
    fix share/man/man4/Makefile for hv_ata_pci_disengage.4

    We need to remove the line since we removed the related manual just now.

    Reviewed by:        sephe
    Approved by:        sephe (mentor)
    Sponsored by:       Microsoft

    r309082
    share/man/man4/Makefile: Only install Hyper-V man pages on amd64 and i386

    We shouldn't install them on the architectures not supported by Hyper-V.

    And, hv_ata_pci_disengage.4.gz should be removed from all architectures:
    1) It should have only applied to Hyper-V;
    2) For Hyper-V platforms (amd64 and i386), the related driver was removed by
    r306426 | sephe | 2016-09-29 09:41:52 +0800 (Thu, 29 Sep 2016),
    because now we have a better mechanism to disble the ata driver for hard
    disks when the VM runs on Hyper-V.

    Reviewed by:        sephe, andrew, jhb
    Approved by:        sephe (mentor)
    Sponsored by:       Microsoft
    Differential Revision:      https://reviews.freebsd.org/D8572

7 years agoMFC: 308723-308725,308793-308795,309127
dexuan [Wed, 30 Nov 2016 06:20:43 +0000 (06:20 +0000)]
MFC: 308723-308725,308793-308795,309127

Approved by: sephe (mentor)

r308723
    hyperv/vmbus: add a new method to get vcpu_id

    vcpu_id is host's representation of guest CPU.
    We get the mapping between vcpu_id and FreeBSD kernel's cpu id when VMBus
    driver is loaded. Later, when a driver, like the coming pcib driver, talks
    to the host and needs to refer to a guest CPU, the driver must use the
    vcpu_id.

    Reviewed by:    jhb, sephe
    Approved by:    sephe (mentor)
    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8410

r308724
    hyperv/vmbus: add new vmbus methods to support PCIe pass-through

    The new methods will be used by the coming pcib driver.

    Reviewed by:    sephe
    Approved by:    sephe (mentor)
    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8409

r308725
    hyperv/pcib: enable PCIe pass-through (a.k.a. Discrete Device Assignment)

    The feature enables us to pass through physical PCIe devices to FreeBSD VM
    running on Hyper-V (Windows Server 2016) to get near-native performance with
    low CPU utilization.

    The patch implements a PCI bridge driver to support the feature:

    1) The pcib driver talks to the host to discover device(s) and presents
    the device(s) to FreeBSD's pci driver via PCI configuration space (note:
    to access the configuration space, we don't use the standard I/O port
    0xCF8/CFC method; instead, we use an MMIO-based method supplied by Hyper-V,
    which is very similar to the 0xCF8/CFC method).

    2) The pcib driver allocates resources for the device(s) and initialize
    the related BARs, when the device driver's attach method is invoked;

    3) The pcib driver talks to the host to create MSI/MSI-X interrupt
    remapping between the guest and the host;

    4) The pcib driver supports device hot add/remove.

    Reviewed by:    sephe
    Approved by:    sephe (mentor)
    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8332

r308793
    hyperv/pcib: Fix the build for some kernel configs

    Add the dependency on pci explicitly for the pcib and vmbus drivers.
    The related Makefiles are updated accordingly too.

    Reviewed by:    sephe
    Approved by:    sephe (mentor)
    Sponsored by:   Microsoft

r308794
    hyperv/vmbus,pcib: Add MODULE_DEPEND on pci

    We'd better add this dependency explicitly, though usually the pci
    driver is built into the kernel by default.

    Reviewed by:    sephe
    Approved by:    sephe (mentor)
    Sponsored by:   Microsoft

r308795
    hyperv/pcib: change the file name: pcib.c -> vmbus_pcib.c

    This makes the file name and the variable naming in the file consistent.

    Reviewed by:    sephe
    Approved by:    sephe (mentor)
    Sponsored by:   Microsoft

r309127
    hyperv/vmbus,pcib: unbreak build in case NEW_PCIB is undefined

    vmbus_pcib requires NEW_PCIB, but in case that's not defined, we at
    least shouldn't break build.

    Reviewed by:    sephe
    Approved by:    sephe (mentor)
    Sponsored by:   Microsoft

7 years agoMFC r309027:
brooks [Wed, 30 Nov 2016 01:17:02 +0000 (01:17 +0000)]
MFC r309027:

Allocate a struct ifreq rather than using a (wrong) computed size for
the BIOCSETIF ioctl.

The kernel always copies an entire struct ifreq and IPv4 addresses will
always fit in an ifreq.

On systems with pointers larger than 64-bits, the computed size will be
less than the size of struct ifreq, potentially resulting in the kernel
attempting to copyin memory from outside the allocation.

Reviewed by: jhb
Obtained from: CheriBSD
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D8445

7 years agoMFC r308980:
kib [Tue, 29 Nov 2016 08:20:55 +0000 (08:20 +0000)]
MFC r308980:
Use buffer pager for NFS.

MFC note: really do not, by default.

7 years agoMFC r308973:
kib [Tue, 29 Nov 2016 08:17:24 +0000 (08:17 +0000)]
MFC r308973:
Minor cleanup.

7 years agoMFC r308969:
kib [Tue, 29 Nov 2016 08:15:12 +0000 (08:15 +0000)]
MFC r308969:
Restore vnode pager statistic for buffer pagers.

7 years agoMFC r308995:
kib [Tue, 29 Nov 2016 08:12:18 +0000 (08:12 +0000)]
MFC r308995:
Do not dereference bp after bread(9) on error.

7 years agoMFC r309006: remove unnecessary vm includes from setproctitle
emaste [Tue, 29 Nov 2016 01:08:09 +0000 (01:08 +0000)]
MFC r309006: remove unnecessary vm includes from setproctitle

vm headers were needed only for the PS_STRINGS fallback, which was
removed in r297888.

7 years agoMFC r308780
asomers [Mon, 28 Nov 2016 22:35:10 +0000 (22:35 +0000)]
MFC r308780

Fix "camcontrol rescan" with SATA drives behind a SAS controller

A bug in CAM's serial number hash logic resulted in SATA drives behind a SAS
controller getting removed and readded anytime the drive was rescanned for
any reason

7 years agoMFC r309194, r309216
bapt [Mon, 28 Nov 2016 22:19:41 +0000 (22:19 +0000)]
MFC r309194, r309216

Properly initialize nextp

Reported by: Coverity via cem
MFC after: 2 days
CID: 1365665

7 years agoMFC 307756: Define max_align_t for C11.
jhb [Mon, 28 Nov 2016 18:36:37 +0000 (18:36 +0000)]
MFC 307756: Define max_align_t for C11.

libc++'s stddef.h includes an existing definition of max_align_t for
C++11, but it is only defined for C++, not for C.  In addition, GCC and
clang both define an alternate version of max_align_t that uses a
union of multiple types rather than a plain long double as in libc++.
This adds a __max_align_t to <sys/_types.h> that matches the GCC and
clang definition that is mapped to max_align_t in <stddef.h>.

PR: 210890

7 years agoMFC r308730:
hselasky [Mon, 28 Nov 2016 17:22:45 +0000 (17:22 +0000)]
MFC r308730:
Make sure MAC address is reprogrammed when if_init() callback is
invoked. Else promiscious mode must be used to pass traffic. While at
it fix a debug print macro.

7 years agoMFC r308618:
kib [Sun, 27 Nov 2016 09:10:33 +0000 (09:10 +0000)]
MFC r308618:
Provide simple mutual exclusion between mount point update and unmount.
In the update path in ffs_mount(), drop vfs_busy() reference around namei().

7 years agoMFC r308608:
mav [Sun, 27 Nov 2016 05:58:47 +0000 (05:58 +0000)]
MFC r308608:
Use providergone method to cover race between destroy and g_access().

7 years agoMFC r308579: Do not report error on close even if we have no paths left.
mav [Sat, 26 Nov 2016 07:59:18 +0000 (07:59 +0000)]
MFC r308579: Do not report error on close even if we have no paths left.

7 years agoMFC r307003, r307564: makewhatis: make output reproducible
emaste [Sat, 26 Nov 2016 03:39:02 +0000 (03:39 +0000)]
MFC r307003, r307564: makewhatis: make output reproducible

r307003: Instead:

1) provide fts_open() with a comparison function to process directories
   and files in a deterministic order
2) in addition to the existing hash, insert pages into a linked list
   which will be sorted (by virtue of 1)
3) iterate over pages by the list in 2, instead of hash order

Idea from: des

r307564: makewhatis: avoid skipping another page after one with no mlinks

Submitted by: Ingo Schwarze

Sponsored by: The FreeBSD Foundation

7 years agoMFC r308808, r308809: Lookup locale when print all keywords as well.
ume [Sat, 26 Nov 2016 02:48:04 +0000 (02:48 +0000)]
MFC r308808, r308809: Lookup locale when print all keywords as well.

7 years agoMFC r308580:
rstone [Sat, 26 Nov 2016 01:16:33 +0000 (01:16 +0000)]
MFC r308580:

  Don't read if_counters with if_addr_lock held

  Calling into an ifnet implementation with the if_addr_lock already
  held can cause a LOR and potentially a deadlock, as ifnet
  implementations typically can take the if_addr_lock after their
  own locks during configuration.  Refactor a sysctl handler that
  was violating this to read if_counter data in a temporary buffer
  before the if_addr_lock is taken, and then copying the data
  in its final location later, when the if_addr_lock is held.

  PR: 194109
  Reported by: Jean-Sebastien Pedron
  MFC after: 2 weeks
  Differential Revision:        https://reviews.freebsd.org/D8498
  Reviewed by: sbruno

7 years agoMFC r308064:
mckusick [Sat, 26 Nov 2016 00:43:38 +0000 (00:43 +0000)]
MFC r308064:
Avoid possible overflow when calclating malloc size for auxillary
data structure sizes when mounting and reloading UFS/FFS filesystems.

7 years agoMFC 307333: Reprogram I/O APIC interrupt pins when registering an I/O APIC.
jhb [Fri, 25 Nov 2016 22:12:03 +0000 (22:12 +0000)]
MFC 307333: Reprogram I/O APIC interrupt pins when registering an I/O APIC.

All I/O APIC pins are masked when an I/O APIC is first probed.  The
APIC enumerator (MP Table or MADT) then parses its associated tables to
configure individual pins to set custom delivery modes or alternate
routing (e.g. routing IRQ 0 to intpin 2).  Pins for regular interrupt
pins are left masked until the first interrupt is assigned.  However,
pins with unusual settings (e.g. NMI or SMI) are never assigned an
interrupt and thus never re-programmed.  The I/O APIC code used to
reprogram all interrupt pins during registration but this was lost in
r151979.

In theory, this is mostly a no-op as the ACPI APIC table does not
include a way to enumerate NMI or SMI pins for the I/O APIC, so only
systems using an MP Table would be affected.

7 years agoMFC r308443, r308459, r308462, r308478, r308786
araujo [Fri, 25 Nov 2016 05:54:17 +0000 (05:54 +0000)]
MFC r308443, r308459, r308462, r308478, r308786

r308443:
Add -d flag that prints domain only.

PR: 212875
Submitted by: Ben RUBSON <ben.rubson@gmail.com>
Reviewed by: pi

r308459:
Fix missing '-' for the flags -s and -d on both manpage and usage.

Reported by: garga, bde

r308462:
Add flag -B which does the same like batch mode but without exiting after
print. Also add a new flag -s that add blocks size to statistics.

PR: 198347, 212726
Submitted by: Ben RUBSON <ben.rubson@gmail.com>
Tested by: pi
MFC After: 2 weeks.

r308478:
We can't use protect(1) inside a jail(8)!
To avoid have warning for services that are using oomprotect, oomprotect
will only be applied on services that won't run inside jails.

Reported by: allanjude
MFC after: 2 weeks.

r308786:
rc.subr: Swap checks so we only fork sysctl if *_oomprotect is set.

7 years agoMFC r307969: strings: fix exit status if a file before the last one fails
emaste [Fri, 25 Nov 2016 00:25:59 +0000 (00:25 +0000)]
MFC r307969: strings: fix exit status if a file before the last one fails

Previously a command like "strings f1 f2 f3" reported the exit status
based only on processing the last file.

As with GNU strings, report an error exit status if an error was
encountered processing any of the files. While here simplify the
exit status handling to just success (0) / failure (1).

7 years agoMFC r308772: crunchide: report explicit error for combined string table
emaste [Thu, 24 Nov 2016 00:45:00 +0000 (00:45 +0000)]
MFC r308772: crunchide: report explicit error for combined string table

Some tools produce objects with a combined strtab and shstrtab.
These objects are not supported by crunchide since it rewrites the
symtab and strtab to "hide" symbols. This invalidates section header
offsets into a combined strtab/shstrtab.

In the future we could support these objects (by ensuring that we retain
unmodified section name strings in the output .strtab, and then rewriting
each section header's sh_name).

7 years agoMFC 308056: Fix formatting of tables.
jhb [Wed, 23 Nov 2016 23:53:52 +0000 (23:53 +0000)]
MFC 308056: Fix formatting of tables.

Specifically, use .Ta instead of tabs to separate column entries.  While
here fix a few other things:
- Use .Sy for all column headers (previously only the first column header
  was bold)
- Use .Dv to markup constants used for MIB names.
- Use "1234" and "4321" for the byte order descriptions without
  thousands separators.
- Mark up header files in the first table with .In.

7 years agoMFC 307975: Enable EFER_NXE properly on APs.
jhb [Wed, 23 Nov 2016 23:45:42 +0000 (23:45 +0000)]
MFC 307975: Enable EFER_NXE properly on APs.

EFER_NXE is set in the EFER MSR by initializecpu() and must be set on all
CPUs in the system.  When PG_NX support was added to PAE on i386, the
block to enable EFER_NXE was placed in a section of initializecpu() that
only runs if 'cpu == CPU_686'.  During early boot, locore does an
initial pass to set cpu that sets it to CPU_686 on all CPUs later than
a Pentium.  Later, printcpuinfo() adjusts the 'cpu' variable on
PII and later CPUs to one of CPU_PII, CPU_PIII, or CPU_P4.  However,
printcpuinfo() is called after initializecpu() on the BSP, so the BSP
would enable EFER_NXE and pg_nx.  The APs execute initializecpu() much
later after printcpuinfo() has run.  The end result on a modern CPU was
that cpu was set to CPU_PIII when the APs invoked initializecpu(), so
they did not enable EFER_NXE.  As a result, the APs would fault when
trying to access any pages marked with PG_NX set.

When booting a 2 CPU PAE kernel in bhyve this manifested as a hang before
single user mode.  The attempt to execute /bin/init tried to copy out
the exec strings (argv, etc.) to a non-executable mapping while running
on the AP.  The instruction kept faulting due to invalid bits in the PTE
in an infinite loop.

Fix this by moving the code to enable EFER_NXE out of the switch statement
on 'cpu' and always doing it if 'amd_feature' supports AMDID_NX.

7 years agoMFC: 307541
gnn [Wed, 23 Nov 2016 13:14:19 +0000 (13:14 +0000)]
MFC: 307541

Limit the number of mbufs that can be allocated for IPV6_2292PKTOPTIONS
(and IPV6_PKTOPTIONS).

PR: 100219
Submitted by: Joseph Kong

7 years agoMFC r308733:
kib [Wed, 23 Nov 2016 09:37:02 +0000 (09:37 +0000)]
MFC r308733:
Move the fast fault path into the separate function.

7 years agoMFC r308689:
kib [Wed, 23 Nov 2016 09:25:51 +0000 (09:25 +0000)]
MFC r308689:
Pass CPUID[1] %edx (cpu_feature), %ecx (cpu_feature2) and
CPUID[7].%ebx (cpu_stdext_feature), %ecx (cpu_stdext_feature2) to the
ifunc resolvers on x86.

MFC r308925:
Adjust r308689 to make rtld compilable with either in-tree or
(hopefully) stock gcc 4.2.1 on i386 and other arches.

7 years agoMFC r308425: Add support for EIIOE flag in Additional Element Status.
mav [Wed, 23 Nov 2016 09:10:11 +0000 (09:10 +0000)]
MFC r308425: Add support for EIIOE flag in Additional Element Status.

It was added in SES-3 spec, and its support required to properly link
the Additional Element Status page data to the original elements.

7 years agoMFC r307584
asomers [Tue, 22 Nov 2016 20:28:17 +0000 (20:28 +0000)]
MFC r307584

Fix C++ includability of crypto headers with static array sizes

C99 allows array function parameters to use the static keyword for their
sizes. This tells the compiler that the parameter will have at least the
specified size, and calling code will fail to compile if that guarantee is
not met. However, this syntax is not legal in C++.

This commit reverts r300824, which worked around the problem for
sys/sys/md5.h only, and introduces a new macro: min_size(). min_size(x) can
be used in headers as a static array size, but will still compile in C++
mode.

7 years agoMFC 306999: Add a missing word.
jhb [Tue, 22 Nov 2016 18:46:01 +0000 (18:46 +0000)]
MFC 306999: Add a missing word.

7 years agoMFC 308142: Move declarations of invpcid_works and pmap_pcid_enabled to pmap.h.
jhb [Tue, 22 Nov 2016 18:43:04 +0000 (18:43 +0000)]
MFC 308142: Move declarations of invpcid_works and pmap_pcid_enabled to pmap.h.

Previously these were only declared under #ifdef SMP in <machine/smp.h>.
However, these variables are defind in pmap.c unconditionally, and efirt.c
references them unconditionally.  This fixes non-SMP kernel builds.

7 years agoMFC r308694:
markj [Tue, 22 Nov 2016 17:42:59 +0000 (17:42 +0000)]
MFC r308694:
Plug a lock leak in sysctl_ifmalist().

PR: 214542

7 years agoMFC r308957: MFV r308954:
delphij [Tue, 22 Nov 2016 16:22:51 +0000 (16:22 +0000)]
MFC r308957: MFV r308954:

ntp 4.2.8p9.

Approved by: so

7 years agoMFC r308673:
ae [Tue, 22 Nov 2016 10:09:04 +0000 (10:09 +0000)]
MFC r308673:
  Add missing support of named lookup tables to the IPv6 code.

  PR: 214419

7 years agoMFC r308688:
kib [Tue, 22 Nov 2016 09:37:31 +0000 (09:37 +0000)]
MFC r308688:
Assert that there is no unresolved symbols during rtld linking.

7 years agoMFC r308687:
kib [Tue, 22 Nov 2016 09:35:50 +0000 (09:35 +0000)]
MFC r308687:
Update hint to utilize user variable.

7 years agoMFC r308642:
kib [Mon, 21 Nov 2016 10:44:40 +0000 (10:44 +0000)]
MFC r308642:
Initialize reserved bytes in struct mq_attr.

PR: 214488

7 years agoMFC r308089: zfsbootcfg: a simple tool to set next boot (one time)
avg [Mon, 21 Nov 2016 10:13:09 +0000 (10:13 +0000)]
MFC r308089: zfsbootcfg: a simple tool to set next boot (one time)
options for zfsboot

7 years agoZero etherswitch_vlangroup structure before doing partial assignments.
loos [Sun, 20 Nov 2016 17:03:52 +0000 (17:03 +0000)]
Zero etherswitch_vlangroup structure before doing partial assignments.

Sponsored by: Rubicon Communications, LLC (Netgate)

7 years agoMFC r308617:
kib [Sun, 20 Nov 2016 09:11:21 +0000 (09:11 +0000)]
MFC r308617:
Move common cleanup code into helper.

7 years agoMFC r307755: swapoff: Remove only late devices with -aL.
jilles [Sat, 19 Nov 2016 20:02:49 +0000 (20:02 +0000)]
MFC r307755: swapoff: Remove only late devices with -aL.

Currently, '/etc/rc.d/swaplate stop' removes all swap devices. This can be
very slow and may not even be possible if there is a lot of swap space in
use. However, removing swap devices is only needed for late swap devices
that may depend on daemons that subsequent shutdown steps stop. Normal swap
devices such as hard disk partitions will remain available throughout the
shutdown process and need not be removed.

In swapoff, interpret -aL to remove late swap devices only, and use this in
etc/rc.d/swaplate. The meaning of -aL in swapon remains unchanged (add all
swap devices, both normal and late).

PR: 187081

7 years agoMFC r306585: swapon(8): Update to reality: swapoff ignores -L and the late
jilles [Sat, 19 Nov 2016 19:25:38 +0000 (19:25 +0000)]
MFC r306585: swapon(8): Update to reality: swapoff ignores -L and the late
option in fstab.

7 years agoMFC r307752
asomers [Fri, 18 Nov 2016 22:28:57 +0000 (22:28 +0000)]
MFC r307752

Close some file descriptor leaks in pw

7 years agoMFC r308538:
kib [Fri, 18 Nov 2016 09:01:44 +0000 (09:01 +0000)]
MFC r308538:
Increase the max allowed size of the microcode update blob for x86.

7 years agoMFC r308288:
kib [Fri, 18 Nov 2016 08:59:47 +0000 (08:59 +0000)]
MFC r308288:
Do not sleep in vm_wait() if pagedaemon did not yet started.  Panic instead.

7 years agoMFC r308247: MFV r308222: 6051 lzc_receive: allow the caller to read the
avg [Thu, 17 Nov 2016 15:19:27 +0000 (15:19 +0000)]
MFC r308247: MFV r308222: 6051 lzc_receive: allow the caller to read the
begin record

7 years agoMFC r308218: Add support for microcode update on newer AMD CPUs (10h+)
avg [Thu, 17 Nov 2016 15:16:52 +0000 (15:16 +0000)]
MFC r308218: Add support for microcode update on newer AMD CPUs (10h+)