]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/log
FreeBSD/stable/10.git
8 years agoMFC: r294926
allanjude [Tue, 2 Feb 2016 03:08:37 +0000 (03:08 +0000)]
MFC: r294926
  ficl on i386 should cast to unsigned char output to support efi i386

Submitted by: Toomas Soome <tsoome at me.com>
Approved by: re (gjb)

git-svn-id: svn://svn.freebsd.org/base/stable/10@295135 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC 278320,278336,278830,285621:
jhb [Mon, 1 Feb 2016 23:07:31 +0000 (23:07 +0000)]
MFC 278320,278336,278830,285621:
Add devctl(8): a utility for manipulating new-bus devices.  Note that
this version does not include the 'suspend' and 'resume' commands
present in HEAD as those depend on larger changes to the suspend and
resume code in the kernel.

278320:
Add a new device control utility for new-bus devices called devctl.  This
allows the user to request administrative changes to individual devices
such as attach or detaching drivers or disabling and re-enabling devices.
- Add a new /dev/devctl2 character device which uses ioctls for device
  requests.  The ioctls use a common 'struct devreq' which is somewhat
  similar to 'struct ifreq'.
- The ioctls identify the device to operate on via a string.  This
  string can either by the device's name, or it can be a bus-specific
  address.  (For unattached devices, a bus address is the only way to
  locate a device.)  Bus drivers register an eventhandler to claim
  unrecognized device names that the driver recognizes as a valid address.
  Two buses currently support addresses: ACPI recognizes any device
  in the ACPI namespace via its full path starting with "\" and
  the PCI bus driver recognizes an address specification of
  'pci[<domain>:]<bus>:<slot>:<func>' (identical to the PCI selector
  strings supported by pciconf).
- To make it easier to cut and paste, change the PnP location string
  in the PCI bus driver to output a full PCI selector string rather
  than 'slot=<slot> function=<func>'.
- Add a devctl(3) interface in libdevctl which provides a wrapper around
  the ioctls and is the preferred interface for other userland code.
- Add a devctl(8) program which is a simple wrapper around the requests
  supported by devctl(3).
- Add a resource_unset_value() function that can be used to remove a
  hint from the kernel environment.  This is used to clear a
  hint.<driver>.<unit>.disabled hint when re-enabling a boot-time
  disabled device.

278336:
Unbreak the build (memchr is explicitly required by devctl(9) after r278320)

278830:
install the man page...

285621:
Fix formatting.

Approved by: re (marius)

git-svn-id: svn://svn.freebsd.org/base/stable/10@295131 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC: r295032
marius [Mon, 1 Feb 2016 22:16:41 +0000 (22:16 +0000)]
MFC: r295032

Use '^[>+][^+]' instead of '^[>+]' with grep(1) when filtering the
diff(1) output between two files in "new_only"-mode. Otherwise,
with the default of using unified format a remnant of the header
in the output is the result. This is especially irritating when
the two files differ but the second one is empty, amounting to the
vestige of the header being the only readout.
Reported by: Stefan Haemmerl

Approved by: re (delphij)

git-svn-id: svn://svn.freebsd.org/base/stable/10@295130 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r284539, r284630, r284688, r284877, r285217, r285218,
grehan [Mon, 1 Feb 2016 14:56:11 +0000 (14:56 +0000)]
MFC r284539, r284630, r284688, r284877, r285217, r285218,
    r286837, r286838, r288470, r288522, r288524, r288826,
    r289001

Pull in bhyve bug fixes and changes to allow UEFI booting.
This provides Windows support.

Tested on Intel and AMD with:
  - Arch Linux i386+amd64 (kernel 4.3.3)
  - Ubuntu 15.10 server 64-bit
  - FreeBSD-CURRENT/amd64 20160127 snap
  - FreeBSD 10.2 i386+amd64
  - OpenBSD 5.8 i386+amd64
  - SmartOS latest
  - Windows 10 build 1511'

Huge thanks to Yamagi Burmeister who submitted the patch
and did the majority of the testing.

r284539 - bootrom mem allocation support
r284630 - Add SO_REUSEADDR when starting debug port
r284688 - Fix a regression in "movs" emulation
r284877 - verify_gla() non-zero segment base fix
r285217 - Always assert DCD and DSR in the uart
r285218 - devmem nodes moved to /dev/vmm.io/
r286837 - Add define for SATA Check-Power-Mode
r286838 - Add simple (no-op) SATA cmd emulations
r288470 - Increase virtio-blk indirect descs
r288522 - Firmware guest query interface
r288524 - Fix post-test typo
r288826 - Clean up SATA unimplemented cmd msg
r289001 - Add -l option to specify userboot path

Submitted by: Yamagi Burmeister
Approved by: re (kib)

git-svn-id: svn://svn.freebsd.org/base/stable/10@295124 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoDocument SA-16:11.
gjb [Mon, 1 Feb 2016 03:24:38 +0000 (03:24 +0000)]
Document SA-16:11.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

git-svn-id: svn://svn.freebsd.org/base/stable/10@295115 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC revisions 294861,294863
dteske [Mon, 1 Feb 2016 00:58:07 +0000 (00:58 +0000)]
MFC revisions 294861,294863

r294861: Add `-k' for dpv(3) `keep_tite' config option
r294863: Bump copyright

Approved by: re (gjb)

git-svn-id: svn://svn.freebsd.org/base/stable/10@295110 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC revisions 294860,294862,294892-294893,294922
dteske [Mon, 1 Feb 2016 00:44:29 +0000 (00:44 +0000)]
MFC revisions 294860,294862,294892-294893,294922

r294860: Add keep_tite configuration option
r294862: Bump copyrights
r294892: Remove unused function prototype
r294893: Fix a crash if `-D' is used without `-t title'
r294922: Fix fatal warn when compiling under GCC 5.2.0

Approved by: re (marius)

git-svn-id: svn://svn.freebsd.org/base/stable/10@295107 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r295051:
smh [Sun, 31 Jan 2016 02:23:30 +0000 (02:23 +0000)]
MFC r295051:

Fix phy interrupts setup for ixl

Approved by: re (gjb)
Sponsored by: Multiplay

git-svn-id: svn://svn.freebsd.org/base/stable/10@295088 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoFix clean target for sys/boot/efi
smh [Sat, 30 Jan 2016 01:27:29 +0000 (01:27 +0000)]
Fix clean target for sys/boot/efi

Fix clean target breakage of sys/boot/efi introduced by r294981
specifically the MFC of r294029 without the related change introduced by
r281114.

This is direct commit to stable/10 as head uses src.opts.mk.

Approved by: re (glebius)
Sponsored by: Multiplay

git-svn-id: svn://svn.freebsd.org/base/stable/10@295057 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r294691:
sobomax [Sat, 30 Jan 2016 00:09:30 +0000 (00:09 +0000)]
MFC r294691:

Fix readpassphrase(3) when it's called with stdin being closed.

