Commit Graph

263743 Commits

Author SHA1 Message Date
msaitoh
6b97a0ad63 Use DPSRCS for magic.h. OK'd by Christos. 2018-12-12 06:36:13 +00:00
maxv
1a87c65fae Remove references to "lmc" in the kernel configurations. 2018-12-12 06:29:36 +00:00
rin
e401b66b04 Document capability of TX/RX offload and environment variable
RUMP_SHMIF_CAPENABLE. Bump date.

part of PR kern/53562
2018-12-12 02:26:40 +00:00
rin
7f120f6563 Simplify logic in ip{,6}_output().
Now, we have M_CSUM_TSOv[46] bit in ifp->if_csum_flags_tx when
TSO[46] is enabled for the interface. So we can simply check
whether TSO[46] is required in a packet but missing in the
interface by (sw_csum & M_CSUM_TSOv[46]).

Note that this is a very rare case where TSO[46] is suddenly
turned off during a packet passing b/w TCP and IP.

part of PR kern/53562
OK msaitoh
2018-12-12 01:53:52 +00:00
rin
f7201ab71a Add TX/RX offload capabilities to shmif(4). They are emulated in
software by ether_sw_offload_[tr]x().

For rump kernels, if_capabilities for shmemif(4) can be specified
by environmental variable RUMP_SHMIF_CAPENABLE:

 setenv RUMP_SHMIF_CAPENABLE 0x7ff80 (all offload)
 setenv RUMP_SHMIF_CAPENABLE 0x6aa80 (all TX)
 setenv RUMP_SHMIF_CAPENABLE 0x15500 (all RX)

part of PR kern/53562
OK msaitoh
2018-12-12 01:51:32 +00:00
rin
73240bb1c3 PR kern/53562
Handle TX offload in software when a packet is sent via
bridge_output(). We can send it as is in the following
exceptional cases:

For unicast:

(1) When the destination interface is the same as source.

(2) When the destination supports all TX offload options
    specified in a packet.

For multicast/broadcast:

(3) When all the members of the bridge support the specified
    TX offload options.

For (3), add sc_csum_flags_tx flag to bridge softc, which is
logical AND b/w capabilities of TX offload options in member
interface (ifp->if_csum_flags_tx). The flag is updated when a
member is (i) added to or (ii) removed from a bridge, or (iii)
if_csum_flags_tx flag of a member interface is manipulated via
ifconfig(8).

Turn on M_CSUM_TSOv[46] bit in ifp->if_csum_flags_tx flag when
TSO[46] is enabled for that interface.

OK msaitoh thorpej
2018-12-12 01:46:47 +00:00
rin
1cfdd1e3e5 PR kern/53562
Add ether_sw_offload_[tr]x: handle TX/RX offload options in software.
Since this violates separation b/w L2 and L3/L4, new files are added
rather than having the routines in sys/net/if_ethersubr.c.

OK msaitoh thorpej
2018-12-12 01:40:20 +00:00
alnsn
a57097d054 Add missing RCSIDs. 2018-12-12 00:48:43 +00:00
jdolecek
680ea2ad4d in atabus_detach(), shutdown the channel thread only after all the
children successfully detach; this is especially important for
atapibus, which needs the thread to execute commands

fixes hang on poweroff with root on ATAPI cd(4), reported by Christoph Badura
2018-12-11 23:06:30 +00:00
sevan
0f1014292f Reword post mortem description. It tries to get the tree averages if it can. 2018-12-11 23:02:19 +00:00
martin
0173341c0a Remove stray ; to fix the build 2018-12-11 19:40:54 +00:00
alnsn
2b83cbec28 Don't exclude code from rump kernel build. 2018-12-11 19:38:42 +00:00
ryo
a04aa610b7 need to save/restore also x1. x1 is in-use as ipl. 2018-12-11 18:11:33 +00:00
maya
6ffb147286 revert previous, nouveau apparently works for some people. 2018-12-11 16:52:49 +00:00
martin
f8051546aa Avoid signed/unsigned comparision (if_mtu is uint64_t) 2018-12-11 16:45:49 +00:00
jakllsch
3f6d334ef9 restore error reporting in ucomparam() lost in 1.115 2018-12-11 14:49:27 +00:00
christos
957d655dc4 PR/53775: Havard Eidnes: bind(2) may inaccurately return EADDRNOTAVAIL,
it should return EADDRINUSE.
2018-12-11 14:38:45 +00:00
maya
16a0e603f3 comment out nouveau related lines in INSTALL kernels too 2018-12-11 14:04:15 +00:00
rin
4d35b57ee6 Determine the frame size as a function of MTU.
XXX Jumbo frame is not yet supported.
2018-12-11 13:35:02 +00:00
kre
e3847ee4a9 PR standards/42829
Implement parameter and arithmetic expansion of $ENV
before using it as the name of a file from which to
read startup commands for the shell.   This continues
to happen for all interactive shells, and non-interactive
shells for which the posix option is not set (-o posix).

On any actual error, or if an attempt is made to use
command substitution, then the value of ENV is used
unchanged as the file name.

