freebsd.git
7 years agoMFV r313071:
mm [Thu, 2 Feb 2017 00:50:46 +0000 (00:50 +0000)]
MFV r313071:
Sync libarchive with vendor

Vendor changes (relevant to FreeBSD):
- support extracting NFSv4 ACLs from Solaris tar archives
- bugfixes and optimizations in the ACL code
- multiple fixes in the test suite
- typo and other small bugfixes

Security fixes:
- cab reader: endless loop when parsing MSZIP signature (OSS-Fuzz 335)
- LHA reader: heap-buffer-overflow in lha_read_file_header_1()
  (CVE-2017-5601)
- LZ4 reader: null-pointer dereference in lz4_filter_read_legacy_stream()
  (OSS-Fuzz 453)
- mtree reader: heap-buffer-overflow in detect_form() (OSS-Fuzz 421, 443)
- WARC reader: heap-buffer-overflow in xstrpisotime() (OSS-Fuzz 382, 458)

Memory leak fixes:
- ACL support: free memory allocated by acl_get_qualifier()
- disk writer: missing free in create_filesystem_object()
- file reader: fd leak (Coverity 1016755)
- gnutar writer: fix free in archive_write_gnutar_header()
  (Coverity 101675)
- iso 9660 reader: missing free in parse_file_info()
  (partial Coverity 1016754)
- program reader: missing free in __archive_read_program()
- program writer: missing free in __archive_write_program_free()
- xar reader: missing free in xar_cleanup()
- xar reader: missing frees in expat_xmlattr_setup()
  (Coverity 1229979-1229981)
- xar writer: missing free in file_free()
- zip reader: missing free in zip_read_local_file_header()

MFC after: 1 week
X-MFC with: 310866, 310868, 310870, 311899

7 years agoUpdate vendor/libarchive to git d77b577b2d5aa259fca06313c4940e1e61ab1e0e
mm [Thu, 2 Feb 2017 00:20:18 +0000 (00:20 +0000)]
Update vendor/libarchive to git d77b577b2d5aa259fca06313c4940e1e61ab1e0e

Vendor changes (relevant to FreeBSD):
- bugfixes, improvemens and optimizations in ACL code
- NFSv4 ACLs can now be extracted from Solaris tar archives

Security fixes:
- cab reader: endless loop when parsing MSZIP signature (OSS-Fuzz 335)
- LHA reader: heap-buffer-overflow in lha_read_file_header_1() (CVE-2017-5601)
- LZ4 reader: null-pointer dereference in lz4_filter_read_legacy_stream()
  (OSS-Fuzz 453)
- mtree reader: heap-buffer-overflow in detect_form() (OSS-Fuzz 421, 443)
- WARC reader: heap-buffer-overflow in xstrpisotime() (OSS-Fuzz 382, 458)

Memory leak fixes:
- ACL support: free memory allocated by acl_get_qualifier()
- disk writer: missing free in create_filesystem_object()
- file reader: fd leak (Coverity 1016755)
- gnutar writer: fix free in archive_write_gnutar_header() (Coverity 1016752)
- iso 9660 reader: missing free in parse_file_info() (part. Coverity 1016754)
- program reader: missing free in __archive_read_program()
- program writer: missing free in __archive_write_program_free()
- xar reader: missing free in xar_cleanup()
- xar reader: missing frees in expat_xmlattr_setup() (Coverity 1229979-1229981)
- xar writer: missing free in file_free()
- zip reader: missing free in zip_read_locazip_read_local_file_header()

7 years agoAllow 999.local to run scripts in any language
asomers [Wed, 1 Feb 2017 23:22:54 +0000 (23:22 +0000)]
Allow 999.local to run scripts in any language

If one of the scripts listed in (daily|weekly|monthly)_local is executable,
999.local should simply execute it. Only if the script isn't executable
should 999.local assume it needs /bin/sh.

Reviewed by: brian
MFC after: 3 weeks
Sponsored by: Spectra Logic Corp

7 years ago[am335x] Fallback to standard video interface bindings when using Linux dts
gonzo [Wed, 1 Feb 2017 22:03:59 +0000 (22:03 +0000)]
[am335x] Fallback to standard video interface bindings when using Linux dts

Historically AM335x LCDC driver used non-standard "hdmi" property to
refer to HDMI framer. There is no such thing in upstream DTS, so to
handle both cases fallback to bindings described in
bindings/media/video-interfaces.txt in Linux documentation.

We still make some assumptions that are not universally true: we
assume that if remote endpoint is available it's going to be HDMI
framer. Which is true for AM335x-based devices currently supported
but may be not true for some custom hardware.

MFC after: 1 week

7 years agoPull in r293536 from upstream compiler-rt trunk:
dim [Wed, 1 Feb 2017 20:41:09 +0000 (20:41 +0000)]
Pull in r293536 from upstream compiler-rt trunk:

  Recommit: Stop intercepting some malloc-related functions on FreeBSD
  and macOS

  Summary:
  In https://bugs.freebsd.org/215125 I was notified that some configure
  scripts attempt to test for the Linux-specific `mallinfo` and
  `mallopt` functions by compiling and linking small programs which
  references the functions, and observing whether that results in
  errors.

  FreeBSD and macOS do not have the `mallinfo` and `mallopt` functions,
  so normally these tests would fail, but when sanitizers are enabled,
  they incorrectly succeed, because the sanitizers define interceptors
  for these functions.  This also applies to some other malloc-related
  functions, such as `memalign`, `pvalloc` and `cfree`.

  Fix this by not intercepting `mallinfo`, `mallopt`, `memalign`,
  `pvalloc` and `cfree` for FreeBSD and macOS, in all sanitizers.

  Also delete the non-functional `cfree` wrapper for Windows, to fix the
  test cases on that platform.

  Reviewers: emaste, kcc, rnk

  Subscribers: timurrrr, eugenis, hans, joerg, llvm-commits, kubamracek

  Differential Revision: https://reviews.llvm.org/D27654

This prevents autoconf scripts from incorrectly detecting that functions
like mallinfo, mallopt, memalign, pvalloc and cfree are supported.

PR: 215125, 215455
MFC after: 1 week

7 years agoUpdate tcpdump to 4.9.0.
glebius [Wed, 1 Feb 2017 20:26:42 +0000 (20:26 +0000)]
Update tcpdump to 4.9.0.

It fixes many buffer overflow in different protocol parsers, but none of
them are critical, even in absense of Capsicum.