Approved by: re (delphij)

git-svn-id: svn://svn.freebsd.org/base/stable/10@295055 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r295006:
bdrewery [Fri, 29 Jan 2016 17:33:37 +0000 (17:33 +0000)]
MFC r295006:

  Fix -include .depend hack from r294370 for headers not in .PATH.

Approved by: re (gjb)

git-svn-id: svn://svn.freebsd.org/base/stable/10@295048 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r294578:
smh [Fri, 29 Jan 2016 09:16:08 +0000 (09:16 +0000)]
MFC r294578:

Fix ix advertise value after media change

Approved by: re (gjb)
Sponsored by: Multiplay

git-svn-id: svn://svn.freebsd.org/base/stable/10@295035 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r294515:
brooks [Thu, 28 Jan 2016 22:57:09 +0000 (22:57 +0000)]
MFC r294515:

Fix the implementations of PSEUDO_NOERROR and PSEUDO.

The PSEUDO* macros should not declare <syscall>, only _<syscall> and
__sys_<syscall>.  This was causing the interposing C wrappers to be
ignored due to link order.

Reviewed by: kib
Obtained from: CheriBSD (4e8e13c90fc6a80e1520de44a6864cfd78b3b56d)
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D4097

git-svn-id: svn://svn.freebsd.org/base/stable/10@295020 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r294463:
brooks [Thu, 28 Jan 2016 22:34:29 +0000 (22:34 +0000)]
MFC r294463:

Shift saved floating point registers up in jmp_buf.

sigmask_t is 128-bits so requires two slots.

Obtained from: CheriBSD (93699cb9b6e73980ac369e379cea9772c9494ccc)
Sponsored by: DARPA, AFRL

git-svn-id: svn://svn.freebsd.org/base/stable/10@295019 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r294452:
brooks [Thu, 28 Jan 2016 22:08:42 +0000 (22:08 +0000)]
MFC r294452:

Add a simple manpage for the cfi(4) and associated cfid(4) drivers.

Sponsored by: DARPA, AFRL

git-svn-id: svn://svn.freebsd.org/base/stable/10@295018 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMerge OpenSSL 1.0.1r.
jkim [Thu, 28 Jan 2016 21:42:10 +0000 (21:42 +0000)]
Merge OpenSSL 1.0.1r.

Relnotes: yes

git-svn-id: svn://svn.freebsd.org/base/stable/10@295016 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r294840
hiren [Thu, 28 Jan 2016 21:30:49 +0000 (21:30 +0000)]
MFC r294840

Persist timers TCPTV_PERSMIN and TCPTV_PERSMAX are hardcoded with 5 seconds and
60 seconds, respectively. Turn them into sysctls that can be tuned live. The
default values of 5 seconds and 60 seconds have been retained.

git-svn-id: svn://svn.freebsd.org/base/stable/10@295015 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoFixed up version of r294061 that was reverted due to breakage of features
sbruno [Thu, 28 Jan 2016 19:21:01 +0000 (19:21 +0000)]
Fixed up version of r294061 that was reverted due to breakage of features
(netmap) and architectures(i386).  <I'll take the pointyhat on that one>

r283883
-- update to 3.1.0

r283893
-- update SRIOV API changes related to future possible MFC of SRIOV work

r285590
-- Fix ixgbe(4) SRIOV VF initialization bugs

r285591
-- Remove version check for FLOWID

r285592
-- Update netmap support for ixgbe SRIOV VFs.

r286238
-- Fixup MTU zeroing if INET/INET6 are undefined.

Submitted by: kevin bowling <kevin.bowling@kev009.com>
Differential Revision: https://reviews.freebsd.org/D4273

git-svn-id: svn://svn.freebsd.org/base/stable/10@295008 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r293678:
jimharris [Thu, 28 Jan 2016 18:25:55 +0000 (18:25 +0000)]
MFC r293678:

  Update ismt(4) man page to reflect inclusion in upcoming 10.3 release.

git-svn-id: svn://svn.freebsd.org/base/stable/10@295000 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r294068, r294265
smh [Thu, 28 Jan 2016 17:24:40 +0000 (17:24 +0000)]
MFC r294068, r294265

MFC r294068:
Add EFI ZFS boot support

MFC r294265:
Fix broken DPRINTF and wire up EFI_DEBUG so -DEFI_DEBUG to make works.

Relnotes: Yes
Sponsored by: Multiplay

git-svn-id: svn://svn.freebsd.org/base/stable/10@294999 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r281060, r294060, r294291, r294493, r294284:
smh [Thu, 28 Jan 2016 16:52:02 +0000 (16:52 +0000)]
MFC r281060, r294060, r294291, r294493, r294284:

MFC r281060:
Remove an unnecessary space in a printf call

MFC r294060:
Modularise EFI boot loader

MFC r294291 (by andrew):
Reset the filesystem cache

MFC r294493:
Fix EFI UFS caching

MFC r294284 (by emaste):
boot1: correct typo in error message

Sponsored by: Multiplay

git-svn-id: svn://svn.freebsd.org/base/stable/10@294997 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r294506:
smh [Thu, 28 Jan 2016 12:25:27 +0000 (12:25 +0000)]
MFC r294506:

Prevent loader.conf load failure due to unknown console entries

Sponsored by: Multiplay

git-svn-id: svn://svn.freebsd.org/base/stable/10@294986 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r293835:
smh [Thu, 28 Jan 2016 12:23:25 +0000 (12:23 +0000)]
MFC r293835:

Improve non-interactive forth cmd error reporting

Sponsored by: Multiplay

git-svn-id: svn://svn.freebsd.org/base/stable/10@294985 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r286234 (by trasz):
smh [Thu, 28 Jan 2016 12:22:15 +0000 (12:22 +0000)]
MFC r286234 (by trasz):

Fix a problem which made loader(8) load non-kld files twice.

Sponsored by: Multiplay

git-svn-id: svn://svn.freebsd.org/base/stable/10@294984 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r294059:
smh [Thu, 28 Jan 2016 12:15:50 +0000 (12:15 +0000)]
MFC r294059:

Ensure boot fsread correctly probes all partitions

Sponsored by: Multiplay

git-svn-id: svn://svn.freebsd.org/base/stable/10@294982 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r281169, r293724, r293796, r294029, r294041, r294058
smh [Thu, 28 Jan 2016 12:11:42 +0000 (12:11 +0000)]
MFC r281169, r293724, r293796, r294029, r294041, r294058

MFC r281169 (by andrew):
Make global variabled only used in this file static

MFC r294058:
Make common boot file_loadraw name parameter const

MFC r294041:
Remove unused reg param from fdt_fixup_memory

MFC r293724:
Enable warnings in EFI boot code

MFC r293796:
Fix typo in libefi.c

MFC r294029:
Only build EFI components on supported compilers

Sponsored by: Multiplay

