kettenis [Sat, 6 Jan 2018 20:31:03 +0000 (20:31 +0000)]
Don't advertise L0s if the "aspm-no-l0s" property is present. Base available
bus numbers on the "bus-range" property. Create outbound translations based
on the "ranges" property.
kettenis [Sat, 6 Jan 2018 20:14:30 +0000 (20:14 +0000)]
regen
kettenis [Sat, 6 Jan 2018 20:14:01 +0000 (20:14 +0000)]
Add Silicon Motion SM2260 NVMe.
deraadt [Sat, 6 Jan 2018 19:36:18 +0000 (19:36 +0000)]
sync
jcs [Sat, 6 Jan 2018 18:51:20 +0000 (18:51 +0000)]
pckbd: don't change translation mode if controller is in table 2
This was changed a decade ago to forcibly try table 3 first in order
to make some now-long-gone hardware work.
Newer Lenovo machines seem to have trouble being asked to change
modes which manifests as a long boot delay as it waits for each
request to timeout, or by causing the keyboard to generate junk when
typing.
Assume table 2 by default and just leave it alone if it's already
there. This is how Linux has operated for quite a while and seems
to help on these Lenovo machines.
Tested by a few with these machines and has been in snaps for a bit.
millert [Sat, 6 Jan 2018 16:28:58 +0000 (16:28 +0000)]
Bring back the sign compare changes, this time with a fix from otto@
that fixes the issues seen on hppa. OK deraadt@ otto@
millert [Sat, 6 Jan 2018 16:26:12 +0000 (16:26 +0000)]
unifdef LOGIN_CAP, we always want to use login.conf
OK jca@, no objection deraadt@
cheloha [Sat, 6 Jan 2018 15:37:36 +0000 (15:37 +0000)]
Remove dead gettimeofday calls and timevals.
ok jca@
kettenis [Sat, 6 Jan 2018 13:09:05 +0000 (13:09 +0000)]
sxits(4)
kettenis [Sat, 6 Jan 2018 13:05:20 +0000 (13:05 +0000)]
Enable sxits(4).
kettenis [Sat, 6 Jan 2018 13:04:47 +0000 (13:04 +0000)]
Add sxits(4), a driver for the temperature sensor on the Allwinner A10/A20
touchpad controller.
kettenis [Sat, 6 Jan 2018 11:48:06 +0000 (11:48 +0000)]
Enable sxitemp(4).
kettenis [Sat, 6 Jan 2018 11:23:14 +0000 (11:23 +0000)]
Set the proper bus clock rate based on the "clock-frequency" property and
the rate of the parent clock. If the "clock-frequency" property isn't
present, use the default standard mode clock of 100kHz.
jmc [Sat, 6 Jan 2018 09:16:37 +0000 (09:16 +0000)]
tweak previous;
sunil [Sat, 6 Jan 2018 07:59:27 +0000 (07:59 +0000)]
Import gilles@'s standalone spfwalk utility into smtpctl(8) as
'spf walk' command.
Ok gilles@
sunil [Sat, 6 Jan 2018 07:57:53 +0000 (07:57 +0000)]
Move unpack functions into a seperate file.
Required for upcoming 'smtpctl spf walk'.
Ok eric@ gilles@ millert@
visa [Sat, 6 Jan 2018 06:30:11 +0000 (06:30 +0000)]
Remove redundant zeroing and dead code.
dlg [Sat, 6 Jan 2018 03:11:04 +0000 (03:11 +0000)]
rework the transmit and receive paths to address reliability issues.
phessler@ has been having trouble with msk on overdrive 1000s. some
of the issues relate to the driver not coping with exhaustion of
mbufs for the rx ring, the other issues are corruption of the mcl9k
pool that msk uses.
this diff adds a timeout that the rx refill code uses when the rx
ring is empty and cannot be filled. it'll periodically retry the
ring refill until it can get some mbufs in the air again.
the current code made hunting for the mcl9k issue too hard, so this
rewrites it to be simpler and more like other drivers. there's now
just arrays of mbuf pointers and dmamaps to shadow the hardware
ring entries, and producer and consumer indexes. what was there
before had linkes lists of something to hold mbuf pointers and
dmamaps, and some way to go from the ring to go back to that. i
think, it was hard to tell what was happening.
this also copies the ADDR64 handling on the tx ring to the rx ring.
this potentially makes more rx descriptors available, but that can
happen later.
in hindsight the mcl9k problem could have been from letting if_rxr
allocate the entier ring. if every descriptor was filled, the chip
may have run around the ring when it shouldnt have. giving rxr one
less descriptor than there is on the ring may have fixed the problem
too.
this work also makes it easier to make msk mpsafe.
tested by an ok phessler@
ok kettenis@ deraadt@
patrick [Fri, 5 Jan 2018 23:30:16 +0000 (23:30 +0000)]
To send out packets we need to create a flowring. Acting as station,
we typically have about four flowrings per priority. As access point
we apparently need one, or four considering the priorities, flowrings
per client. For now let's start with a single TX flowring. To setup
a flowring we need to send a create request and can only start sending
packets as soon as we are told that the ring is created. With this we
can now do actual network traffic.
patrick [Fri, 5 Jan 2018 23:13:04 +0000 (23:13 +0000)]
Drop incoming network packets as long as we are not in RUN state. This
happens when we successfully associate and the AP tries to initiate the
WPA2 handshake but we haven't received the asynchronous ASSOC event yet.
Dropping the packet will make the AP retry, and at that point we should
have successfully associated. While there, don't feed the event packets
to our network stack. It's been helpful for debugging but now it's time
to let go.
jmc [Fri, 5 Jan 2018 22:25:05 +0000 (22:25 +0000)]
some minor fixes;
kettenis [Fri, 5 Jan 2018 22:19:36 +0000 (22:19 +0000)]
Handle resets; needed on Allwinner R40/V40.
kettenis [Fri, 5 Jan 2018 22:18:46 +0000 (22:18 +0000)]
Implement R40/V40 SATA clock.
kettenis [Fri, 5 Jan 2018 22:04:35 +0000 (22:04 +0000)]
Add support for AXP221/223.
patrick [Fri, 5 Jan 2018 19:06:37 +0000 (19:06 +0000)]
When we receive an AUTH or ASSOC event even though we have already
reached the RUN state, this probably means that we have roamed to
a different AP. In that case throw us back into SCAN mode and let
the stack look for a new AP to connect to. In the future it might
be worthwhile to use the ROAM event information to read the new AP
information to adjust our stack, but that is further down the road.
mikeb [Fri, 5 Jan 2018 19:05:09 +0000 (19:05 +0000)]
Sync with the code in libc
OK millert; original commit message by tedu@:
memcpy from the right place. at this point, the used variable is not
relevant. from Mark Karpilovskij.
ok millert
kettenis [Fri, 5 Jan 2018 17:42:35 +0000 (17:42 +0000)]
Make arm64 use the MI mplock implementation. Avoid <sys/mplock.h> being
pulled in for assembly files by bringing <machine/cpu.h> and
<machine/param.h> in line with other architectures. Some minor cleanup of
those files is included.
ok patrick@
jca [Fri, 5 Jan 2018 15:44:31 +0000 (15:44 +0000)]
unifdef JOBS support
Prompted by a mail from Klemens Nanni, who also had the same diff.
ok deraadt@ millert@
krw [Fri, 5 Jan 2018 15:03:09 +0000 (15:03 +0000)]
Complete and fix grammar in comments and bring grammar terms,
function names and function code into sync.
jmc [Fri, 5 Jan 2018 14:34:43 +0000 (14:34 +0000)]
some 11n bits; help/ok stsp
espie [Fri, 5 Jan 2018 13:39:55 +0000 (13:39 +0000)]
@libset is going to be part of the dependency information.
jca [Fri, 5 Jan 2018 13:34:52 +0000 (13:34 +0000)]
Use log_warnx() in places where errno is irrelevant.
ok mlarkin@ ccardenas@
tb [Fri, 5 Jan 2018 13:21:52 +0000 (13:21 +0000)]
Typos in comments: 'it' -> 'if' and 'noityf' -> 'notify'.
from Klemens Nanni
kettenis [Fri, 5 Jan 2018 12:46:13 +0000 (12:46 +0000)]
Remove unnecessary delays. There is no reason to wait after each and every
read or write to aregister. There is also no reason to wait after
transmitting a STOP since the controller will wait until the bus is free
when transmitting the next START. Based on a diff by Stephen Graf.
Also remove the interrupt code; it doesn't work on the newer variants of
the device. The functionality will be put back in a future commit.
ok patrick@
pirofti [Fri, 5 Jan 2018 11:10:25 +0000 (11:10 +0000)]
Show uvm_fault and trace when typing show panic on a page fault'd kernel
Currently there is only support for amd64, if this change settles
I will add support for the rest of the architectures.
OK kettenis@.
mpi [Fri, 5 Jan 2018 10:41:24 +0000 (10:41 +0000)]
No need for <sys/socketvar.h>
pirofti [Fri, 5 Jan 2018 09:52:34 +0000 (09:52 +0000)]
Fix DRM_DEBUG builds.
OK jsg@.
otto [Fri, 5 Jan 2018 09:33:47 +0000 (09:33 +0000)]
the value of bflag is a blockno, so use the proper type, avoids
an overflow seen with scanning for alternate superblocks; ok deraadt@
mpi [Fri, 5 Jan 2018 08:13:31 +0000 (08:13 +0000)]
Remove useless <sys/socketvar.h> includes.
ok kettenis@, visa@, claudio@, deraadt@
deraadt [Fri, 5 Jan 2018 05:54:36 +0000 (05:54 +0000)]
accidental commit
deraadt [Fri, 5 Jan 2018 05:53:56 +0000 (05:53 +0000)]
backout, because it breaks builds in dev/microcode.
Always build the parts of the tree that use a file.
dlg [Fri, 5 Jan 2018 05:08:53 +0000 (05:08 +0000)]
cast the result of the ternary ops in __swapXX to the relevant types.
it appears clang and guenther@ have a different way of interpreting
the c standards around type promotion and ternary operators compared
to gcc and me.
"no you do it" guenther@
patrick [Thu, 4 Jan 2018 23:34:06 +0000 (23:34 +0000)]
Receiving an AUTH event means that we successfully authenticated, thus
we have to move to the "trying to" ASSOC state. When association has
finished we will receive an ASSOC event, so that we can move into the
RUN state. After that point we will receive ethernet packets and the
WPA2 handshake can occur. The SET_SSID event will now only be used to
bring us back into SCAN when it notes an error, as it often completes
after we have already done the WPA2 handshake and can not be used to
switch between the different states.
bluhm [Thu, 4 Jan 2018 22:58:25 +0000 (22:58 +0000)]
Add more tests that check the timeout behavior of relayd.
jmc [Thu, 4 Jan 2018 20:38:12 +0000 (20:38 +0000)]
from paul de weerd: provide a more helpful Xr to ocspcheck, and note
that the path to "file" is not relative to the chroot;
jmc [Thu, 4 Jan 2018 20:09:56 +0000 (20:09 +0000)]
add HISTORY; requested by jiri navratil
krw [Thu, 4 Jan 2018 19:52:30 +0000 (19:52 +0000)]
Compact some whitespace, unsplit now shorter lines.
kettenis [Thu, 4 Jan 2018 19:46:31 +0000 (19:46 +0000)]
Add ARM EABI aliases and remove functions that are also provided by our libc.
This allows linking code compiled by clang with the gcc compiler driver
and makes sure we always use the softfloat implementation in libc. The
libc softfloat implementation is preferred over the one in libgcc as it
implements rounding modes and floating point exceptions.
ok patrick@
millert [Thu, 4 Jan 2018 19:06:16 +0000 (19:06 +0000)]
Back out sign compare changes that appear to cause problems on hppa.
Requested by deraadt@
krw [Thu, 4 Jan 2018 18:26:04 +0000 (18:26 +0000)]
Comments and grammar use '_decl' so use _decl instead of _declaration
in the names of the respective parsing functions.
deraadt [Thu, 4 Jan 2018 17:44:20 +0000 (17:44 +0000)]
glaring KNF violation
ccardenas [Thu, 4 Jan 2018 15:19:56 +0000 (15:19 +0000)]
Address TOCTOU issue with checking to ensure disks are regular files.
Reported by jca@.
Ok mlarkin@ and deraadt@
kettenis [Thu, 4 Jan 2018 14:30:08 +0000 (14:30 +0000)]
Implement support for calling EFI runtime services and use it to implement
a time-of-day clock device based on the GetTime() and SetTime() services.
The virtual memory mappings for the runtime services calls are implemented
through a separate pmap that is only activated when we make a runtime services
call.
ok tom@, visa@
tested by naddy@
mpi [Thu, 4 Jan 2018 14:21:00 +0000 (14:21 +0000)]
space -> tab
No object change.
mpi [Thu, 4 Jan 2018 11:03:48 +0000 (11:03 +0000)]
Unify <machine/mutex.h> a bit further.
Remove `mtx_lock' from i386, add volatile before `mtx_owner' where it
was missing.
Inputs from kettenis@, ok visa@
tb [Thu, 4 Jan 2018 11:02:57 +0000 (11:02 +0000)]
Back out tx mitigation again because it breaks suspend and resume at
least on x230 and x240. Problem noted by claudio on icb.
ok dlg
mpi [Thu, 4 Jan 2018 10:51:11 +0000 (10:51 +0000)]
Do a FREF/FRELE dance after calling fd_getfile().
This should be enought to prevent `fp' to disapear while sleeping in
malloc(9).
ok helg@
mpi [Thu, 4 Jan 2018 10:48:02 +0000 (10:48 +0000)]
Include timeout & tasks in 'struct ifnet' instead of always allocating
them as M_TEMP.
ok visa@
mpi [Thu, 4 Jan 2018 10:45:30 +0000 (10:45 +0000)]
Unifdef snd/rcv.
ok visa@, claudio@
krw [Thu, 4 Jan 2018 03:02:05 +0000 (03:02 +0000)]
parse_lease_time() is an unnecessary abstraction. Just use
parse_number('L') since it is parsing unsigned 32bit integers.
krw [Thu, 4 Jan 2018 02:27:55 +0000 (02:27 +0000)]
We only parse decimal numbers, so parse_decimal() -> parse_number() to
match grammar comments and improve euphony.
dlg [Thu, 4 Jan 2018 00:33:54 +0000 (00:33 +0000)]
remove support for decapsulating LLC/SNAP frames.
the code was broken and noone noticed. this argues that we don't
need it.
ok mpi@
deraadt [Wed, 3 Jan 2018 23:39:02 +0000 (23:39 +0000)]
sync
dlg [Wed, 3 Jan 2018 23:20:10 +0000 (23:20 +0000)]
rework __swapXX to avoid the use of __statement.
the primary motivation of this was to allow the use of things like
htons() and htole16() as case labels. previously gcc would vomit
with "expression is not an integer constant expression" if you tried
that.
ok guenther@
dlg [Wed, 3 Jan 2018 23:11:06 +0000 (23:11 +0000)]
assign 1 instead of the result of htole16(1) to a uint8_t.
on big endian archs the 1 is shifted to the high byte, which then
gets lost when it's assigned to the uint8_t. at worst we lose the
value, at best the compiler has a teary and fixes it.
this is the fix for a compiler teary.
ok claudio@
patrick [Wed, 3 Jan 2018 21:01:16 +0000 (21:01 +0000)]
Since the PCI attachment code already uses mbufs for RX packets, we can
push the mbuf allocation down into the USB attachment code and now pass
an mbuf to the bwfm(4) receive function.
kettenis [Wed, 3 Jan 2018 20:41:31 +0000 (20:41 +0000)]
Instead of adding each and every clock to the list of clocks that are enabled
by default, simply assume they are. But do check for this when we attach.
kettenis [Wed, 3 Jan 2018 20:10:40 +0000 (20:10 +0000)]
Add ASMedia ASM1061 SATA to the list of devices as it is an AHCI controller
but doesn't advertise itself as such.
ok dlg@, jmatthew@
denis [Wed, 3 Jan 2018 19:39:36 +0000 (19:39 +0000)]
Add support for IPv6 over MPLS pseudowire aka mpw(4)
OK claudio@ jca@
denis [Wed, 3 Jan 2018 19:39:07 +0000 (19:39 +0000)]
Add support for IPv6 over MPLS pseudowire aka mpw(4)
OK claudio@ jca@
schwarze [Wed, 3 Jan 2018 19:12:20 +0000 (19:12 +0000)]
Stop "dd if=/dev/zero of=/dev/null bs=1 count=2 skip=0x7fffffffffffffff"
from erroring out with "dd: skip: Undefined error: 0", mostly for
consistency and to avoid the unidiomatic, wrong looking code.
Patch from Bulat Musin <mbulatka at yandex dot ru>.
OK guenther@ millert@
sunil [Wed, 3 Jan 2018 11:12:21 +0000 (11:12 +0000)]
Use crypt_checkpass(3) instead of crypt(3).
Based on a diff from Edgar Pettijohn.
Ok gilles@ eric@
rpe [Wed, 3 Jan 2018 10:22:38 +0000 (10:22 +0000)]
Always present the same question at the end of installs or upgrades.
Offer to exit to shell, halt or reboot the system, where 'reboot' is
the default answer. Change default answer to 'halt' for installs if
MDHALT is set to 'y'.
suggested by landry@
OK halex@
patrick [Wed, 3 Jan 2018 08:43:10 +0000 (08:43 +0000)]
Add size for free(9) in the bwfm(4) PCI attachment code.
From Michael W. Bombardieri
bentley [Wed, 3 Jan 2018 08:43:09 +0000 (08:43 +0000)]
Include https:// in links, so HTML output doesn't assume they're relative.
ok jmc@ schwarze@
jmc [Wed, 3 Jan 2018 08:17:18 +0000 (08:17 +0000)]
pretty up the "start" command;
jmc [Wed, 3 Jan 2018 08:13:16 +0000 (08:13 +0000)]
fix SEE ALSO;
dlg [Wed, 3 Jan 2018 06:27:42 +0000 (06:27 +0000)]
remove __swap16_multi because endian.h provides swap16_multi without it
ok guenther@
ccardenas [Wed, 3 Jan 2018 05:39:56 +0000 (05:39 +0000)]
Add initial CD-ROM support to VMD via vioscsi.
* Adds 'cdrom' keyword to vm.conf(5) and '-r' to vmctl(8)
* Support various sized ISOs (Limitation of 4G ISOs on Linux guests)
* Known working guests: OpenBSD (primary), Alpine Linux (primary),
CentOS 6 (secondary), Ubuntu 17.10 (secondary).
NOTE: Secondary indicates some issue(s) preventing full/reliable
functionality outside the scope of the vioscsi work.
* If the attached disks are non-bootable (i.e. empty), SeaBIOS (vmd's
default BIOS) will boot from CD-ROM.
ok mlarkin@, jca@
kettenis [Wed, 3 Jan 2018 04:15:51 +0000 (04:15 +0000)]
Add remap_bynode() since I use it in the rkpcie(4) implementation.
kettenis [Tue, 2 Jan 2018 22:56:01 +0000 (22:56 +0000)]
rkpcie(4)
kettenis [Tue, 2 Jan 2018 22:47:45 +0000 (22:47 +0000)]
Enable rkpcie(4).
kettenis [Tue, 2 Jan 2018 22:33:17 +0000 (22:33 +0000)]
Initial stab at a driver for the PCIe interface on the Rockhip RK3399. For
now it cheats when setting up an interrupt handler. This cheat only works
because it currently effectively only supports a single device. But the
cheat works well enough to support the Firefly SATA adapter board.
kettenis [Tue, 2 Jan 2018 21:24:02 +0000 (21:24 +0000)]
regen
kettenis [Tue, 2 Jan 2018 21:23:13 +0000 (21:23 +0000)]
Add Rockchip vendor and RK3399 Root Complex device.
gilles [Tue, 2 Jan 2018 19:11:06 +0000 (19:11 +0000)]
we haven't updated the version in a while despite many commits which is
confusing for people running the portable version
anton [Tue, 2 Jan 2018 17:39:34 +0000 (17:39 +0000)]
Add missing mouse type. Reported by bit shifter on misc@; ok bru@
mpi [Tue, 2 Jan 2018 12:57:30 +0000 (12:57 +0000)]
Move the cloning bits in their own function.
This will be needed to select the proper cloning route in a multipath
scenario.
While here remove a NET_ASSERT_LOCKED(), the routing table doesn't need
the lock.
ok dlg@
mpi [Tue, 2 Jan 2018 12:54:07 +0000 (12:54 +0000)]
Do not memset() the whole structure in sorflush() to keep `sb_flagsintr'
untouched.
ok bluhm@, visa@
mpi [Tue, 2 Jan 2018 12:52:17 +0000 (12:52 +0000)]
Move the NET_LOCK() inside the switch and start documenting which field
is protected by which lock.
ok bluhm@, visa@
jmc [Tue, 2 Jan 2018 08:05:03 +0000 (08:05 +0000)]
some grammar fixes; from dholland@netbsd, -r1.68
jmc [Tue, 2 Jan 2018 08:03:40 +0000 (08:03 +0000)]
update currency exchange rates;
dlg [Tue, 2 Jan 2018 07:08:10 +0000 (07:08 +0000)]
reintroduce tx mitigation
to quote the previous commit:
> this replaces ifq_start with code that waits until at least 4 packets
> have been queued on the ifq before calling the drivers start routine.
> if less than 4 packets get queued, the start routine is called from
> a task in a softnet tq.
>
> 4 packets was chosen this time based on testing sephe did in dfly
> which showed no real improvement when bundling more packets. hrvoje
> popovski tested this on several nics and found an improvement of
> 10 to 20 percent when forwarding across the board.
>
> because some of the ifq's work could be sitting on a softnet tq,
> ifq_barrier now calls taskq_barrier to guarantee any work that was
> pending there has finished.
>
> ok mpi@ visa@
this was backed out because of a race in the net80211 stack that
anton@ hit. mpi@ committed a workaround for it in revision 1.30 of
src/sys/net80211/ieee80211_pae_output.c.
im putting this in again so we can see what breaks next.
guenther [Tue, 2 Jan 2018 06:56:41 +0000 (06:56 +0000)]
When invoked with no file arguments, display usage and fail instead of
silently doing nothing.
suggested by Klemens Nanni (kl3 (at) posteo.org), from FreeBSD r92772
ok millert@
guenther [Tue, 2 Jan 2018 06:40:55 +0000 (06:40 +0000)]
Don't #include fcntl.h when _KERNEL is defined.
inspired by FreeBSD r24131
ok millert@ sthen@
guenther [Tue, 2 Jan 2018 06:38:45 +0000 (06:38 +0000)]
Stop assuming <sys/file.h> will pull in fcntl.h when _KERNEL is defined.
ok millert@ sthen@
guenther [Tue, 2 Jan 2018 06:07:21 +0000 (06:07 +0000)]
Fix an off-by-one in the free(9) "passed size was too small" check:
if the size passed is exactly half the size of the bucket that the
allocation was actually from, then it was incorrect.
problem noted by florian@
ok florian@ visa@
krw [Tue, 2 Jan 2018 00:13:27 +0000 (00:13 +0000)]
More grammar comments improvements.
patrick [Mon, 1 Jan 2018 22:41:56 +0000 (22:41 +0000)]
For whatever reason the firmware needs more RX buffers available as
we typically use, which unfortunately creates a bigger memory foot-
print. With this the receive path can be made to work.
patrick [Mon, 1 Jan 2018 22:41:03 +0000 (22:41 +0000)]
Put the code that prints the firmware's debug console into a function
so we can read and print the messages printed by the firmware when we
are debugging the driver.