The expansion complies with POSIX XCU 2.5.3, though that
only requires parameter expansion - arithmetic expansion
is an extension (but for us, it is much easier to do, than
not to do, and it allows some weird stuff, if you're so
inclined....)   Note that there is no ~ expansion (use $HOME).
2018-12-11 13:31:20 +00:00
maya
13e47dd35b disable nouveau. it hasn't been functional since the import of new drmkms
code.
2018-12-11 11:00:18 +00:00
rin
261205469f Stop assigning random MAC address when it cannot be obtained from H/W.
It was intended only for debugging.
2018-12-11 09:05:50 +00:00
rin
431a083b7d Support checksum offloading for mue(4) by Robert Swindells
and adjusted by myself.
2018-12-11 08:16:57 +00:00
thorpej
f5ab653ca0 Add a convenience function, com_init_regs_stride(), that shifts the register
offsets and size by the specified amount.  Use in front-ends as appropriate.
2018-12-11 06:34:00 +00:00
ryo
6391df1cdb fix build failure without options MULTIPROCESSOR 2018-12-11 05:46:14 +00:00
ozaki-r
24e4ff1961 tests: add missing $af 2018-12-11 03:47:51 +00:00
sevan
e67a3558e2 Clarify the difference to getloadavg(3). 2018-12-11 02:29:11 +00:00
jakllsch
2cfdb2f169 Remove UCHCOM_REG_BPS_MOD and UCHCOM_REG_BPS_PAD usage.
There is no clear indication doing these calculations and setting the
resulting register bits results in improved functionality.  Contrary
to hints in the code, short-term precision of the UART clock doesn't
appear to improve when these bits are adjusted.

Neither the vendor's Linux driver nor the mainline Linux driver
currently touch these bits.

Tested with CH341A and a logic analyzer.
2018-12-11 01:07:29 +00:00
jdolecek
73c4e96893 constify wapbl_ops 2018-12-10 21:19:33 +00:00
jdolecek
560071c2bd assert that WAPBL journal write lock is actually held when called with
PGO_JOURNALLOCKED or IO_JOURNALLOCKED

suggested by mrg@, thanks
2018-12-10 21:10:52 +00:00
jdolecek
53a8b6c8f7 add wo_wapbl_jlock_assert to wapbl_ops 2018-12-10 21:03:48 +00:00
jdolecek
bb9b067782 put back UFS_WAPBL_JUNLOCK_ASSERT(), the underlying rw_write_held() check
doesn't actually have a race since it checks if the rwlock is held by
current lwp
2018-12-10 20:48:34 +00:00
jdolecek
77adaba307 upon further reflection, rw_write_held() actually seems to be safe
for check that the write lock is not currently held by current lwp - current
lwp can't acquire the rwlock even when preempted
2018-12-10 20:12:36 +00:00
jdolecek
19787ecf98 make UFS_WAPBL_JLOCK_ASSERT() #ifdef DIAGNOSTIC, same as the underlying
function KASSERT(), so that it actually does something; fix code using
it to actually pass correct params, so that it compiles

remove UFS_WAPBL_JUNLOCK_ASSERT(), as that is inherently racy (it's
okay on those places if the rwlock is held by other lwp); depend
on the RW_ASSERT()/LOCKDEBUG inside rw_enter() to catch the case
with wapbl rwlock held by current lwp
2018-12-10 19:29:41 +00:00
jdolecek
5112b8e445 clarify how rw_{write,read,lock}_held() work; rw_write_held() actually
returns non-zero only if current lwp is the owner, the other two don't care
about owner; also warn that functions are not atomic, and thus should only
ever be used to assert that the lock is held
2018-12-10 19:21:56 +00:00
christos
3b7148fe8e need <sys/endian.h> (or arpa/inet.h) for ntohl() used in macros. 2018-12-10 16:28:52 +00:00
hannken
4a6d850fe8 Operation handle_with_strategy() also needs the
fstrans_start_lazy() / fstrans_done() bracket.

PR kern/53624 (dom0 freeze on domU exit)
2018-12-10 15:22:35 +00:00
maxv
811ff57c77 Remove unused mbuf.h includes. 2018-12-10 15:08:23 +00:00
maxv
9cd5bec30f Remove unused mbuf.h includes. 2018-12-10 14:46:24 +00:00
jakllsch
a7d11b0d51 do not abuse aprint_error for runtime error messages 2018-12-10 14:32:04 +00:00
jakllsch
e9d05a6464 adjust for new QinHeng USB ID constants 2018-12-10 14:16:28 +00:00
jakllsch
9ec505571b regen 2018-12-10 14:15:01 +00:00
jakllsch
84a168e7ae rework QinHeng Electronics / WinChipHead IDs 2018-12-10 14:14:20 +00:00
maxv
b5785cea53 Improve error handling, doesn't matter a lot, but still. 2018-12-10 07:24:49 +00:00
jdolecek
98099c45e5 call pci_intr_release() when pci_intr_establish_xname() fails; I got confused
by the opposite conditionals compared to other drivers

found by Masanobu SAITOH
2018-12-10 06:23:54 +00:00
sevan
a8174c34c4 Describe how unaccounted changes are detected without Star Trek references, for
everyone in 2018.

Thanks to maya & gdt
2018-12-10 03:58:30 +00:00
thorpej
98ec1b8df8 Make i2c_acquire_bus() / i2c_release_bus() real symbols. 2018-12-10 00:31:45 +00:00
jakllsch
d4dd955a40 Remove incorrect printout of CH340/CH341 part.
CH341 and CH340 can't be differentiated by the chip's USB firmware version.
2018-12-10 00:29:47 +00:00
jakllsch
4467ea1b14 Don't accumulate RX data into packets on CH341. 2018-12-10 00:22:13 +00:00
jakllsch
9e122cdce8 Note the instance of the driver in register access trace debug messages. 2018-12-10 00:03:11 +00:00