git-svn-id: svn://svn.freebsd.org/base/stable/10@294981 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r293831:
smh [Thu, 28 Jan 2016 12:03:30 +0000 (12:03 +0000)]
MFC r293831:

Increase efiboot.img size used in ISO creation

This changes mkisoimages-uefi.sh instead of mkisoimages.sh in r293831 due to
refactor not MFC'ed.

Sponsored by: Multiplay

git-svn-id: svn://svn.freebsd.org/base/stable/10@294980 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r293350:
kib [Thu, 28 Jan 2016 09:25:15 +0000 (09:25 +0000)]
MFC r293350:
Convert sys/cam to use make_dev_s().

git-svn-id: svn://svn.freebsd.org/base/stable/10@294978 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r293349:
kib [Thu, 28 Jan 2016 09:22:38 +0000 (09:22 +0000)]
MFC r293349:
Convert tty common code to use make_dev_s().

git-svn-id: svn://svn.freebsd.org/base/stable/10@294977 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r293346:
kib [Thu, 28 Jan 2016 09:18:12 +0000 (09:18 +0000)]
MFC r293346:
Provide yet another KPI for cdev creation, make_dev_s(9).

git-svn-id: svn://svn.freebsd.org/base/stable/10@294976 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r294040:
smh [Thu, 28 Jan 2016 08:51:00 +0000 (08:51 +0000)]
MFC r294040:

Prevent bogus compiler in ZFS boot code.

Sponsored by: Multiplay

git-svn-id: svn://svn.freebsd.org/base/stable/10@294975 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r294968:
smh [Thu, 28 Jan 2016 08:49:21 +0000 (08:49 +0000)]
MFC r294968:

Allow file specific user-specified flag overrides.

Sponsored by: Multiplay

git-svn-id: svn://svn.freebsd.org/base/stable/10@294974 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r294695:
pfg [Thu, 28 Jan 2016 02:19:47 +0000 (02:19 +0000)]
MFC r294695:
ext2fs: passthrough any extra timestamps to the dinode struct.

In general we don't trust any of the extended timestamps unless the
EXT2F_ROCOMPAT_EXTRA_ISIZE feature is set. However, in the case where
we freshly allocated a new inode the information is valid and it is
better to pass it along instead of leaving the value undefined.

This should have no practical effect but should reduce the amount of
garbage if EXT2F_ROCOMPAT_EXTRA_ISIZE is set, like in cases where the
filesystem is converted from ext3 to ext4.

git-svn-id: svn://svn.freebsd.org/base/stable/10@294970 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r294530: Add STB_GNU_UNIQUE symbol binding definition
emaste [Thu, 28 Jan 2016 01:45:15 +0000 (01:45 +0000)]
MFC r294530: Add STB_GNU_UNIQUE symbol binding definition

Red Hat created STB_GNU_UNIQUE to handle certain special cases relating
to dynamically loading C++ DSOs[1].

We don't (currently) have support for STB_GNU_UNIQUE, but ought to
reserve the value in ELFNN_ST_BIND. This will also be used by an
upcoming ELF Tool Chain import.

git-svn-id: svn://svn.freebsd.org/base/stable/10@294969 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r294749:
jamie [Thu, 28 Jan 2016 00:41:07 +0000 (00:41 +0000)]
MFC r294749:

  Allow the (old rc-style) exec_afterstart jail parameters to start numbering
  at 0, like exec_prestart and the others do.  Make param0 optional, i.e.
  still look for param1.

PR: 142973

git-svn-id: svn://svn.freebsd.org/base/stable/10@294964 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r294565: sem: Don't free nameinfo that is still in list when open()
jilles [Wed, 27 Jan 2016 22:56:04 +0000 (22:56 +0000)]
MFC r294565: sem: Don't free nameinfo that is still in list when open()
fails.

This bug could be reproduced easily by calling sem_open() with O_CREAT |
O_EXCL on a semaphore that is already open in the process. The struct
sem_nameinfo would be freed while still in sem_list and later calls to
sem_open() or sem_close() could access freed memory.

PR: 206396

git-svn-id: svn://svn.freebsd.org/base/stable/10@294963 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years ago- Add an entry for the SIIG Cyber 2SP1 PCIe adapter, which is based
marius [Wed, 27 Jan 2016 22:50:04 +0000 (22:50 +0000)]
- Add an entry for the SIIG Cyber 2SP1 PCIe adapter, which is based
  on an Oxford Semiconductor OX16PCI954 but uses only two ports and
  a non-default clock rate. [1]
- Add entries for the more prominent members of the Digi International
  Neo series, which are based on Exar PCI chips.
  Tested by: Patrick Powell
- Mark some unused parameters as such.
- Fix style/whitespace

PR: 176407 [1]

git-svn-id: svn://svn.freebsd.org/base/stable/10@294961 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC: r294362, r294414, r294753
marius [Wed, 27 Jan 2016 22:48:04 +0000 (22:48 +0000)]
MFC: r294362, r294414, r294753

- Fix tty_drain() and, thus, TIOCDRAIN of the current tty(4) incarnation
  to actually wait until the TX FIFOs of UARTs have be drained before
  returning. This is done by bringing the equivalent of the TS_BUSY flag
  found in the previous implementation back in an ABI-preserving way.
  Reported and tested by: Patrick Powell
- Make the code consistent with itself style-wise and bring it closer
  to style(9).
- Mark unused arguments as such.
- Make the ttystates table const.

git-svn-id: svn://svn.freebsd.org/base/stable/10@294959 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoSync the e1000 drivers with what's in head as of r294327, modulo parts
marius [Wed, 27 Jan 2016 22:31:08 +0000 (22:31 +0000)]
Sync the e1000 drivers with what's in head as of r294327, modulo parts
that don't apply to stable/10 (driver API, if_inc_counter(), RSS changes
etc.) and modulo r287465 (which reportedly breaks igb(4)), i. e. assorted
fixes and improvements only:

o MFC r267385 (partial):
  - Don't compare bus_dma map pointers for static DMA allocations against
    NULL to determine if bus_dmamap_unload() or bus_dmamem_free() should be
    called. Instead, check the associated bus and virtual addresses.
  - Don't clear static DMA maps to NULL.
o MFC r284933:
  Delete the refernce to VLAN handling being disabled by default. This is
  no longer the case. [1]
o MFC r285639:
  Add an adapter CORE lock in the DDB hook em_dump_queue to avoid WITNESS
  panic in em_init_locked() while debugging.
o MFC r285879:
  - Remove unused txd_saved.
  - Intialize txd_upper, txd_lower and txd_used at declaration.
o MFC r286162:
  Free mbufs when busdma loading fails.
o MFC r286829:
  Add capability to disable CRC stripping as it breaks IPMI/BMC capabilities
  on certain adatpers. [2]