Security: CVE-2016-7922, CVE-2016-7923, CVE-2016-7924, CVE-2016-7925
Security: CVE-2016-7926, CVE-2016-7927, CVE-2016-7928, CVE-2016-7929
Security: CVE-2016-7930, CVE-2016-7931, CVE-2016-7932, CVE-2016-7933
Security: CVE-2016-7934, CVE-2016-7935, CVE-2016-7936, CVE-2016-7937
Security: CVE-2016-7938, CVE-2016-7939, CVE-2016-7940, CVE-2016-7973
Security: CVE-2016-7974, CVE-2016-7975, CVE-2016-7983, CVE-2016-7984
Security: CVE-2016-7985, CVE-2016-7986, CVE-2016-7992, CVE-2016-7993
Security: CVE-2016-8574, CVE-2016-8575, CVE-2017-5202, CVE-2017-5203
Security: CVE-2017-5204, CVE-2017-5205, CVE-2017-5341, CVE-2017-5342
Security: CVE-2017-5482, CVE-2017-5483, CVE-2017-5484, CVE-2017-5485
Security: CVE-2017-5486

7 years agoloader: disk/part api needs to use uint64_t offsets
tsoome [Wed, 1 Feb 2017 20:10:56 +0000 (20:10 +0000)]
loader: disk/part api needs to use uint64_t offsets

The disk_* and part_* api is using 64bit values for media size and
offsets. However, the current api is using off_t type, which is signed
64-bit int.

In this context the signed media size does not make any sense, and
the offsets are used to mark absolute, not relative locations.

Also, the data from GPT partition table and some other sources is
already using uint64_t data type, so using signed off_t can cause sign
issues.

Reviewed by: imp
Approved by: imp (mentor)
Differential Revision: https://reviews.freebsd.org/D8710

7 years agoAdd an mbuf to ipinfo_t translator to finish cleanup of mbuf passing to TCP probes.
gnn [Wed, 1 Feb 2017 19:33:00 +0000 (19:33 +0000)]
Add an mbuf to ipinfo_t translator to finish cleanup of mbuf passing to TCP probes.

Reviewed by: markj
MFC after: 2 weeks
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D9401

7 years agoAdd some comments with examples on how to build Vagrant images.
brd [Wed, 1 Feb 2017 16:15:23 +0000 (16:15 +0000)]
Add some comments with examples on how to build Vagrant images.

Approved by: re (gjb)

7 years agoMerge filt_soread and filt_solisten and decide what to do when checking
harti [Wed, 1 Feb 2017 13:12:07 +0000 (13:12 +0000)]
Merge filt_soread and filt_solisten and decide what to do when checking
for EVFILT_READ at the point of the check not when the event is registers.
This fixes a problem with asio when accepting a connection.

Reviewed by: kib@, Scott Mitchell

7 years agoloader.efi environment related cleanups
tsoome [Wed, 1 Feb 2017 08:46:59 +0000 (08:46 +0000)]
loader.efi environment related cleanups

Since we have dedicated libefi/env.c file for variable support, the following
changes are done:

Simple cstyle changes in env.c
Moved efi variable related commands from loader/main.c to libefi/env.c
Did create function to set "efi-version" environment variable in env.c.

This function does serve two purposes: for first a  small clean up of the
loader main(), and for second, it does replace the otherwise unused
efi_variable_support hack.
A bit of cleanup of ficl backend functions. The TEST_MAIN has no meaning,
and removed few memory leaks.

The forth code is updated to use "efi-version" variable, instead of ficl
environment check.

Reviewed by: imp
Approved by: imp (mentor)
Differential Revision: https://reviews.freebsd.org/D9165

7 years agoBump GCC FBSD_CC_VER for r312899 (-march=octeon+ support)
emaste [Wed, 1 Feb 2017 05:24:17 +0000 (05:24 +0000)]
Bump GCC FBSD_CC_VER for r312899 (-march=octeon+ support)

Reported by: lidl
MFC after: 1 month
MFC with: r312899
Sponsored by: The FreeBSD Foundation

7 years agoAdd atomic_fcmpset_*() inlines for MIPS
kan [Wed, 1 Feb 2017 05:00:34 +0000 (05:00 +0000)]
Add atomic_fcmpset_*() inlines for MIPS

atomic_fcmpset_*() is analogous to atomic_cmpset(), but saves off the
read value from the target memory location into the 'old' pointer.

Reviewed by: imp, brooks
Requested by: mjg
Differential Revision: https://reviews.freebsd.org/D9391

7 years agoImplement get_pcpu() for the remaining architectures and use it to
jah [Wed, 1 Feb 2017 03:32:49 +0000 (03:32 +0000)]
Implement get_pcpu() for the remaining architectures and use it to
replace pcpu_find(curcpu) in MI code.

7 years agoAdd Book-E Enhanced Debug (E.D) profile debug support
jhibbits [Wed, 1 Feb 2017 03:29:13 +0000 (03:29 +0000)]
Add Book-E Enhanced Debug (E.D) profile debug support

Freescale added the E.D profile to e500mc and derivative cores.  From
Freescale's EREF reference manual this is enabled by a bit in HID0 and should
otherwise default to traditional debug.  However, none of the Freescale cores
support that bit, and instead always use E.D.  This results in kernel panics
using the standard debug on e500mc+ cores.

Enhanced debug allows debugging of interrupts, including critical interrupts,
as it uses a different save/restore registers (srr*).  At this time we don't use
this ability, so instead share the core of the debug handler code between both
handlers.

MFC after: 3 weeks

7 years agoAdd rfdi opcode to binutils
jhibbits [Wed, 1 Feb 2017 02:42:45 +0000 (02:42 +0000)]
Add rfdi opcode to binutils

The rfdi instruction is part of the e500mc and derivative cores.  It came into
binutils in a GPLv3 patch, along with the rest of the e500mc instruction set.
Currently only rfdi is planned to be used, so rather than attempt to backport
the full patch, take a surgical route and add instructions as needed.

MFC after: 2 weeks

