104804 Commits

Author SHA1 Message Date
Wei Hu
5efed58bdd TSO and checksum offloading support for Netvsc driver on Hyper-V.
Submitted by:	whu
Reviewed by:	royger
Approved by:	royger
MFC after:	1 week
Relnotes:	yes
Sponsored by:	Microsoft OSTC
Differential Revision:	https://reviews.freebsd.org/D2517
2015-06-24 06:01:29 +00:00
Hans Petter Selasky
491f3ef01b Rename __weak to __weak_symbol to avoid language conflict with objective-C.
PR:		200972 (exp-run)
Suggested by:	theraven@
MFC after:	3 days
2015-06-23 22:40:22 +00:00
David C Somayajulu
35291c2247 Updated Copyright information
Added support for the following:
        - iSCSI TLV (requires 64 Tx and 32 Rx rings
        - 9K receive buffers for jumbo frames (feature may be enabled/disabled)
        - builtin firmware, bootloader and minidump template
        - quick stats
        - async event handling for SFP insertion/removal and DCBX changes
        - Configuring DCBX and interrupt coalescing parameters
2015-06-23 22:22:36 +00:00
David C Somayajulu
c197bf4fe1 tx_mtx should be grabbed before calling buf_ring_dequeue_sc()
Submitted by:Attilio.Rao@isilon.com
MFC after:5 days
2015-06-23 20:09:52 +00:00
Dimitry Andric
966ab68df1 Fix endless recursion in sys/net/if.c's drbr_inuse_drv(), found by clang
3.7.0.

Reviewed by:	marcel
2015-06-23 18:48:41 +00:00
John-Mark Gurney
1977bd233a zero this struct as it depends upon it...
Reviewed by:	mjg
Differential Revision:	https://reviews.freebsd.org/D2890
2015-06-23 18:40:20 +00:00
Xin LI
f29c86f1ed Update vendor driver to 1.2.7. This update improves driver reliability and
adds support of 4Kn drives and report LUNs command.

This driver update is intended for 10.2-RELEASE.

Many thanks to HighPoint for providing this driver update.

Submitted by:	Steve Chang
MFC after:	3 days
2015-06-23 17:26:16 +00:00
Alexander Motin
07f56f1cc9 Add dev.isp.X.role sysctl in addition to tunable.
It (mostly) allows to enable/disable initiator mode in run time.
Target mode control is blocked here to force coordination with CTL.

While there, add separate tunables/sysctls for virtual channels.
2015-06-23 16:13:20 +00:00
Dimitry Andric
71d827559b Fix r284722, by making it actually compile.
Pointy hat to:	dim
2015-06-23 06:59:46 +00:00
Colin Percival
7a70e15235 Rename mksegarray to xbd_mksegarray for consistency with other function
names in this file.

Submitted by:	royger
2015-06-23 06:50:03 +00:00
Dimitry Andric
42e2071b63 Fix endless recursion in ti(4)'s ti_ifmedia_upd(), found by clang 3.7.0. 2015-06-23 06:48:02 +00:00
Konstantin Belousov
b05c401ff6 Only take previous buffer queue lock (olock) when needed for REMFREE
in binsfree().

Submitted by:	Conrad Meyer
Sponsored by:	EMC / Isilon Storage Division
Review:	https://reviews.freebsd.org/D2882
MFC after:	1 week
2015-06-23 06:12:14 +00:00
Navdeep Parhar
dbbf46c40c cxgbe: get_fl_payload returns a header mbuf when successful.
MFC after:	3 days
2015-06-23 05:55:13 +00:00
Neel Natu
90e528f838 Restore the host's GS.base before returning from 'svm_launch()'.
Previously this was done by the caller of 'svm_launch()' after it returned.
This works fine as long as no code is executed in the interim that depends
on pcpu data.

The dtrace probe 'fbt:vmm:svm_launch:return' broke this assumption because
it calls 'dtrace_probe()' which in turn relies on pcpu data.

Reported by:	avg
MFC after:	1 week
2015-06-23 02:17:23 +00:00
Hiren Panchasara
4c3972f0af Reverting r284710.
Today I learned: iff == if and only if.

Suggested by: many
2015-06-22 22:16:06 +00:00
Hiren Panchasara
26f2eb6979 Fix a typo: s/iff/if/
Sponsored by:	    Limelight Networks
2015-06-22 21:53:55 +00:00
Sean Bruno
4abd25091d Add new UART device presented on newer AMT enabled systems/laptops.
Tested on Dell Latitude E7240.

MFC after:	2 weeks
Relnotes:	yes
2015-06-22 17:16:09 +00:00
Sean Bruno
945afa7c25 Make imgact_binmisc_exec() static.
Submitted by:	kib
Reviewed by:	sson
2015-06-22 17:04:24 +00:00
Alexander Motin
4eea8d9b41 Dump additional config bytes for INIT_FIRMWARE_MULTI_ID. 2015-06-22 08:26:28 +00:00
Alexander Motin
1c231d5a21 Add logging of executed mailbox command names.
Previously those commands were logged only as part of register dump,
that is not very readable.
2015-06-22 06:30:02 +00:00
Marcel Moolenaar
3f745144d9 Change the probe to what was intended: attach to devices with
a type 0 header and not to function 0 devices.
2015-06-22 00:34:29 +00:00
Alexander Motin
3036312050 Rewrite port database handling for target mode.
Previous implementation was too fragile to initiator parameters changes.
In case of port role change it could not survive different handle assigned
to the same initiator by firmware, even though initiator was logged out.
The new implementation should be more resillient to this kind of problems,
trying to work in any situation and only warn user about suspisious events.

MFC after:	1 week
Sponsored by:	iXsystems, Inc.
2015-06-21 14:18:54 +00:00
Antoine Brodin
d2a1c16b1a Install version.4th.8 again
It was disconnected from installation in r281081, but was never removed
from the tree or added to ObsoleteFiles.inc
2015-06-21 06:56:29 +00:00
Colin Percival
ad935ed241 Garbage collect comments and a macro which related to the pre-r284296
support for a "segment block" extension in FreeBSD's Xen blkfront/blkback
drivers.

This commit should not result in any functional changes.
2015-06-21 06:52:03 +00:00
Colin Percival
c077dc26e7 Garbage collect comments which related to the pre-r284296 support for a
"segment block" extension in FreeBSD's Xen blkfront/blkback drivers.

Since this commit only affects comments, it should have no functional
effect.
2015-06-21 06:05:33 +00:00
Colin Percival
91fb36cfa8 Move the bus_dma_tag creation and per-transaction data allocation from
xbd_initialize to xbd_connect.  Both of these initialization steps need
to know what the maximum possible I/O size will be, and when we gain
support for indirect segment I/Os we won't know that value until we
reach xbd_connect.  Since none of this data is used before xbd_connect
completes, moving the initialization is harmless.

This commit should not result in any functional changes.
2015-06-21 05:36:58 +00:00
Colin Percival
0115209538 If we fail to allocate memory, pass ENOMEM as the error code, not the
"error" variable (which is always zero at this point).
2015-06-21 05:32:56 +00:00
Alan Cox
aa04413540 Avoid pmap_is_modified() on pages that can't be mapped.
MFC after:	1 week
Sponsored by:	EMC / Isilon Storage Division
2015-06-21 01:22:35 +00:00
David C Somayajulu
284d94cfc8 Simplified implementation of bxe_set_mc_list()
removed bxe_free_mcast_macs_list() and bxe_init_mcast_macs_list()
fixed bug where copy of multicast list mta was deleted prior to passing the list to firmware

MFC after:5 days
2015-06-20 22:24:44 +00:00
Alexander Motin
1ec1012dd2 Fix REPORT LUNS command output for the case when same LUN mapped to same
port several times.  While it is unusual configuration, it is not illegal.

MFC after:	1 week
2015-06-20 13:02:57 +00:00
Alexander Motin
7834ea8891 Bring per-port LUN enable/disable code up to date:
- remove last remnants of never implemented multiple targets support;
 - implement missing support for LUN mapping in this area.

Due to existing locking constraints LUN mapping code is practically
unlocked at this point.  Hopefully it is not racy enough to live until
somebody get idea how to call sleeping fronend methods under lock also
taken by the same frontend in non-sleepable context. :(
2015-06-20 12:43:54 +00:00
Alexander Motin
2d8b28765c Introduce separate lock for tokens to reduce ctl_lock scope. 2015-06-20 11:20:25 +00:00
Alexander Motin
754e493530 Remove some dead and duplicate LUN enabling code. 2015-06-20 07:33:06 +00:00
Dmitry Chagin
3c91646b46 Add EPOLLRDHUP support.
Tested by:	abi at abinet dot ru
2015-06-20 05:40:35 +00:00
Warner Losh
3dede9f354 Use ofw_bus_find_child_device_by_phandle to see if the child we're
adding already exists and if so just return that. The typical use case
is from identify routines, which shouldn't be adding multiple copies
of the same phandle_t to the gpiobus. Only one per phandle_t is needed
(or expected by the current code).

Differential Revision: https://reviews.freebsd.org/D2871
2015-06-20 04:48:53 +00:00
Warner Losh
bb39ff4c36 Add ofw_bus_find_child_by_phandle, a helper routine to find a device_t
child matchig a given phandle_t.

Differential Revision: https://reviews.freebsd.org/D2871
2015-06-20 04:48:48 +00:00
Marcel Moolenaar
9308005ed9 Add support for the Intel Atom E3800 series SoC (aka Bay Trail).
Sponsored by:	XipLink, Inc
2015-06-20 04:02:33 +00:00
Alexander Motin
b9807a43b0 Remove device queue freeze handling and replace it with dummy.
At this point CTL has no known use case for device queue freezes.
Same time existing (considered to be broken) code was found to cause
modify-after-free issues.

Discussed with:	ken
MFC after:	1 week
2015-06-20 03:40:19 +00:00
Colin Percival
d0ecc14d49 Refactor xbd_queue_cb, extracting the code which converts bus_dma segments
into blkif segments, and moving it into a new function.  This will be used
by upcoming support for indirect-segment blkif requests.

This commit should not result in any functional changes.
2015-06-20 00:02:03 +00:00
John-Mark Gurney
fb17b4c55c change the KASSERT so it is meaningful, var is unsigned, so even
when it wraps, it's still >= 0...

Reported by:	Coverity
CID:		1017564
2015-06-19 22:42:26 +00:00
Colin Percival
d33a1217bd Minor clean up to xbd_queue_cb:
* nsegs must be at most BLKIF_MAX_SEGMENTS_PER_REQUEST (since we specify
  that limit to bus_dma_tag_create), so KASSERT that rather than silently
  adjusting the request.
* block_segs is now a synonym for nsegs, so garbage collect that variable.
* nsegs is never read during or after the while loop, so remove the dead
  decrement from the loop.

These were all left behind from the pre-r284296 support for a "segment
block" extension.
2015-06-19 22:40:58 +00:00
Maxim Sobolev
15e862e33c Provide bug4bug workaround for certain dumbiness of the u-boot's API_env_enum
function, which is expected to set returned env to NULL upon reaching the end
of the environment list but fails to do so in certain cases. The respective
u-boot code looks like the following (HEAD at the time of this commit):

--- api.c ---
 496 static int API_env_enum(va_list ap)
 ...
 510                 *next = last;
 511
 512                 for (i = 0; env_get_char(i) != '\0'; i = n + 1) {
 513                         for (n = i; env_get_char(n) != '\0'; ++n) {
 514                                 if (n >= CONFIG_ENV_SIZE) {
 515                                         /* XXX shouldn't we set *next = NULL?? */
 516                                         return 0;
 517                                 }
 518                         }
-------------

The net result is that any unfortunate user of the loader's ub_env_enum()
function hitting this condition would be trapped in the infinite loop, as
the main use pattern of ub_env_enum() is basically the following:

while ((env = ub_env_enum(env)) != NULL) { DO STUFF }

Which would stuck forever with the last element.
2015-06-19 22:24:58 +00:00
Michael Tuexen
bb2dc69f9a Fix two KTRACE related bugs.
Reported by:	Coverity
CID:		1018058, 1018060

MFC after:	3 days
2015-06-19 21:55:12 +00:00
Andrew Gallatin
53aab9ea70 Fix typo in baudrate initialization that was causing ixl to be seen as
a 4GbE NIC, rather than a 40GbE NIC.

Reviewed by:	Eric Joyner <eric.joyner@intel.com>
MFC after:	3 days
Sponsored by:	Netflix
2015-06-19 21:40:26 +00:00
Sean Bruno
602ec83516 Remove uneeded NULL check since malloc the malloc is now M_WAITOK
Submitted by:	mjg
2015-06-19 20:35:17 +00:00
Sean Bruno
e0ae213f63 Must have one of either M_WAITOK or M_NOWAIT, read the man page bruno.
Submitted by:	mjg
2015-06-19 19:57:39 +00:00
Sean Bruno
a7647ec444 Feedback from commit r284535
davide:  imgact_binmisc_clear_entry() needs to use atomic ops to remove
the enable bit.

kib:  M_NOWAIT is not warranted and comment is invalid.
2015-06-19 18:57:36 +00:00
Simon J. Gerraty
3df2b1571b sx_sunlock for sx_slock 2015-06-19 17:34:59 +00:00
Simon J. Gerraty
c849fda850 filemon_pid_check needs to hold proctree_lock
Reviewed by:	kib
MFC after:	few days
2015-06-19 17:19:20 +00:00
Maxim Sobolev
8f207db125 Fix bug in the ubldr introduced in the rev.283035. The new code
fails to properly consider memory regions when the loader is
located below of those regions or engulfs their lower limit. This
results in "not enough RAM to load kernel" panic, which is totally
bogus. On top of that, there are some variables that can be left
unitialized in those cases, which might cause it fail with memory
access violation instead of panic while trying to load kernel to
a wrong or non-existing address of memory.

Augment the code to properly deal with the loader being below or
at the lower bound of the memory region in question. Also, don't
leave ununitialized variables behind.

Reviewed by:	ian
2015-06-19 17:00:36 +00:00