o MFC r286831: [3]
  - Increase EM_MAX_SCATTER to 64 such that the size of em_xmit()::
    segs[EM_MAX_SCATTER] doesn't get overrun by things like NFS that can
    and do shove more than 32 segs when being used with em(4) and TSO4.
  - Update tso handling code in em_xmit() with update from jhb@
  - Set if_hw_tsomax, if_hw_tsomaxsegcount and if_hw_tsomaxsegsize to
    appropriate values.
  - Define a TSO workaround "magic" number of 4 that is used to avoid an
    alignment issue in hardware.
  - Change a couple of integer values that were used as booleans to actual
    bool types.
  - Ensure that em_enable_intr() enables the appropriate mask of interrupts
    and not just a hardcoded define of values.
o MFC r286832:
  e1000/if_lem.c bump to 1.1.0
o MFC r286833:
  Bump all copywrite dates to 2015.
o MFC r287112:
  Style/whitespace cleanup in shared/common code.
o MFC r293331:
  - Switch em(4) to the extended RX descriptor format.
  - Split rxbuffer and txbuffer apart to support the new RX descriptor
    format structures. Move rxbuffer manipulation to em_setup_rxdesc() to
    unify the new behavior changes.
  - Add a RSSKEYLEN macro for help in generating the RSSKEY data structures
    in the card.
  - Change em_receive_checksum() to process the new rxdescriptor format
    status bit.
o MFC r293332:
  Disable the reuse of checksum offload context descriptors in the case
  of multiple queues in em(4). Document errata in the code.
o MFC r293854:
  Given that em(4), lem(4) and igb(4) hardware doesn't require the
  alignment guarantees provided by m_defrag(9), use m_collapse(9)
  instead for performance reasons.
  While at it, sanitize the statistics softc members, i. e. retire
  unused ones and add SYSCTL nodes missing for actually used ones.

PR: 118693 [1], 161277 [2], 195078 [3], 199174 [3], 200221 [3]

git-svn-id: svn://svn.freebsd.org/base/stable/10@294958 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC 283933: Add comments
dteske [Wed, 27 Jan 2016 15:19:48 +0000 (15:19 +0000)]
MFC 283933: Add comments

r283933: Indicate where the flag for later abort" originates.

git-svn-id: svn://svn.freebsd.org/base/stable/10@294921 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r294319:
hselasky [Wed, 27 Jan 2016 15:01:08 +0000 (15:01 +0000)]
MFC r294319:
Fix an issue where the network adapter could be left in down state
after changing the HW LRO sysctl when previously in up state.

Sponsored by: Mellanox Technologies
Differential Revision: https://reviews.freebsd.org/D4941

git-svn-id: svn://svn.freebsd.org/base/stable/10@294920 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r294318:
hselasky [Wed, 27 Jan 2016 14:59:22 +0000 (14:59 +0000)]
MFC r294318:
Add clarifying comment about CQE zipping.

Sponsored by: Mellanox Technologies
Differential Revision: https://reviews.freebsd.org/D4940

git-svn-id: svn://svn.freebsd.org/base/stable/10@294919 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r294317:
hselasky [Wed, 27 Jan 2016 14:57:37 +0000 (14:57 +0000)]
MFC r294317:
Declare local variables at top of function.

Sponsored by: Mellanox Technologies
Differential Revision: https://reviews.freebsd.org/D4939

git-svn-id: svn://svn.freebsd.org/base/stable/10@294918 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r294314:
hselasky [Wed, 27 Jan 2016 14:55:41 +0000 (14:55 +0000)]
MFC r294314:
Allow RX and TX pause frames to be set through ifconfig.

Sponsored by: Mellanox Technologies
Differential Revision: https://reviews.freebsd.org/D4817

git-svn-id: svn://svn.freebsd.org/base/stable/10@294917 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoDocument SA-16:08, SA-16:09, SA-16:10.
gjb [Wed, 27 Jan 2016 14:12:10 +0000 (14:12 +0000)]
Document SA-16:08, SA-16:09, SA-16:10.

Sponsored by: The FreeBSD Foundation

git-svn-id: svn://svn.freebsd.org/base/stable/10@294913 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r294694:
tuexen [Wed, 27 Jan 2016 14:01:21 +0000 (14:01 +0000)]
MFC r294694:
sctp_sendx() needs to provide the assoc_id back.

git-svn-id: svn://svn.freebsd.org/base/stable/10@294911 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r294688:
tuexen [Wed, 27 Jan 2016 13:59:27 +0000 (13:59 +0000)]
MFC r294688:
sctp_sendv() needs to fill in the association id on return.

git-svn-id: svn://svn.freebsd.org/base/stable/10@294910 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r294900:
delphij [Wed, 27 Jan 2016 07:28:55 +0000 (07:28 +0000)]
MFC r294900:

Implement AT_SECURE properly.

AT_SECURE auxv entry has been added to the Linux 2.5 kernel to pass a
boolean flag indicating whether secure mode should be enabled. 1 means
that the program has changes its credentials during the execution.
Being exported AT_SECURE used by glibc issetugid() call.

Submitted by: imp, dchagin
Security: FreeBSD-SA-16:10.linux
Security: CVE-2016-1883

git-svn-id: svn://svn.freebsd.org/base/stable/10@294901 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC 293617,294669: Minor fixes
dteske [Wed, 27 Jan 2016 06:38:03 +0000 (06:38 +0000)]
MFC 293617,294669: Minor fixes

r293617: Fix improper duration for f_dialog_pause() API
r294669: Fix a typo in a comment

git-svn-id: svn://svn.freebsd.org/base/stable/10@294898 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r289797: dpv(1) merged to stable/10 before release/10.2.0
dteske [Wed, 27 Jan 2016 06:30:23 +0000 (06:30 +0000)]
MFC r289797: dpv(1) merged to stable/10 before release/10.2.0

git-svn-id: svn://svn.freebsd.org/base/stable/10@294897 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r293868: Default to en_US.ISO8859-1 if no locale
dteske [Wed, 27 Jan 2016 06:25:59 +0000 (06:25 +0000)]
MFC r293868: Default to en_US.ISO8859-1 if no locale

git-svn-id: svn://svn.freebsd.org/base/stable/10@294895 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r294557:
sephe [Wed, 27 Jan 2016 05:19:05 +0000 (05:19 +0000)]
MFC r294557:

hyperv/stor: Verify returned inquiry data before further dispatching

Windows 10 and Window 2016 will return all zero inquiry data for
non-existing slots.  If we dispatched them, then a lot of useless
(0 sized) disks would be created.  So we verify the returned inquiry
data (valid type, non-empty vendor/product/revision etc.), before
further dispatching.

Minor white space cleanup and wording fix.

Submitted by:           Hongjiang Zhang <honzhan microsoft com>
Reviewed by:            adrian, sephe, Jun Su <junsu microsoft com>
Approved by:            adrian (mentor)
Modified by:            sephe
Sponsored by:           Microsoft OSTC
Differential Revision:  https://reviews.freebsd.org/D4928