7 years agoAdd USB IDs supported by TI / Intel USB 3410 family (modems of various
imp [Wed, 1 Feb 2017 02:00:18 +0000 (02:00 +0000)]
Add USB IDs supported by TI / Intel USB 3410 family (modems of various
flavors). This includes both the release products (from Honeywell,
Moxa and Multitech) as well as development kits.

7 years agoAdd myself (jmd) to committers-ports.dot. Document rene and swills as my mentors.
jmd [Wed, 1 Feb 2017 01:25:30 +0000 (01:25 +0000)]
Add myself (jmd) to committers-ports.dot. Document rene and swills as my mentors.

Reviewed by: rene (mentor)
Approved by: rene (mentor)
Differential Revision: https://reviews.freebsd.org/D9393

7 years agoEnsure that the variable bail is always initialized before used.
tuexen [Wed, 1 Feb 2017 00:10:29 +0000 (00:10 +0000)]
Ensure that the variable bail is always initialized before used.

MFC after: 1 week

7 years agoTake the SCTP common header into account when computing the
tuexen [Tue, 31 Jan 2017 23:36:31 +0000 (23:36 +0000)]
Take the SCTP common header into account when computing the
space available for chunks. This unbreaks the handling of
ICMPV6 packets indicating "packet too big". It just worked
for IPv4 since we are overbooking for IPv4.

MFC after: 1 week

7 years agoRemove a duplicate debug statement.
tuexen [Tue, 31 Jan 2017 23:34:02 +0000 (23:34 +0000)]
Remove a duplicate debug statement.

MFC after: 1 week

7 years agonet80211: cleanup ic_flags / iv_flags
avos [Tue, 31 Jan 2017 22:21:08 +0000 (22:21 +0000)]
net80211: cleanup ic_flags / iv_flags

Flags
 - IEEE80211_F_ASCAN
 - IEEE80211_F_SIBSS
 - IEEE80211_F_IBSSON
are not used since r170530 (old WI compatibility ioctls removal)
and r178354 (removed from other places).

IEEE80211_F_TXPOW_FIXED was never utilized; initially added with
IEEE80211_F_TXPOW_AUTO / IEEE80211_F_TXPOW_OFF flags,
which were replaced with IEEE80211_C_TXPMGT capability check in r138568.

Reviewed by: adrian
Differential Revision: https://reviews.freebsd.org/D9369

7 years agoAdd a new vagrant-box target, to make it easier and less redundant to only
brd [Tue, 31 Jan 2017 21:59:10 +0000 (21:59 +0000)]
Add a new vagrant-box target, to make it easier and less redundant to only
produce the Vagrant box and not upload it.

Approved by: re (gjb)

7 years ago[ath] log seqno, type and subtype when assigning sequence numbers for A-MPDU.
adrian [Tue, 31 Jan 2017 20:57:40 +0000 (20:57 +0000)]
[ath] log seqno, type and subtype when assigning sequence numbers for A-MPDU.

This is just to improve adrian-debugging.

7 years agoAdd tests for multi-fib IPv6 routing
asomers [Tue, 31 Jan 2017 20:13:50 +0000 (20:13 +0000)]
Add tests for multi-fib IPv6 routing

PR: 196361
Submitted by: jhujhiti@adjectivism.org
Reported by: Jason Healy <jhealy@logn.net>
MFC after: 4 weeks
Sponsored by: Spectra Logic Corp

7 years agoImport tcpdump-4.9.0 into dist.
glebius [Tue, 31 Jan 2017 19:17:06 +0000 (19:17 +0000)]
Import tcpdump-4.9.0 into dist.

7 years agoForce a few variables to be upper case when they are evaulated.
brd [Tue, 31 Jan 2017 19:09:06 +0000 (19:09 +0000)]
Force a few variables to be upper case when they are evaulated.

This allows specifying, for example: CLOUDWARE=vagrant-vmware

Approved by: re (gjb)

7 years agoFix a couple of issues with t4iov probe and attach.
jhb [Tue, 31 Jan 2017 18:54:13 +0000 (18:54 +0000)]
Fix a couple of issues with t4iov probe and attach.

- Check for Chelsio vendor ID in probe routines.
- Fail attach instead of faulting if pci_find_dbsf() doesn't find a
  device.

PR: 216539
Reported by: asomers
Tested by: Dave Baukus <daveb@spectralogic.com>
MFC after: 3 days
Sponsored by: Chelsio Communications

7 years agoAdd the folowing set accessor functions for recently-added members of ifnet
stevek [Tue, 31 Jan 2017 16:12:31 +0000 (16:12 +0000)]
Add the folowing set accessor functions for recently-added members of ifnet
structure:

if_gethwtsomax(), if_sethwtsomax()                 - if_hw_tsomax
if_gethwtsomaxsegcount(), if_sethwtsomaxsegcount() - if_hw_tsomaxsegcount
if_gethwtsomaxsegsize(), if_sethwtsomaxsegsize()   - if_hw_tsomaxsegsize

Update em and vnic drivers which had already been coverted to use accessor
functions for the other ifnet structure members.

Reviewed by: erj
Approved by: sjg (mentor)
Obtained from: Juniper Networks, Inc.
Differential Revision: https://reviews.freebsd.org/D8544

7 years agoAdd kern_pread() and kern_pwrite(), and use it in compats instead
trasz [Tue, 31 Jan 2017 15:35:18 +0000 (15:35 +0000)]
Add kern_pread() and kern_pwrite(), and use it in compats instead
of their sys_*() counterparts. The svr4 is left unchanged.

Reviewed by: kib@
MFC after: 2 weeks
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D9379

7 years agoFix linux_getppid() to debug the actual parent, even it was reparented
trasz [Tue, 31 Jan 2017 15:22:51 +0000 (15:22 +0000)]
Fix linux_getppid() to debug the actual parent, even it was reparented
by debugger.

Reviewed by: dchagin@
MFC after: 2 weeks
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D9361

7 years agoReplace calls to sys_truncate() with kern_truncate().
trasz [Tue, 31 Jan 2017 15:19:44 +0000 (15:19 +0000)]
Replace calls to sys_truncate() with kern_truncate().

Reviewed by: kib@
MFC after: 2 weeks
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D9371

7 years agoAdd kern_cpuset_getid() and kern_cpuset_setid(), and use them
trasz [Tue, 31 Jan 2017 15:11:23 +0000 (15:11 +0000)]
Add kern_cpuset_getid() and kern_cpuset_setid(), and use them
in compat32 instead of their sub_*() counterparts.

Reviewed by: jhb@, kib@
MFC after: 2 weeks
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D9382

7 years agoAdd missing ephy bus gates and resets.
jmcneill [Tue, 31 Jan 2017 14:36:06 +0000 (14:36 +0000)]
Add missing ephy bus gates and resets.

7 years agoExpose symbols in lib/libclang_rt/profile to fix --coverage
ngie [Tue, 31 Jan 2017 07:13:01 +0000 (07:13 +0000)]
Expose symbols in lib/libclang_rt/profile to fix --coverage

The symbols currently hidden in libprofile_rt are needed for linking with
`clang --coverage` to add coverage counters at link time and produce
coverage numbers at runtime.

In collaboration with: dim
MFC after: 1 month
Sponsored by: Dell EMC Isilon
Differential Revision: D9168

7 years agoWait for /dev/ggate* to appear after calling `ggatel create` in :ggatel_{file,md}
ngie [Tue, 31 Jan 2017 06:12:51 +0000 (06:12 +0000)]
Wait for /dev/ggate* to appear after calling `ggatel create` in :ggatel_{file,md}

The test assumed that `ggatel create` created a device on completion, but that's
incorrect. This squashes the race by waiting for the device to appear, as
`ggatel create` daemonizes before issuing an ioctl to geom_gate(4) if not called
with `-v`.

Discussed with: asomers
MFC after: 1 week
PR: 204616
Sponsored by: Dell EMC Isilon

7 years agoDon't retry a lost reservation in atomic_fcmpset()
jhibbits [Tue, 31 Jan 2017 03:40:13 +0000 (03:40 +0000)]
Don't retry a lost reservation in atomic_fcmpset()

The desired behavior of atomic_fcmpset_() is to always exit on error.  Instead
of retrying on lost reservation, leave the retry to the caller, and return
error.

Reported by: kib

7 years agocalculate_crc32c: Add SSE4.2 implementation on x86
cem [Tue, 31 Jan 2017 03:26:32 +0000 (03:26 +0000)]
calculate_crc32c: Add SSE4.2 implementation on x86

Derived from an implementation by Mark Adler.

The fast loop performs three simultaneous CRCs over subsets of the data
before composing them.  This takes advantage of certain properties of
the CRC32 implementation in Intel hardware.  (The CRC instruction takes 1
cycle but has 2-3 cycles of latency.)

The CRC32 instruction does not manipulate FPU state.

i386 does not have the crc32q instruction, so avoid it there.  Otherwise
the implementation is identical to amd64.

Add basic userland tests to verify correctness on a variety of inputs.

PR: 216467
Reported by: Ben RUBSON <ben.rubson at gmail.com>
Reviewed by: kib@, markj@ (earlier version)
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D9342

7 years agoUpdate CFLAGS for clang compatibility
jhibbits [Tue, 31 Jan 2017 01:55:29 +0000 (01:55 +0000)]
Update CFLAGS for clang compatibility

* Clang/llvm does not (yet) support -m(no-)spe, so make it gcc-only
* Clang now supports -msoft-float, and does not appear to recognize
  "-disable-ppc-float-in-variadic", which appears to have been a crutch until
  soft-float was implemented.  It's now implemented for both 32- and 64-bit.
* Clang/llvm use a 'medium' code model by default for powerpc64, supporting up
  to 4GB TOC, and does not support the '-mminimal-toc' option.  Given both of
  these, make -mminimal-toc gcc-only.

MFC after: 2 weeks

7 years agoFix compilation!
adrian [Tue, 31 Jan 2017 01:48:55 +0000 (01:48 +0000)]
Fix compilation!

7 years agoRemove a duplicate store when performing REL32 relocations in rtld.
jhb [Mon, 30 Jan 2017 23:13:41 +0000 (23:13 +0000)]
Remove a duplicate store when performing REL32 relocations in rtld.

The duplicate call to store_ptr() was added in r204687, but it should
have no effect as it only stores an Elf_Sword and the later store_ptr()
does a write that is at least as large if not larger.

Reviewed by: jmallett
Obtained from: CheriBSD (sort of)
Sponsored by: DARPA / AFRL

7 years agoMFV 312999:
pfg [Mon, 30 Jan 2017 23:00:51 +0000 (23:00 +0000)]
MFV 312999:
Update libedit 2016-03-21

Minor cleanups plus some license syncing.

Obtained from: NetBSD
X-MFC with: r312997

7 years agoFix indentantion in pf_purge_thread(). No functional change.
glebius [Mon, 30 Jan 2017 22:47:48 +0000 (22:47 +0000)]
Fix indentantion in pf_purge_thread().  No functional change.

7 years ago[mips] add some (temporary, I hope!) mips24k/mips74k hwpmc modules.
adrian [Mon, 30 Jan 2017 22:29:21 +0000 (22:29 +0000)]
[mips] add some (temporary, I hope!) mips24k/mips74k hwpmc modules.

Ideally we'd have a top level hwpmc module with the shared bits, then
cpu specific glue as needed.  However, on the MIPS side, there's no
probe code - {mips24k, mips74k, octeon} implement a set of methods
that hwpmc_mips.c expects.

So this populates separate modules with duplicate code.
Ew, but it does work.

This gets me off the hook - these work fine as copied into the relevant
mfsroot for mips24k/mips74k systems.

TODO:

* do it the "right" way in the future.  Note that modules/hwpmc/ does
  build fine on MIPS, it jusn't DO anything.  So it'd be nice to
  maybe call that "hwpmc_core" and then "hwpmc" can be the CPU/arch glue.

7 years agoMFV r312996:
pfg [Mon, 30 Jan 2017 22:11:53 +0000 (22:11 +0000)]
MFV r312996:
Re-import libedit 2016-02-27

This reverts r296435: the issues related to lldb and this update appear to
have been identified (in lldb).

Obtained from: NetBSD
Reported by: emaste
MFC after: 3 weeks

7 years agoInitialize a stack variable in mprsas_get_sas_address_for_sata_disk
asomers [Mon, 30 Jan 2017 19:49:08 +0000 (19:49 +0000)]
Initialize a stack variable in mprsas_get_sas_address_for_sata_disk

Thought it's difficult to reproduce, I think this variable was responsible
for a use-after-free panic when a SATA disk timed out responding to a SATA
identify command during boot.

Submitted by: slm
Reviewed by: slm
MFC after: 4 weeks
Sponsored by: Spectra Logic Corp
Differential Revision: https://reviews.freebsd.org/D9364

7 years agoAvoid page lookups in the top-level object in vm_object_madvise().
markj [Mon, 30 Jan 2017 18:51:43 +0000 (18:51 +0000)]
Avoid page lookups in the top-level object in vm_object_madvise().

We can iterate over consecutive resident pages in the top-level object
using the object's page list rather than by performing lookups in the
object radix tree. This extends one of the optimizations in r312208 to the
case where a shadow chain is present.

Suggested by: alc
Reviewed by: alc, kib (previous version)
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D9282

7 years agoPull in r279454 from upstream llvm trunk (by James Molloy):
dim [Mon, 30 Jan 2017 18:35:24 +0000 (18:35 +0000)]
Pull in r279454 from upstream llvm trunk (by James Molloy):

  [SROA] Remove incorrect assertion

  Confirmed with aprantl, this assertion is incorrect - code can get
  here (for example 80-bit FP types) and if it does it's benign. This
  is exposed by a completely unrelated patch of mine, so stop the
  compiler falling over.

  Original differential: http://reviews.llvm.org/D16187
  aprantl's advice to remove assertion:
  http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20160815/382129.html

This should fix assertions when building the math/opensolaris-libm port.

Reported by: marino
MFC after: 3 days

7 years agoMFV r312970:
pfg [Mon, 30 Jan 2017 16:32:53 +0000 (16:32 +0000)]
MFV r312970:
openresolv: update to version 3.9.0.

It is now possible to drop the _WITH_ARG vars thanks to a change to the
pdns_recursor upstreamed by Guy Yur.

MFC after: 3 weeks

7 years agoput very expensive sanity checks of advisory locks under DIAGNOSTIC
avg [Mon, 30 Jan 2017 15:20:13 +0000 (15:20 +0000)]
put very expensive sanity checks of advisory locks under DIAGNOSTIC

The checks have quadratic complexity over a number of advisory locks
active for a file and that could be a lot.  What's the worse is that the
checks are done while holding ls_lock.  That could lead to a long a very
long backlog and performance degradation even if all requested locks are
compatible (e.g. all shared locks).

The checks used to be under INVARIANTS.

Discussed with: kib
MFC after: 2 weeks
Sponsored by: Panzura

7 years agoAdd kern_listen(), kern_shutdown(), and kern_socket(), and use them
trasz [Mon, 30 Jan 2017 12:57:22 +0000 (12:57 +0000)]
Add kern_listen(), kern_shutdown(), and kern_socket(), and use them
instead of their sys_*() counterparts in various compats. The svr4
is left untouched, because there's no point.

Reviewed by: ed@, kib@
MFC after: 2 weeks
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D9367

7 years agoAdd kern_lseek() and use it instead of sys_lseek() in various compats.
trasz [Mon, 30 Jan 2017 12:24:47 +0000 (12:24 +0000)]
Add kern_lseek() and use it instead of sys_lseek() in various compats.
I didn't touch svr4/, there's no point.

Reviewed by: ed@, kib@
MFC after: 2 weeks
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D9366

7 years agoReplace sys_ftruncate() with kern_ftruncate() in various compats.
trasz [Mon, 30 Jan 2017 11:50:54 +0000 (11:50 +0000)]
Replace sys_ftruncate() with kern_ftruncate() in various compats.

Reviewed by: kib@
MFC after: 2 weeks
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D9368

7 years agoExtend LD_UTRACE by also generating utrace(2) log events for runtime linker
peterj [Mon, 30 Jan 2017 08:38:32 +0000 (08:38 +0000)]
Extend LD_UTRACE by also generating utrace(2) log events for runtime linker
errors.

Reviewed by: kib, jhb
Approved by: jhb(mentor)
MFC after: 1 week
Differential Revision:  D9347

7 years agoMake "desc" pointer non-constant inside the mlx5_core_diagnostics_entry
hselasky [Mon, 30 Jan 2017 08:35:15 +0000 (08:35 +0000)]
Make "desc" pointer non-constant inside the mlx5_core_diagnostics_entry
structure. This fixes compilation with amd64-xtoolchain-gcc.

PR: 216588
MFC after: 1 week
Sponsored by: Mellanox Technologies

7 years agoCorrect comment grammar and make it easier to understand.
cy [Mon, 30 Jan 2017 04:51:18 +0000 (04:51 +0000)]
Correct comment grammar and make it easier to understand.

MFC after: 1 week

7 years agocache: use vrefact for '.' lookups and refing the rdir in fullpath
mjg [Mon, 30 Jan 2017 03:20:05 +0000 (03:20 +0000)]
cache: use vrefact for '.' lookups and refing the rdir in fullpath

7 years agofd: sprinkle __read_mostly and __exclusive_cache_line
mjg [Mon, 30 Jan 2017 03:07:32 +0000 (03:07 +0000)]
fd: sprinkle __read_mostly and __exclusive_cache_line

7 years agoDo not update the lagg link layer address when destroying a lagg clone.
loos [Mon, 30 Jan 2017 03:04:33 +0000 (03:04 +0000)]
Do not update the lagg link layer address when destroying a lagg clone.

This would enqueue an event to send the gratuitous arp on a dying lagg
interface without any physical ports attached to it.

Apart from that, the taskqueue_drain() on lagg_clone_destroy() runs too
late, when the ifp data structure is already freed.  Fix that too.

Obtained from: pfSense
MFC after: 2 weeks
Sponsored by: Rubicon Communications, LLC (Netgate)

7 years agoDrop the __GNUCLIKE_ASM guards around most atomic inlines.
jhibbits [Mon, 30 Jan 2017 02:52:15 +0000 (02:52 +0000)]
Drop the __GNUCLIKE_ASM guards around most atomic inlines.

There are no alternatives defined, so there's no point in keeping them.  Also,
they weren't around every inline asm block anyway.  Without __GNUCLIKE_ASM
defined, the guarded functions return garbage.

Reported by: Andrew Thompson

7 years agoForce the setting of bit 7 in the sysmouse packet byte 1 to be unsigned.
jhibbits [Mon, 30 Jan 2017 02:32:33 +0000 (02:32 +0000)]
Force the setting of bit 7 in the sysmouse packet byte 1 to be unsigned.

Clang complains about the shift of (1 << 7) into a int8_t changing the value:

warning: implicit conversion from 'int' to 'int8_t' (aka 'signed char') changes
value from 128 to -128 [-Wconstant-conversion]

Squash this warning by forcing clang to see it as an unsigned bit.

This seems odd, given that it's still a conversion of 128->-128, but I'm
guessing the explicit unsigned attribute notifies clang that sign really doesn't
matter in this case.

Reported by: Mark Millard <markmi AT dsl-only DOT net>
MFC after: 2 weeks

7 years agoMan page update to go along with r312907.
hiren [Mon, 30 Jan 2017 02:25:55 +0000 (02:25 +0000)]
Man page update to go along with r312907.

Reviewed by:     Allanjude
MFC after:     2 weeks
Sponsored by:     Limelight Networks

7 years agoi386: add atomic_fcmpset
mjg [Mon, 30 Jan 2017 02:24:54 +0000 (02:24 +0000)]
i386: add atomic_fcmpset

Tested by: pho

7 years agoAdd a INTR_TRIG_INVALID, and use it in the powerpc interrupt code.
jhibbits [Mon, 30 Jan 2017 02:21:29 +0000 (02:21 +0000)]
Add a INTR_TRIG_INVALID, and use it in the powerpc interrupt code.

Summary:
Clang throws the following warning in powerpc intr_machdep:

/usr/src/sys/powerpc/powerpc/intr_machdep.c:454:15: warning: comparison of
constant -1 with expression of type 'enum intr_trigger' is always false
[-Wtautological-constant-out-of-range-compare]
    if (i->trig == -1)
        ~~~~~~~ ^  ~~

This may lead to legitimate problems with aggressive optimizations, if not now
then in the future.  To avoid this, add a new enum, INTR_TRIG_INVALID, set to
-1, and use this new enumeration in these checks.

Test Plan: Compile test.

Reviewed By: jhb, kib
Differential Revision: https://reviews.freebsd.org/D9300

7 years agoAdd atomic_fcmpset_*() inlines for powerpc
jhibbits [Mon, 30 Jan 2017 02:15:54 +0000 (02:15 +0000)]
Add atomic_fcmpset_*() inlines for powerpc

Summary:
atomic_fcmpset_*() is analogous to atomic_cmpset(), but saves off the read value
from the target memory location into the 'old' pointer in the case of failure.

Requested by:  mjg
Differential Revision: https://reviews.freebsd.org/D9325

7 years ago[net80211] address seqno allocation for group addressed frames
adrian [Mon, 30 Jan 2017 01:11:30 +0000 (01:11 +0000)]
[net80211] address seqno allocation for group addressed frames

After some digging and looking at packet traces, it looks like the
sequence number allocation being done by net80211 doesn't meet
802.11-2012.

Specifically, group addressed frames (broadcast, multicast) have
sequence numbers allocated from a separate pool, even if they're
QoS frames.

This patch starts to try and address this, both on transmit and
receive.

* When receiving, don't throw away multicast frames for now.
  It's sub-optimal, but until we correctly track group addressed
  frames via another TID counter, this is the best we can do.

* When doing A-MPDU checks, don't include group addressed frames
  in the sequence number checks.

* When transmitting, don't allocate group frame sequence numbers
  from the TID, instead use the NONQOS TID for allocation.

This may fix iwn(4) 11n because I /think/ this was one of the
handful of places where ni_txseqs[] was being assigned /outside/
of the driver itself.

This however doesn't completely fix things - notably the way that
TID assignment versus WME assignment for driver hardware queues
will mess up multicast ordering. For example, if all multicast
QoS frames come from one sequence number space but they're
expected to obey the QoS value assigned, they'll end up in
different queues in the hardware and go out in different
orders.

I can't fix that right now and indeed fixing it will require some
pretty heavy lifting of both the WME<->TID QoS assignment, as well
as figuring out what the correct way for drivers to behave.

For example, both iwn(4) and ath(4) shouldn't put QoS multicast
traffic into the same output queue as aggregate traffic, because
the sequence numbers are all wrong. So perhaps the correct thing
to do there is ignore the WME/TID for QoS traffic and map it all
to the best effort queue or something, and ensure it doesn't
muck up the TID/blockack window tracking. However, I'm /pretty/
sure that is still going to happen.

.. maybe I should disable multicast QoS frames in general as well,
but I don't know what that'll do for whatever the current state
of 802.11s mesh support is.

Tested:

* STA mode, ath10k NIC
* AP mode, AR9344/AR9580 AP
* iperf tcp/udp tests with concurrent multicast QoS traffic.

Before this, iperfs would fail pretty quickly because the sending
AP would start sending out QoS multicast frames that would be
out of order from the rest of the TID traffic, causing the blockack
window to get way, way out of sync.

This now doesn't occur.

TODO:

* verify which QoS frames SHOULD be tagged as M_AMPDU_MPDU.
  For example, QoS NULL frames shouldn't be tagged!

Reviewed by: avos
Differential Revision: https://reviews.freebsd.org/D9357

7 years ago[am335x] Fix DTB name in LINKS variable
gonzo [Sun, 29 Jan 2017 22:06:52 +0000 (22:06 +0000)]
[am335x] Fix DTB name in LINKS variable

Fix apparent typo introduced by r312915, upstream DTBs are
am335x-* not am3335x-*

7 years agoDo not leave stale 4K TLB entries on pde (superpage) removal or
kib [Sun, 29 Jan 2017 19:14:48 +0000 (19:14 +0000)]
Do not leave stale 4K TLB entries on pde (superpage) removal or
protection change.

On superpage promotion, x86 pmaps do not invalidate existing 4K
entries for the superpage range, because they are compatible with the
promoted 2/4M entry.  But the invalidation on superpage removal or
protection change only did single INVLPG with the base address of the
superpage.  This reliably flushed superpage TLB entry, and 4K entry
for the first page of the superpage, potentially leaving other 4K TLB
entries lingering.  Do the invalidation of the whole superpage range
to correct the problem.

Note that the precise invalidation is done by x86 code for kernel_pmap
only, for user pmaps whole (per-AS) TLB is flushed.  This made the bug
well hidden, because promotions of the kernel mappings require
specific load.

Reported and tested by: Jonathan Looney <jtl@netflix.com> (previous version)
Reviewed by: alc
Sponsored by: The FreeBSD Foundation
MFC after: 1 week

7 years agoThe stf(4) interface name does not conform with the default naming
loos [Sun, 29 Jan 2017 18:41:09 +0000 (18:41 +0000)]
The stf(4) interface name does not conform with the default naming
convention for interfaces, because only one stf(4) interface can exist
in the system.

This disallow the use of unit numbers different than 0, however, it is
possible to create the clone without specify the unit number (wildcard).

In the wildcard case we must update the interface name before return.

This fix an infinite recursion in pf code that keeps track of network
interfaces and groups:

1 - a group for the cloned type of the interface is added (stf in this
    case);
2 - the system will now try to add an interface named stf (instead of
    stf0) to stf group;
3 - when pfi_kif_attach() tries to search for an already existing 'stf'
    interface, the 'stf' group is returned and thus the group is added
    as an interface of itself;

This will now cause a crash at the first attempt to traverse the groups
which the stf interface belongs (which loops over itself).

Obtained from: pfSense
MFC after: 2 weeks
Sponsored by: Rubicon Communications, LLC (Netgate)

7 years agoImplement get_pcpu() for i386 and use it to replace pcpu_find(curcpu)
jah [Sun, 29 Jan 2017 16:54:55 +0000 (16:54 +0000)]
Implement get_pcpu() for i386 and use it to replace pcpu_find(curcpu)
in the i386 pmap.

The curcpu macro loads the per-cpu data pointer as its first step,
so the remaining steps of pcpu_find(curcpu) are circular.

get_pcpu() is already implemented for arm, arm64, and risc-v.
My plan is to implement it for the remaining architectures and use
it to replace several instances of pcpu_find(curcpu) in MI code.

Reviewed by: kib
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D9370

7 years agoCorrect the IT instruction in atomic_fcmpset_64().
cognet [Sun, 29 Jan 2017 13:31:56 +0000 (13:31 +0000)]
Correct the IT instruction in atomic_fcmpset_64().

Reported by: andrew

7 years agoRemove unused kern_sendfile() declaration.
trasz [Sun, 29 Jan 2017 12:31:24 +0000 (12:31 +0000)]
Remove unused kern_sendfile() declaration.

7 years agoRemove "-Xassembler -G0" from CFLAGS.
brooks [Sun, 29 Jan 2017 11:52:36 +0000 (11:52 +0000)]
Remove "-Xassembler -G0" from CFLAGS.

-G0 is sufficent except on old version of clang (<3.8) and such versions
are unlikely to be generally useful on mips64.

Reported by: sbruno
Sponsored by: DARPA, AFRL

7 years ago- Remove i8255.h because it's pc98 device.
nyan [Sun, 29 Jan 2017 03:34:49 +0000 (03:34 +0000)]
- Remove i8255.h because it's pc98 device.
- rsa.h is for both RSA-DV/S ISA and RSA-98III CBUS, but there is no RSA-DV/S
  support.  So it can be removed.

7 years agoDo not run the pf purge thread while the VNET variables are not
loos [Sun, 29 Jan 2017 02:17:52 +0000 (02:17 +0000)]
Do not run the pf purge thread while the VNET variables are not
initialized, this can cause a divide by zero (if the VNET initialization
takes to long to complete).

Obtained from: pfSense
MFC after: 2 weeks
Sponsored by: Rubicon Communications, LLC (Netgate)

7 years agoRemove GCC's __nonnull() attribute definition.
pfg [Sun, 29 Jan 2017 00:45:52 +0000 (00:45 +0000)]
Remove GCC's __nonnull() attribute definition.

While GCC's __nonnull__ attribute is generally useful to prevent misuse of
some functions it also tends to do rather dangerous "optimizations". Now
that we have replaced (r312934) all such uses with the clang nullability
qualifiers, the GCC attribute is unnecessary.

Remove the definition completely to prevent its use in system's headers.

7 years agoUpdate MACHINE/MACHINE_ARCH examples to use arm64/aarch64 instead of i386/pc98
ngie [Sun, 29 Jan 2017 00:24:34 +0000 (00:24 +0000)]
Update MACHINE/MACHINE_ARCH examples to use arm64/aarch64 instead of i386/pc98

pc98 support was removed in r312910

7 years agoRemove non-existent ct(4) dependency for scsi_low.c
ngie [Sun, 29 Jan 2017 00:12:06 +0000 (00:12 +0000)]
Remove non-existent ct(4) dependency for scsi_low.c

ct(4) was removed with pc98 in r312910

7 years agoFix overly long lines, whitespace and other bugs according to style(9).
marius [Sun, 29 Jan 2017 00:05:49 +0000 (00:05 +0000)]
Fix overly long lines, whitespace and other bugs according to style(9).

7 years agoUpdate TARGET/TARGET_ARCH examples to use arm64/aarch64 instead of i386/pc98
ngie [Sat, 28 Jan 2017 23:58:17 +0000 (23:58 +0000)]
Update TARGET/TARGET_ARCH examples to use arm64/aarch64 instead of i386/pc98

pc98 support was removed in r312910

7 years agoFix typo in lib/Makefile
ngie [Sat, 28 Jan 2017 23:51:03 +0000 (23:51 +0000)]
Fix typo in lib/Makefile

The SUBDIR_DEPEND variable should be for librpcsec_gss, not
liblibrpc_gss

MFC after: 1 week
PR: 216409
Reported by: mail@fbsd.e4m.org

7 years agoGarbage collect pc98-only variables still referenced in sys/modules/Makefile
ngie [Sat, 28 Jan 2017 23:47:17 +0000 (23:47 +0000)]
Garbage collect pc98-only variables still referenced in sys/modules/Makefile

These should have been removed with r312910

7 years agoRemove duplicate bhnd SUBDIR entry
ngie [Sat, 28 Jan 2017 23:41:38 +0000 (23:41 +0000)]
Remove duplicate bhnd SUBDIR entry

MFC after: 1 week
PR: 216413
Reported by: mail@fbsd.e4m.org

7 years agoMake use of clang nullability attributes.
pfg [Sat, 28 Jan 2017 20:54:43 +0000 (20:54 +0000)]
Make use of clang nullability attributes.

Replace uses of the GCC __nonnull__ attribute with the clang nullability
qualifiers. The replacement should be transparent for clang developers as
the new qualifiers will produce the same warnings and will be useful for
static checkers but will not cause aggressive optimizations.

GCC will not produce such warnings and developers will have to use
upgraded GCC ports built with the system headers from r312538.

Hinted by: Apple's Libc-1158.20.4, Bionic libc
MFC after: 11.1 Release

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

7 years agoRemove useless labels.
cognet [Sat, 28 Jan 2017 17:48:33 +0000 (17:48 +0000)]
Remove useless labels.

7 years agoUse strexeq instead of needlessly branch.
cognet [Sat, 28 Jan 2017 17:46:04 +0000 (17:46 +0000)]
Use strexeq instead of needlessly branch.

Suggested by: ian

7 years agoGarbage collect IFT_IEEE80211 (but leave the define for possible reuse)
avos [Sat, 28 Jan 2017 17:08:40 +0000 (17:08 +0000)]
Garbage collect IFT_IEEE80211 (but leave the define for possible reuse)

This interface type ("a parent interface of wlanX") is not used since
r287197

Reviewed by: adrian, glebius
Differential Revision: https://reviews.freebsd.org/D9308

7 years agoReally revert 312923 this time
bapt [Sat, 28 Jan 2017 16:40:51 +0000 (16:40 +0000)]
Really revert 312923 this time

7 years agoRevert crap accidentally committed
bapt [Sat, 28 Jan 2017 16:31:23 +0000 (16:31 +0000)]
Revert crap accidentally committed

7 years agoRevert r312923 a better approach will be taken later
bapt [Sat, 28 Jan 2017 16:30:14 +0000 (16:30 +0000)]
Revert r312923 a better approach will be taken later

7 years agoImplement atomic_fcmpset_* for arm and arm64.
cognet [Sat, 28 Jan 2017 16:24:06 +0000 (16:24 +0000)]
Implement atomic_fcmpset_* for arm and arm64.

7 years agoFix i386 compile failure by moving needed closing parenthesis out of
sbruno [Sat, 28 Jan 2017 15:44:14 +0000 (15:44 +0000)]
Fix i386 compile failure by moving needed closing parenthesis out of
conditional block.

Submitted by:   hiren
Reported by:    cy

7 years agoMake the drm2 module depend on linuxkpi
bapt [Sat, 28 Jan 2017 15:43:19 +0000 (15:43 +0000)]
Make the drm2 module depend on linuxkpi

Use linux memory allocation to reduce diff with upstream

7 years agoMerge enhancements to the ALTERA Avalon bus generic device attachment
rwatson [Sat, 28 Jan 2017 13:25:06 +0000 (13:25 +0000)]
Merge enhancements to the ALTERA Avalon bus generic device attachment
driver to support exposing a GEOM device, which can be used to mount
Avalon-attached ROMs, reserved areas of DRAM, etc, as a filesystem:

commit 9deb1e60eaaaf7a3687e48c58af5efd756f32ec6
Author: Robert N. M. Watson <robert.watson@cl.cam.ac.uk>
Date:   Sat Mar 5 20:33:12 2016 +0000

    Use format strings with make_dev(9) in avgen(4).

commit 0bf2176c23e7425bfa042c08a24f8a25fe6d8885
Author: Robert N. M. Watson <robert.watson@cl.cam.ac.uk>
Date:   Tue Mar 1 10:23:23 2016 +0000

    Implement a new "geomio" configuration argument to altera_avgen(4),
    the generic I/O device we attach to various BERI peripherals.  The new
    option requests that, instead of exposing the underlying device via a
    special device node in /dev, it instead be exposed via geom(4),
    allowing it to be used with filesystems.  The current implementation
    does not allow a device to be exposed both for file/mmap and geom, so
    one of the two models must be selected when configuring it via FDT or
    device.hints.  A typical use of the new option will be:

      sri-cambridge,geomio = "rw";

MFC after: 1 week
Sponsored by: DARPA, AFRL

7 years agoFix a bug which caused not to create AF_LOCAL sockets when family
hrs [Sat, 28 Jan 2017 13:09:18 +0000 (13:09 +0000)]
Fix a bug which caused not to create AF_LOCAL sockets when family
is specified.

Spotted by: Alex Deiter

7 years agoMerge robustness improvements for the ALTERA JTAG UART driver from
rwatson [Sat, 28 Jan 2017 12:43:19 +0000 (12:43 +0000)]
Merge robustness improvements for the ALTERA JTAG UART driver from
CheriBSD, which attempt to work around an inherent race in the UART's
control-register design in detecting whether JTAG is currently,
present, which will otherwise lead to moderately frequent output
drops when running in polled rather than interrupt-driven operation.
Now, these drops are quite infrequent.

commit 9f33fddac9215e32781a4f016ba17eab804fb6d4
Author: Robert N. M. Watson <robert.watson@cl.cam.ac.uk>
Date:   Thu Jul 16 17:34:12 2015 +0000

    Add a new sysctl, hw.altera_jtag_uart.ac_poll_delay, which allows the
    (default 10ms) delay associated with a full JTAG UART buffer combined
    with a lack of a JTAG-present flag to be tuned.  Setting this higher
    may cause some JTAG configurations to be more reliable when printing
    out low-level console output at a speed greater than the JTAG UART is
    willing to carry data.  Or it may not.

commit 73992ef7607738b2973736e409ccd644b30eadba
Author: Robert N. M. Watson <robert.watson@cl.cam.ac.uk>
Date:   Sun Jan 1 15:13:07 2017 +0000

    Minor improvements to the Altera JTAG UART device driver:

    - Minor rework to the logic to detect JTAG presence in order to be a bit
      more resilient to inevitable races: increase the retry period from two
      seconds to four seconds for trying to find JTAG, and more agressively
      clear the miss counter if JTAG has been reconnected.  Once JTAG has
      vanished, stop prodding the miss counter.

    - Do a bit of reworking of the output code to frob the control register
      less by checking whether write interrupts are enabled/disabled before
      changing their state.  This should reduce the opportunity for races
      with JTAG discovery (which are inherent to the Altera
      hardware-software interface, but can at least be minimised).

    - Add statistics relating to interrupt enable/disable/JTAG
      discovery/etc.

    With these changes, polled-mode JTAG UART ttys appear substantially
    more robust.

MFC after: 1 week
Sponsored by: DARPA, AFRL

7 years agoFix build of aio_test on MIPS, where the compiler warns about the local
rwatson [Sat, 28 Jan 2017 12:26:22 +0000 (12:26 +0000)]
Fix build of aio_test on MIPS, where the compiler warns about the local
variable 'err' shadowing the global function err(3).  Which it does.

Sponsored by: DARPA, AFRL

7 years agoAs with GENERIC on other architectures, include COMPAT_FREEBSD10 and
rwatson [Sat, 28 Jan 2017 11:38:51 +0000 (11:38 +0000)]
As with GENERIC on other architectures, include COMPAT_FREEBSD10 and
COMPAT_FREEBSD11 in the generic BERI kernel configuration template.

MFC after: 1 week
Sponsored by: DARPA, AFRL

7 years agoRemove more pc98 support.
nyan [Sat, 28 Jan 2017 09:58:00 +0000 (09:58 +0000)]
Remove more pc98 support.

7 years agoifnet: move the new ifnet_event EVENTHANDLER_DECLARE to net/if_var.h
dexuan [Sat, 28 Jan 2017 07:26:42 +0000 (07:26 +0000)]
ifnet: move the new ifnet_event EVENTHANDLER_DECLARE to net/if_var.h

Thank glebius for pointing this out:
"The network stuff shall not be added to sys/eventhandler.h"

Reviewed by: David_A_Bright_DELL.com, sephe, glebius
Approved by: sephe (mentor)
MFC after: 2 weeks
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D9345