git-svn-id: svn://svn.freebsd.org/base/stable/10@294890 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC 294548-294549,294556,294684: Add watch scripts
dteske [Wed, 27 Jan 2016 05:04:17 +0000 (05:04 +0000)]
MFC 294548-294549,294556,294684: Add watch scripts

r294548: Add scripts for watching common entry points.
r294549: Fix bad title on script (caused by copy/paste).
r294556: fbt -> syscall; fbt names changed to be sys_*
r294684: Bump copyright for change from fbt to syscall

git-svn-id: svn://svn.freebsd.org/base/stable/10@294888 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r294200: [PR 206224] bv_cnt is sometimes examined without holding the
rpokala [Tue, 26 Jan 2016 22:14:55 +0000 (22:14 +0000)]
MFC r294200: [PR 206224] bv_cnt is sometimes examined without holding the
bufobj lock

Add locking around access to bv_cnt which is currently being done unlocked

Approved by: jhb
Sponsored by: Panasas, Inc.

git-svn-id: svn://svn.freebsd.org/base/stable/10@294853 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC: r256940
jkim [Tue, 26 Jan 2016 21:35:47 +0000 (21:35 +0000)]
MFC: r256940

Allow users to set UUID in network byte order regardless of SMBIOS version.

git-svn-id: svn://svn.freebsd.org/base/stable/10@294852 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r294347
asomers [Tue, 26 Jan 2016 20:45:41 +0000 (20:45 +0000)]
MFC r294347

Fix usr.bin.truncate.truncate_test.bad_truncate with ZFS /tmp.

The bad_truncate test sets the uimmutable flag to produce an error in
truncate, but that flag isn't supported by ZFS.  If /tmp is on a ZFS
filesystem, the test will fail.  Change it to use readonly permissions and
an unpriveleged user instead.

git-svn-id: svn://svn.freebsd.org/base/stable/10@294850 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r292066, r292069, r293708, r294027, and r294358, mostly to vdev_geom.c
asomers [Tue, 26 Jan 2016 17:00:31 +0000 (17:00 +0000)]
MFC r292066, r292069, r293708, r294027, and r294358, mostly to vdev_geom.c

r292066 | asomers | 2015-12-10 14:46:21 -0700 (Thu, 10 Dec 2015) | 25 lines

During vdev_geom_open, require that the vdev guids match the device's label
except during split, add, or create operations. This fixes a bug where the
wrong disk could be returned, and higher layers of ZFS would immediately
eject it again.

sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c:
        o When opening by GUID, require both the pool and vdev GUIDs to
          match.  While it is highly unlikely for two vdevs to have the same
          vdev GUIDs, the ZFS storage pool allocator only guarantees they
          are unique within a pool.

        o Modify the open behavior to:
          - If we are opening a vdev that hasn't previously been opened,
            open by path without checking GUIDs.
          - Otherwise, open by path and verify GUIDs.
          - If that fails, search all geom providers for a device with
            matching GUIDs.
          - If that fails, return ENOENT.

r292069 | asomers | 2015-12-10 17:04:13 -0700 (Thu, 10 Dec 2015) | 6 lines

Change an important error message from ZFS_LOG to printf

r293708 | asomers | 2016-01-11 15:15:46 -0700 (Mon, 11 Jan 2016) | 16 lines

Fix importing l2arc device by guid

After r292066, vdev_geom verifies both the vdev and pool guids of device
labels during open. However, spare and l2arc devices don't have pool guids,
so opening them by guid will fail (opening by path, when the pathname is
known, still succeeds). This change allows a vdev to be opened by guid if
the label contains no pool_guid, which is the case for inactive spares and
l2arc devices.

r294027 | asomers | 2016-01-14 11:19:05 -0700 (Thu, 14 Jan 2016) | 14 lines

Fix race condition involving ZFS remove events

When a ZFS drive disappears, ZFS sends a resource.fs.zfs.removed event to
userland. A userland program like zfsd(8) can use that event, for example to
activate a hotspare. The current code contains a race condition: vdev_geom
will sent the sysevent _before_ spa.c would update the vdev's status,
causing userland processes to see pool state that does not reflect the
device removal. This change moves the sysevent to spa.c, closing the race.

r294358 | asomers | 2016-01-19 16:16:24 -0700 (Tue, 19 Jan 2016) | 10 lines

Quell harmless CID about unchecked return value in nvlist_get_guids.

The return value doesn't need to be checked, because nvlist_get_guid's
callers check the returned values of the guids.

git-svn-id: svn://svn.freebsd.org/base/stable/10@294843 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFH: r293745
brueffer [Tue, 26 Jan 2016 09:50:36 +0000 (09:50 +0000)]
MFH: r293745

Add a basic bhyvectl manpage.

git-svn-id: svn://svn.freebsd.org/base/stable/10@294790 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFH (r275765): add a vigr(8) tool to mirror vipw(8)
des [Tue, 26 Jan 2016 09:09:20 +0000 (09:09 +0000)]
MFH (r275765): add a vigr(8) tool to mirror vipw(8)

git-svn-id: svn://svn.freebsd.org/base/stable/10@294787 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFH (r277706): allow the user to specify the location of control.conf
des [Tue, 26 Jan 2016 09:02:23 +0000 (09:02 +0000)]
MFH (r277706): allow the user to specify the location of control.conf

git-svn-id: svn://svn.freebsd.org/base/stable/10@294786 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFH (r290008): load_rc_config no longer requires a service name
des [Tue, 26 Jan 2016 08:58:59 +0000 (08:58 +0000)]
MFH (r290008): load_rc_config no longer requires a service name

git-svn-id: svn://svn.freebsd.org/base/stable/10@294785 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFH (r290006): loading rc.subr and rc.conf has no effect here
des [Tue, 26 Jan 2016 08:57:45 +0000 (08:57 +0000)]
MFH (r290006): loading rc.subr and rc.conf has no effect here

git-svn-id: svn://svn.freebsd.org/base/stable/10@294784 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFH (r293034, r29304): plasma screensaver
des [Tue, 26 Jan 2016 08:55:31 +0000 (08:55 +0000)]
MFH (r293034, r29304): plasma screensaver

git-svn-id: svn://svn.freebsd.org/base/stable/10@294783 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFH (r293033): ignore unload unless loaded + add a reload target
des [Tue, 26 Jan 2016 08:49:44 +0000 (08:49 +0000)]
MFH (r293033): ignore unload unless loaded + add a reload target

git-svn-id: svn://svn.freebsd.org/base/stable/10@294782 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFH (r291197): markup fixes
des [Tue, 26 Jan 2016 08:46:02 +0000 (08:46 +0000)]
MFH (r291197): markup fixes

git-svn-id: svn://svn.freebsd.org/base/stable/10@294781 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFH (r290743): support an exclusion regex, like security/200.chkmounts
des [Tue, 26 Jan 2016 08:45:19 +0000 (08:45 +0000)]
MFH (r290743): support an exclusion regex, like security/200.chkmounts

git-svn-id: svn://svn.freebsd.org/base/stable/10@294780 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFH (r290742): don't index /var/db/freebsd-update
des [Tue, 26 Jan 2016 08:44:01 +0000 (08:44 +0000)]
MFH (r290742): don't index /var/db/freebsd-update

git-svn-id: svn://svn.freebsd.org/base/stable/10@294779 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r286652:
ngie [Tue, 26 Jan 2016 07:06:38 +0000 (07:06 +0000)]
MFC r286652:
r286652 (by jmmv):

Mark usr/include/c++/v1/tr1 as obsolete

The directory usr/include/c++/v1 was marked as obsolete but its tr1 subdir
was not, resulting in a removal error in delete-old.

git-svn-id: svn://svn.freebsd.org/base/stable/10@294772 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r278047:
ngie [Tue, 26 Jan 2016 06:37:21 +0000 (06:37 +0000)]
MFC r278047:

PR: 206622
Sponsored by: EMC / Isilon Storage Division

r278047 (by amdmi3):

- Remove more files when MK_BSNMP == no

git-svn-id: svn://svn.freebsd.org/base/stable/10@294770 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r294620:
dchagin [Tue, 26 Jan 2016 06:05:55 +0000 (06:05 +0000)]
MFC r294620:

  Fix a typo.

MFC r294621:

  Remove obsolete comment.

git-svn-id: svn://svn.freebsd.org/base/stable/10@294764 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoRevert r279010:
pfg [Tue, 26 Jan 2016 04:51:44 +0000 (04:51 +0000)]
Revert r279010:
tdelete(3): don't delete the node we are about to return.

The original change, from NetBSD, was bogus; introduced a memory
leak and and broke POSIX. By reverting we actually match NetBSD's
latest revision.

This is a direct commit to 10 since this function was rewritten
in 11-current.

Reported by: Markiyan Kushnir
Obtained from: NetBSD (CVS rev. 1.7, 1.8)

git-svn-id: svn://svn.freebsd.org/base/stable/10@294762 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r293458:
markj [Tue, 26 Jan 2016 00:22:02 +0000 (00:22 +0000)]
MFC r293458:
Prevent cv_waiters wraparound.

git-svn-id: svn://svn.freebsd.org/base/stable/10@294755 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r294370:
bdrewery [Mon, 25 Jan 2016 17:38:20 +0000 (17:38 +0000)]
MFC r294370:

  mkdep: Fix -include not being added for .depend tracking.

git-svn-id: svn://svn.freebsd.org/base/stable/10@294737 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r293460:
smh [Mon, 25 Jan 2016 13:35:28 +0000 (13:35 +0000)]
MFC r293460:

Switch EFT boot1 to use libstand

This includes a change to the Makefile comment to correct it due to the
lack of arm and i386 support in 10.x.

Sponsored by: Multiplay

git-svn-id: svn://svn.freebsd.org/base/stable/10@294726 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r293422 (partial):
smh [Mon, 25 Jan 2016 13:27:49 +0000 (13:27 +0000)]
MFC r293422 (partial):

Update generated EFI boot image templates.

This is a partial MFC as stable/10 only has EFI boot support for amd64,
and there are no plans to change this, so the other platform images
aren't included.

Sponsored by: Multiplay

git-svn-id: svn://svn.freebsd.org/base/stable/10@294725 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r293461:
smh [Mon, 25 Jan 2016 10:55:52 +0000 (10:55 +0000)]
MFC r293461:

Remove hidden "Not ufs" printfs from boot code

Sponsored by: Multiplay

git-svn-id: svn://svn.freebsd.org/base/stable/10@294721 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r293274:
smh [Mon, 25 Jan 2016 10:50:11 +0000 (10:50 +0000)]
MFC r293274:

style(9) fixes for EFI boot

Sponsored by: Multiplay

git-svn-id: svn://svn.freebsd.org/base/stable/10@294720 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r281059 (by rpaulo):
smh [Mon, 25 Jan 2016 10:48:58 +0000 (10:48 +0000)]
MFC r281059 (by rpaulo):

boot1 EFI: reset the screen and select the best mode.

Sponsored by: Multiplay

git-svn-id: svn://svn.freebsd.org/base/stable/10@294719 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r293271:
smh [Mon, 25 Jan 2016 10:45:18 +0000 (10:45 +0000)]
MFC r293271:

Fix const conversion warning in lz4_decompress

Sponsored by: Multiplay

git-svn-id: svn://svn.freebsd.org/base/stable/10@294718 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r293269:
smh [Mon, 25 Jan 2016 10:43:44 +0000 (10:43 +0000)]
MFC r293269:

Fix return from zfs_probe_dev

Sponsored by: Multiplay

git-svn-id: svn://svn.freebsd.org/base/stable/10@294716 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r293268:
smh [Mon, 25 Jan 2016 10:41:23 +0000 (10:41 +0000)]
MFC r293268:

Fix _MSC_EXTENSIONS checks

Sponsored by: Multiplay

git-svn-id: svn://svn.freebsd.org/base/stable/10@294715 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r292074:
smh [Mon, 25 Jan 2016 09:40:25 +0000 (09:40 +0000)]
MFC r292074:

Limit stripesize reported from nvd(4) to 4K

Sponsored by: Multiplay

git-svn-id: svn://svn.freebsd.org/base/stable/10@294711 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r292289:
smh [Mon, 25 Jan 2016 09:29:29 +0000 (09:29 +0000)]
MFC r292289:

Prevent g_access calls to bad multipath members

Sponsored by: Multiplay

git-svn-id: svn://svn.freebsd.org/base/stable/10@294709 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r291911, r293659:
smh [Mon, 25 Jan 2016 09:26:23 +0000 (09:26 +0000)]
MFC r291911, r293659:

Fix panic on shutdown due to iscsi event priority.

Close iSCSI sessions on shutdown.

Sponsored by: Multiplay

git-svn-id: svn://svn.freebsd.org/base/stable/10@294708 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFH (r291198, r291260, r291261, r291375, r294325, r294335, r294563)
des [Sun, 24 Jan 2016 22:28:18 +0000 (22:28 +0000)]
MFH (r291198, r291260, r291261, r291375, r294325, r294335, r294563)

Remove the HPN and None cipher patches.

git-svn-id: svn://svn.freebsd.org/base/stable/10@294693 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r289477:
ian [Sun, 24 Jan 2016 22:17:05 +0000 (22:17 +0000)]
MFC r289477:

  Fix a strange macro re-definition compile error.  If the VM_MAXUSER_ADDRESS
  value is defined as a config option the definition is emitted into
  opt_global.h which is force-included into everything.  In addition, the
  symbol is emitted by the genassym mechanism, but that by its nature reduces
  the value to a 0xnnnnnnnn number.  When compiling a .S file you end up
  with two different definitions of the macro (they evaluate to the same
  number, but the text is different, upsetting the compiler).

git-svn-id: svn://svn.freebsd.org/base/stable/10@294690 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r293105:
ian [Sun, 24 Jan 2016 22:14:37 +0000 (22:14 +0000)]
MFC r293105:

  Eliminate code for walking through the early static env data.  This code
  is called from a device attach routine, and thus cannot be called before
  the cutover from static to dynamic kernel env.

git-svn-id: svn://svn.freebsd.org/base/stable/10@294689 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r294032:
ian [Sun, 24 Jan 2016 22:06:56 +0000 (22:06 +0000)]
MFC r294032:

  Fix the handling of the "PDC write transfer length" erratum for at91.  The
  problem affects revision 1xx hardware as well as later versions.  Also, the
  recommended workaround is to set the PDC count register for a 12-byte
  transfer when the actual size is less than that, but there is no need to
  extend or zero-out the data buffer, because the blklen register contains
  the real transfer size and only that many bytes will be transferred.

  Also add a sysctl to turn debugging printfs on or off on the fly.

git-svn-id: svn://svn.freebsd.org/base/stable/10@294687 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r293830:
ian [Sun, 24 Jan 2016 22:05:21 +0000 (22:05 +0000)]
MFC r293830:

  Fix the spelling of fueword* to eliminate compile warnings about mismatched
  begin/end symbols when the warning level is turned up.

git-svn-id: svn://svn.freebsd.org/base/stable/10@294686 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r293053, r293061, r293063, r293064, r293065, r293775, r293792:
ian [Sun, 24 Jan 2016 22:00:36 +0000 (22:00 +0000)]
MFC r293053, r293061, r293063, r293064, r293065, r293775, r293792:

  Use 64-bit math when finding a block of ram to hold the kernel.  This fixes
  a problem on 32-bit systems which have ram occupying the end of the physical
  address space -- for example, a block of ram at 0x80000000 with a size of
  0x80000000 was overflowing 32 bit math and ending up with a calculated size
  of zero.

  Use 64-bit math when processing the lists of physical and excluded memory
  to generate the phys_avail and dump_avail arrays.

  Work around problems that happen when there is ram at the end of the
  physical address space.

  Cast pointer through uintptr_t on the way to uint64_t to squelch a warning.

  Reword the comment to better describe what I found while researching the
  problem that led to this temporary workaround (and also so I can properly
  cite the PR in the commit this time).

  Cast using uintfptr_t and eliminate the cast to uint64_t which is uneeded
  because rounding down cannot increase the number of bits needed to express
  the result.

  Go back to using uintptr_t, because code that actually compiles is
  infinitely less buggy than code that is theoretically correct in some
  alternate universe.

PR:           201614

git-svn-id: svn://svn.freebsd.org/base/stable/10@294685 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r293045, r293046:
ian [Sun, 24 Jan 2016 21:04:06 +0000 (21:04 +0000)]
MFC r293045, r293046:

  Make the 'env' directive described in config(5) work on all architectures,
  providing compiled-in static environment data that is used instead of any
  data passed in from a boot loader.

  Previously 'env' worked only on i386 and arm xscale systems, because it
  required the MD startup code to examine the global envmode variable and
  decide whether to use static_env or an environment obtained from the boot
  loader, and set the global kern_envp accordingly.  Most startup code wasn't
  doing so.  Making things even more complex, some mips startup code uses an
  alternate scheme that involves calling init_static_kenv() to pass an empty
  buffer and its size, then uses a series of kern_setenv() calls to populate
  that buffer.

  Now all MD startup code calls init_static_kenv(), and that routine provides
  a single point where envmode is checked and the decision is made whether to
  use the compiled-in static_kenv or the values provided by the MD code.

  The routine also continues to serve its original purpose for mips; if a
  non-zero buffer size is passed the routine installs the empty buffer ready
  to accept kern_setenv() values.  Now if the size is zero, the provided buffer
  full of existing env data is installed.  A NULL pointer can be passed if the
  boot loader provides no env data; this allows the static env to be installed
  if envmode is set to do so.

  Most of the work here is a near-mechanical change to call the init function
  instead of directly setting kern_envp.  A notable exception is in xen/pv.c;
  that code was originally installing a buffer full of preformatted env data
  along with its non-zero size (like mips code does), which would have allowed
  kern_setenv() calls to wipe out the preformatted data.  Now it passes a zero
  for the size so that the buffer of data it installs is treated as
  non-writeable.

  Also, revert accidental change that snuck into r293045.

git-svn-id: svn://svn.freebsd.org/base/stable/10@294683 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r290647, r292523, r292891:
ian [Sun, 24 Jan 2016 20:15:52 +0000 (20:15 +0000)]
MFC r290647, r292523, r292891:

  ARM: Improve robustness of locore_v6.S and fix errors.
  - boot page table is not allocated in data section, so must be
    cleared before use
  - map only one section (1 MB) for SOCDEV mapping (*)
  - DSB must be used for ensuring of finishing TLB operations
  - Invalidate BTB when appropriate

  Allow armv4/5 kernels to be loaded on any 2MB boundary, like armv6/7.

  This eliminates the reliance on PHYSADDR and KERNPHYSADDR compile-time
  symbols (except when the rom-copy code is enabled) by using the current
  PC and the assumption that the entry-point routine is in the first 1MB
  section of the text segment.

  Other cleanups done:

   - Reduce the initarm() stack size back to 2K.  It got increased to
     4 * 2K when this file was supporting multicore armv6, but that
     support is now in locore-v6.S.

   - When building the temporary startup page tables, map the entire
     4GB address space as VA=PA before mapping the kernel at its loaded
     location.  This allows access to boot parameters stored somewhere
     in ram by the bootloader, regardless of where that may be.

   - When building the page table entry for supporting EARLY_PRINTF, map
     the section as uncached unbuffered, since it is presumably device
     registers.

  Note that this restores the ability to use loader(8)/ubldr on armv4/5
  kernels.  That was broken in r283035, the point at which ubldr started
  loading an arm kernel at any 2MB boundary.

  Also note that after this, there is no reason to set KERNVIRTADDR to
  anything other than 0xc0000000, and no need for PHYSADDR or KERNPHYSADDR
  symbols at all.

  Bring some of the recent locore-v4.S improvements into locore-V6...

   - Map all 4GB as VA=PA so that args passed in from a bootloader can
     be accessed regardless of where they are.
   - Figure out the kernel load address by directly masking the PC rather
     then by doing pc-relative math on the _start symbol.
   - For EARLY_PRINTF support, map device memory as uncacheable (no-op for
     ARM_NEW_PMAP because all TEX types resolve to uncacheable).

git-svn-id: svn://svn.freebsd.org/base/stable/10@294682 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r277416, r282023, r282024, r282025, r284264:
ian [Sun, 24 Jan 2016 19:58:58 +0000 (19:58 +0000)]
MFC r277416, r282023, r282024, r282025, r284264:

  Remove the SMP code from locore-v4. These will never use the SMP code as
  there is no multi-core hardware prior to ARMv6.

  Remove the armv6 code from locore-v4.S, it's not needed there.

  Fix the style of locore-v4.S and locore-v6.S to help find any common code.

  Cleanup a little more:
   - Remove whitespace at the end of lines
   - Use a tab after instructions, not spaces

  Fix the spelling of __ARM_ARCH >= 6 in sys/arm/arm.

git-svn-id: svn://svn.freebsd.org/base/stable/10@294681 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r292752:
ian [Sun, 24 Jan 2016 19:41:31 +0000 (19:41 +0000)]
MFC r292752:

  Enhance rc.d/netwait script to wait for late-attaching interfaces such as
  USB NICs.

  USB network hardware may not be enumerated and available when the rc.d
  networking scripts run. Eventually the USB attachment completes and devd
  events cause the network initialization to happen, but by then other rc.d
  scripts have already failed, because services which depend on NETWORKING
  (such as mountcritremote) may end up running before the network is actually
  ready.

  There is an existing netwait script, but because it is dependent on
  NETWORKING it runs too late to prevent failure of some other rc
  scripts. This change flips the order so that NETWORKING depends on netwait,
  and netwait now depends on devd and routing (the former is needed to make
  interfaces appear, and the latter is needed to run the ping tests in
  netwait).

  The netwait script used to be oriented primarily towards "as soon as any
  host is reachable the network is fully functional", so you gave it a list of
  IPs to try and you could optionally name an interface and it would wait for
  carrier on that interface. That functionality still works the same, but now
  you can provide a list of interfaces to wait for and it waits until each one
  of them is available. The ping logic still completes as soon as the first IP
  on the list responds.

  These changes were submitted by Brenden Molloy <brendan+freebsd@bbqsrc.net>
  in PR 205186, and lightly modified by me to allow a list of interfaces
  instead of just one.

PR:           205186
Relnotes: yes

git-svn-id: svn://svn.freebsd.org/base/stable/10@294680 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r292419, r294237:
ian [Sun, 24 Jan 2016 19:36:49 +0000 (19:36 +0000)]
MFC r292419, r294237:

  Fix the clock divisor calc for imx6 sdcard bus speed.

  Quick exit after setting the clock control register.

git-svn-id: svn://svn.freebsd.org/base/stable/10@294679 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r291149, r291367:
ian [Sun, 24 Jan 2016 19:34:05 +0000 (19:34 +0000)]
MFC r291149, r291367:

  Update the imx5/imx6 cpu_reset() implementation based on a new understanding
  of the SRS (software reset) bit in the watchdog control register.  Despite
  what the manual seems to imply, this bit DOES trigger an immediate reset, as
  opposed to simply flagging the type of reset as software-triggered.

  Rename sysctl node hw.imx6 to hw.imx.  Move its definition to imx_machdep.c
  so that code shared between imx5 and imx6 can work with OIDs under that node.

  Add last_reset_status (integer) and last_reset_reason (string) OIDs that
  provide info about the last chip reset (power-on, software reset, watchdog
  timeout).

git-svn-id: svn://svn.freebsd.org/base/stable/10@294678 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r289618, r290316:
ian [Sun, 24 Jan 2016 19:21:53 +0000 (19:21 +0000)]
MFC r289618, r290316:

  Fix printf format to allow for bus_size_t not being u_long on all platforms.

  Fix an alignment check that is wrong in half the busdma implementations.
  This will enable the elimination of a workaround in the USB driver that
  artifically allocates buffers twice as big as they need to be (which
  actually saves memory for very small buffers on the buggy platforms).

  When deciding how to allocate a dma buffer, armv4, armv6, mips, and
  x86/iommu all correctly check for the tag alignment <= maxsize as enabling
  simple uma/malloc based allocation.  Powerpc, sparc64, x86/bounce, and
  arm64/bounce were all checking for alignment < maxsize; on those platforms
  when alignment was equal to the max size it would fall back to page-based
  allocators even for very small buffers.

  This change makes all platforms use the <= check.  It should be noted that
  on all platforms other than arm[v6] and mips, this check is relying on
  undocumented behavior in malloc(9) that if you allocate a block of a given
  size it will be aligned to the next larger power-of-2 boundary.  There is
  nothing in the malloc(9) man page that makes that explicit promise (but the
  busdma code has been relying on this behavior all along so I guess it works).

  Arm and mips code uses the allocator in kern/subr_busdma_buffalloc.c, which
  does explicitly implement this promise about size and alignment.  Other
  platforms probably should switch to the aligned allocator.

git-svn-id: svn://svn.freebsd.org/base/stable/10@294677 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r289727:
ian [Sun, 24 Jan 2016 18:54:55 +0000 (18:54 +0000)]
MFC r289727:

  Add FDT compatibility to the icee driver.

  The FDT bindings for eeprom parts don't include any metadata about the
  device other than the part name encoded in the compatible property.
  Instead, a driver is required to have a compiled-in table of information
  about the various parts (page size, device capacity, addressing scheme).  So
  much for FDT being an abstract description of hardware characteristics, huh?

  In addition to the FDT-specific changes, this also switches to using the
  newer iicbus_transfer_excl() mechanism which holds bus ownership for the
  duration of the transfer.  Previously this code held the bus across all
  the transfers needed to complete the user's IO request, which could be
  up to 128KB of data which might occupy the bus for 10-20 seconds.  Now the
  bus will be released and re-aquired between every page-sized (8-256 byte)
  transfer, making this driver a much nicer citizen on the i2c bus.

  The hint-based configuration mechanism is still in place for non-FDT systems.

git-svn-id: svn://svn.freebsd.org/base/stable/10@294674 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r289726:
ian [Sun, 24 Jan 2016 18:54:11 +0000 (18:54 +0000)]
MFC r289726:

  Add iicbus_transfer_excl(), a helper routine to do an i2c bus transaction
  while holding exclusive ownership of the bus.  This is the routine most
  slave drivers should use unless they have a need to acquire and hold the
  bus across a series of related operations that involves multiple transfers.

git-svn-id: svn://svn.freebsd.org/base/stable/10@294673 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

8 years agoMFC r289704:
ian [Sun, 24 Jan 2016 18:50:37 +0000 (18:50 +0000)]
MFC r289704:

  Fix parsing of I2C addresses properties in fdt data.  I2C address is
  represented in 7-bits format in DT files, but system expect it in 8-bit
  format.  Also, fix two drivers that locally hack around this bug.

  This includes a direct-commit change to the beaglebone dts data in the
  10-stable branch to adjust the i2c slave addresses directly.  In -current
  the equivelent change happened with a switch from homegrown to standard
  fdt data.

git-svn-id: svn://svn.freebsd.org/base/stable/10@294672 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f