jmatthew [Mon, 8 Jun 2015 08:47:38 +0000 (08:47 +0000)]
rearrange delayed_work to avoid the use of container_of while leaving it in
more or less the same shape.
ok uebayasi@
stsp [Mon, 8 Jun 2015 06:39:22 +0000 (06:39 +0000)]
pms(4): Don't match Elantech v4 devices with firmware versions 0xX7XXXX.
Apparently we don't support these touchpads properly so leave them in
PS/2 compat mode. Regression reported by Remi Locherer on bugs@. And stop
matching devices with firmware versions higher than 0xX8XXXX since we cannot
be sure they work.
ok mpi@
jsg [Mon, 8 Jun 2015 06:33:16 +0000 (06:33 +0000)]
Add initial support for the ARM Versatile Express boards as emulated by
qemu with virtio memory ranges.
Unfortunately the vexpress-a9 and vexpress-a15 boards/targets have
different load addresses and memory maps.
Code for the PL011 UART and mmio virtio attachment from Patrick Wildt
in bitrig.
jmatthew [Mon, 8 Jun 2015 00:58:23 +0000 (00:58 +0000)]
refuse to do polled isochronous transfers, as other usb controller drivers do
requested by mpi@
jmatthew [Mon, 8 Jun 2015 00:46:33 +0000 (00:46 +0000)]
Ensure polled bulk, control and interrupt transfers actually poll, fixing
panics on shutdown with various usb sticks.
ok mpi@
nicm [Sun, 7 Jun 2015 21:39:39 +0000 (21:39 +0000)]
Add -E flag when attaching or switching client to bypass
update-environment, from Steven Lu.
claudio [Sun, 7 Jun 2015 20:13:13 +0000 (20:13 +0000)]
HBG is no more so no need to mention it in the man pages.
OK jmc@
claudio [Sun, 7 Jun 2015 20:11:52 +0000 (20:11 +0000)]
The Swiss Federal Government decided to shut down HBG at the end of 2011.
On 6 September 2012 at 12:02:00 UTC both antenna towers were demolished by
controlled explosives. So this is not coming back and we can tedu the
support for HBG form the DCF77 drivers.
Remided by mbalmer
krw [Sun, 7 Jun 2015 19:13:27 +0000 (19:13 +0000)]
More damned eye searing whitespace.
deraadt [Sun, 7 Jun 2015 18:48:20 +0000 (18:48 +0000)]
sync
jsg [Sun, 7 Jun 2015 16:54:16 +0000 (16:54 +0000)]
Initial exynos4 bits. Among other things the gic isn't mapped correctly
on exynos4/5 yet as it isn't at the usual offset from periphbase.
ok bmercer@
jsg [Sun, 7 Jun 2015 12:16:27 +0000 (12:16 +0000)]
Add a default panic case to a switch statement where code after assumes
one of the cases was reached. Matches other parts of the mpbios code.
jsg [Sun, 7 Jun 2015 12:02:28 +0000 (12:02 +0000)]
Introduce unhandled_af() for cases where code conditionally does
something based on an address family and later assumes one of the paths
was taken. This was initially just calls to panic until guenther
suggested a function to reduce the amount of strings needed.
This reduces the amount of noise with static analysers and acts
as a sanity check.
ok guenther@ bluhm@
dlg [Sun, 7 Jun 2015 10:47:53 +0000 (10:47 +0000)]
mark the usb hci driver pci glue code as only needed by the pci attachment,
not all usb controllers.
this lets jsg build ehci on a platform that lacks a pci bus.
ok jsg@
guenther [Sun, 7 Jun 2015 08:11:50 +0000 (08:11 +0000)]
Add CR4_FSGSBASE
guenther [Sun, 7 Jun 2015 06:24:59 +0000 (06:24 +0000)]
Enable use of mwait in non-MP boxes and report # of C-substates up to C7,
truncating trailing zeros.
Testing by many as part of a larger change to use ACPI _CST objects
ok krw@
krw [Sun, 7 Jun 2015 01:25:27 +0000 (01:25 +0000)]
Replace a bunch of == 0 with == NULL in pointer tests. Nuke some
annoying trailing, leading and embedded whitespace. No change to
.o files.
ok deraadt@
jsg [Sat, 6 Jun 2015 16:49:04 +0000 (16:49 +0000)]
Add some changes from Patrick Wildt in bitrig that are required to make
the qemu cortex a15 useable without trustzone.
Establish the interrupt for the non-secure physical timer (30), in
addition to the secure physical timer (29).
Stop masking the timer output signal in the interrupt handler.
florian [Sat, 6 Jun 2015 13:13:07 +0000 (13:13 +0000)]
Allow rtsol keyword in hostname.if(5) with net.inet6.ip6.forwarding=1.
"inet6 autoconf" was working before and rtsol should behave the same.
OK phessler
stsp [Sat, 6 Jun 2015 12:30:53 +0000 (12:30 +0000)]
Enable rtwn(4) on RAMDISK_CD kernels for upgrades. ok deraadt
mpi [Sat, 6 Jun 2015 09:31:53 +0000 (09:31 +0000)]
Put the link-layer address back into the gateway field of RTF_LOCAL
routes.
Since such routes are also flagged with RTF_LLINFO various code path
assume correctly that they contain valid ARP or ND information.
This fixes the "arpresolve: unresolved and rt_expire == 0" issue
reported on tech@ by mxb <mxb AT alumni DOT chalmers DOT se>.
ok claudio@, phessler@
stsp [Sat, 6 Jun 2015 07:19:56 +0000 (07:19 +0000)]
Add rtwn(4) to fw_update. ok espie@, czarkoff@ suggested a similar diff
nicm [Fri, 5 Jun 2015 22:50:27 +0000 (22:50 +0000)]
Use ints for the calculations rather than u_char, they could end up
signed.
nicm [Fri, 5 Jun 2015 22:33:39 +0000 (22:33 +0000)]
Handle the RGB colour escape sequence (\033[38;2;<r>;<g>;<b>m and 48;2)
like xterm(1) does, by mapping to the nearest in the 256 colour palette.
nicm [Fri, 5 Jun 2015 22:01:17 +0000 (22:01 +0000)]
Use fixed colour tables rather than generated and do a quick search for
exact match before doing the distance comparison.
tobiasu [Fri, 5 Jun 2015 21:52:01 +0000 (21:52 +0000)]
Link ssl and crypto via BSDOBJDIR, works with native and cross builds
ok mpi@
tobiasu [Fri, 5 Jun 2015 21:48:35 +0000 (21:48 +0000)]
Use target BSDOBJDIR when cross-compiling libraries
ok mpi@
tobiasu [Fri, 5 Jun 2015 21:42:37 +0000 (21:42 +0000)]
Fix library search path so we link against the freshly built libcrypto.so
instead of a stale one.
ok miod@ mpi@
krw [Fri, 5 Jun 2015 21:41:43 +0000 (21:41 +0000)]
Try harder to avoid (very unlikely) NULL pointer de-ref by tweaking
code to use sotopf() like tcp_usrreq() does. Also following
tcp_usrreq(), put more stuff under splsoftnet. And as a result
in-line code in udp_detach() and nuke udp_detach().
Most ideas from and ok mikeb@
deraadt [Fri, 5 Jun 2015 19:36:28 +0000 (19:36 +0000)]
And ... more discussion occurs between miod and kettenis about
what register dance copyerr should do.....
deraadt [Fri, 5 Jun 2015 18:36:07 +0000 (18:36 +0000)]
And part 2 of the onfault repair. Do the actual clearing of pcb_onfault
in copyerr itself, like other architectures of this type do.
as a result of chatter between miod and kettenis
nicm [Fri, 5 Jun 2015 18:18:32 +0000 (18:18 +0000)]
Similarly, for sessions use a callback to free rather than checking
every loop.
miod [Fri, 5 Jun 2015 18:14:26 +0000 (18:14 +0000)]
Missing no-pie logic for bootblocks.
nicm [Fri, 5 Jun 2015 18:06:30 +0000 (18:06 +0000)]
Change deref to the more sensible unref, and add a couple I missed before.
nicm [Fri, 5 Jun 2015 18:01:12 +0000 (18:01 +0000)]
Instead of putting dead clients on a list and checking it every loop,
use event_once to queue a callback to deal with them. Also dead clients
with references would never actually be freed because the wrap-up
functions (the callback for stdin, or status_prompt_clear) would never
be called. So call them in server_client_lost.
deraadt [Fri, 5 Jun 2015 16:59:10 +0000 (16:59 +0000)]
Do not unconditionally clear pcb_onfault after a uvm_fault. That will
permit the active copyout/copyin to continue work on subsequent faulting
pages and not misinterpret & fault them as kernel bcopy against userland
addresses. Old bug -- fall of 1996. This should fix getentropy issues
on MP systems which have become more apparent recently, probably due to
some combo of increased ASLR with unlocked getentropy happening very soon
after vfork/fork...
ok miod
deraadt [Fri, 5 Jun 2015 16:45:24 +0000 (16:45 +0000)]
these days, curproc is never NULL, so skip those checks.
Discussed with kettenis
deraadt [Fri, 5 Jun 2015 16:35:24 +0000 (16:35 +0000)]
trunc_page() generally.... succeeds at clearing the page offset
bits the first time it is called, so don't do it again.
ok miod
kettenis [Fri, 5 Jun 2015 16:07:24 +0000 (16:07 +0000)]
These days p->p_addr will never be NULL.
ok deraadt@
millert [Fri, 5 Jun 2015 15:13:13 +0000 (15:13 +0000)]
For "ssh -L 12345:/tmp/sock" don't fail with "No forward host name."
(we have a path, not a host name). Based on a diff from Jared Yanovich.
OK djm@
nicm [Fri, 5 Jun 2015 15:10:13 +0000 (15:10 +0000)]
Do not use the key variable uninitialized (in a debug log statement),
reported by jungleboogie0 at gmail dot com.
vgross [Fri, 5 Jun 2015 13:35:08 +0000 (13:35 +0000)]
Fix coupling and decoupling operations.
With help and ok from mikeb@
mikeb [Fri, 5 Jun 2015 13:22:34 +0000 (13:22 +0000)]
Improve error handling and recovery during state insertion
Reshuffle the code around a bit and greatly improve error handling
fixing a few bugs along the way.
Problem reported by and fix was written with Alexandr Nedvedicky.
OK henning
mpi [Fri, 5 Jun 2015 11:38:19 +0000 (11:38 +0000)]
Add bits missed in previous... I suck at cvs.
mpi [Fri, 5 Jun 2015 10:24:23 +0000 (10:24 +0000)]
Put spaces and commas where they belong.
mpi [Fri, 5 Jun 2015 10:15:54 +0000 (10:15 +0000)]
Finally protect VP lookups to guarantee that a pted won't be freed or
reused by a CPU while another CPU is manipulating it.
This races occurs because the virtual spill handlers are run without
taking the KERNEL_LOCK for obvious reasons. So use a per-pmap mutex
that CPUs must hold when modifying a pted in order to guarantee the
atomicity of operations *and* the coherence between pmap VPs tree and
what's in the HASH.
Thanks to dlg@ for assisting me debugging this. This change ends your
PowerPC pmap SMP show of the week. GENERIC.MP on macppc should now be
stable enough to build ports without corrupting its own memory.
ok kettenis@, deraadt@, dlg@
mpi [Fri, 5 Jun 2015 10:06:35 +0000 (10:06 +0000)]
Don't try to be clever when unrolling the loop in pmap_remove().
Needed for upcoming locking.
mpi [Fri, 5 Jun 2015 10:04:34 +0000 (10:04 +0000)]
Replace the per-entry locks by a global HASH lock.
Since this lock is recursive we can now guarantee the atomicity of
pte_inser{32,64}() when a pted has to be removed first. This fixes
one of the races.
Using a __mp_lock here also allowed dlg@ to provide me useful traces
to fix the next race. Thanks for your help!
ok kettenis@, deraadt@, dlg@
mpi [Fri, 5 Jun 2015 09:53:40 +0000 (09:53 +0000)]
Call pte_spill_v() from the real mode fault handler instead of rerolling
it. This will reduce the number of places to audit for locking.
Note that for profiling purposes pte_spill_v() is now marked a __noprof
since per-CPU profiling buffers are not guaranteed to be 1:1 mapped and
cannot be accessed from the real mode fault handler.
ok kettenis@, deraadt@, dlg@
mpi [Fri, 5 Jun 2015 09:48:01 +0000 (09:48 +0000)]
Rewrite PTE manipulation routines to better match the PEM.
Document every operation, make sure to call "sync" when appropriate so
that other CPUs see the bit changes and finally grab a lock where it was
missing to grantee atomicity.
ok kettenis@, deraadt@, dlg@
mpi [Fri, 5 Jun 2015 09:42:10 +0000 (09:42 +0000)]
Split pteclrbits() into pmap_{test,clear}_attrs().
This should not introduce any behavior change but makes the code easier
to read and later easier to protect. This also brings this pmap closer
to what others do.
Thanks to kettenis@ for spotting a bad typo!
ok kettenis@, deraadt@, dlg@
mpi [Fri, 5 Jun 2015 09:38:52 +0000 (09:38 +0000)]
More usages of pmap_ptedinhash().
If you wonder why pte_insert{32,64}() is not using pmap_hash_remove() if
it finds a conflicting PTE in the HASH, it's because in the current state
trying to grab the same lock a second time would lead to a deadlock.
This is much easier to reproduce on G5 (or G4 with BAT disabled).
ok kettenis@, deraadt@, dlg@
mpi [Fri, 5 Jun 2015 09:32:22 +0000 (09:32 +0000)]
Remove DEBUG stuff.
mpi [Fri, 5 Jun 2015 09:31:19 +0000 (09:31 +0000)]
Make use of ptesr() instead of rerolling it.
mpi [Fri, 5 Jun 2015 09:30:03 +0000 (09:30 +0000)]
Merge various copies of the same code into a new function to determine
if a PTE is present in the HASH.
Note that atomicity is currently not guaranteed between this check and
the following operations.
ok kettenis@, deraadt@, dlg@
mpi [Fri, 5 Jun 2015 09:25:21 +0000 (09:25 +0000)]
Introduce pmap_pted_ro() a simple wrapper for the 32/64 bits versions
that does not call pmap_vp_lookup().
Carreful readers would have notice the removal of the bits on the virtual
address with a page mask, this change allows me to find the 13 years old
bug fixed in r1.145.
ok kettenis@, deraadt@, dlg@
mpi [Fri, 5 Jun 2015 09:18:50 +0000 (09:18 +0000)]
Do only one VP lookup when removing a page.
This simplify pmap_remove() & friends by re-using an already fetched PTE
descriptor.
There's currently a race on MP system where one CPU can reuse a pted
while another one is still trying to insert it in the HASH. This commit
starts reducing the number of pmap_vp_lookup() calls to help fix this
race.
ok kettenis@, deraadt@, dlg@
mpi [Fri, 5 Jun 2015 09:09:58 +0000 (09:09 +0000)]
Remove the MANAGED flag when removing a PV entry.
Even if this change is not strickly needed, because the memory will be
returned to the pool it helped me track the use-after-free.
nicm [Fri, 5 Jun 2015 09:09:08 +0000 (09:09 +0000)]
Fix a warning.
mpi [Fri, 5 Jun 2015 09:05:35 +0000 (09:05 +0000)]
Remove unneeded splvm() calls and the pool_setipl(9) hack of r1.140.
By instructing spl(9) calls on MP machines I figured out that their high
cost was hiding a race condition involving PTE reuse in our pmap. Thanks
to deraadt@ for finding a way to trigger such panic by adding a couple of
splvm().
This should make the races easier to trigger but will be addressed
shortly.
This commit starts your PowerPC pmap SMP show of the week.
ok kettenis@, deraadt@, dlg@
nicm [Fri, 5 Jun 2015 08:14:16 +0000 (08:14 +0000)]
Make it so that if a window or session target is prefixed with an =,
only an exact name or index match is accepted, no special character,
prefix match, or fnmatch.
jsg [Fri, 5 Jun 2015 05:39:54 +0000 (05:39 +0000)]
Use p15 for the coprocessor name not 15. gas accepts both forms, clang
won't accept just a number which a comment in the gas code mentions is
for backward compatibility.
stsp [Fri, 5 Jun 2015 05:24:19 +0000 (05:24 +0000)]
regen
stsp [Fri, 5 Jun 2015 05:24:08 +0000 (05:24 +0000)]
Add another PCI ID for Intel Dual Band Wireless AC 3165. From brad.
djm [Fri, 5 Jun 2015 03:44:14 +0000 (03:44 +0000)]
typo: accidental repetition; bz#2386
deraadt [Thu, 4 Jun 2015 23:30:14 +0000 (23:30 +0000)]
sync
nicm [Thu, 4 Jun 2015 23:27:51 +0000 (23:27 +0000)]
Move the nested check from client to server and compare the client tty
name to all the pane pty names instead of comparing socket paths. This
means that "new -d" will work without unsetting $TMUX.
stsp [Thu, 4 Jun 2015 23:08:21 +0000 (23:08 +0000)]
Mention rtwn(4) in pci(4). Reminded by brad.
nicm [Thu, 4 Jun 2015 22:56:33 +0000 (22:56 +0000)]
systrace(4) STRIOCATTACH can only fail for file(1) if it is already
systraced. If so, silently ignore the error and do not attempt to apply
our own systrace policy. From Patrick Keshishian.
stsp [Thu, 4 Jun 2015 22:29:31 +0000 (22:29 +0000)]
man page for rtwn(4)
stsp [Thu, 4 Jun 2015 22:14:51 +0000 (22:14 +0000)]
enable rtwn(4) on i386
stsp [Thu, 4 Jun 2015 21:29:06 +0000 (21:29 +0000)]
Enable rtwn(4) on amd64.
stsp [Thu, 4 Jun 2015 21:13:12 +0000 (21:13 +0000)]
attach rtwn at pci
stsp [Thu, 4 Jun 2015 21:08:40 +0000 (21:08 +0000)]
New rtwn(4) driver for RTL8188CE wifi cards.
This is a PCI card from the same chip family as supported by urtwn(4) on USB.
Development started in 2013 using urtwn(4) as a starting point but was dormant
for much of the time since. I finally unslacked after uwe@ provided help with
lifting this driver on its feet. As usual we got helpful hints from Theo.
Requires firmware which will be available in ports soon.
There are rate adaptation issues that still need to be fixed, cause unknown.
In my testing the hardware rarely transmits more than 1Mbit/s.
Committing over MAC/BB RTL8188CE, RF 6052 1T1R.
jmc [Thu, 4 Jun 2015 20:34:22 +0000 (20:34 +0000)]
tweak SYNOPSIS and usage();
eric [Thu, 4 Jun 2015 19:26:39 +0000 (19:26 +0000)]
force reseeding if pid has changed.
ok deraadt@
eric [Thu, 4 Jun 2015 19:23:17 +0000 (19:23 +0000)]
make sure to check for resolv.conf update the first time the resolver
is used after pid has changed.
ok deraadt@
deraadt [Thu, 4 Jun 2015 18:49:28 +0000 (18:49 +0000)]
sync
deraadt [Thu, 4 Jun 2015 18:46:43 +0000 (18:46 +0000)]
+ REALTEK RT8191SE
dms [Thu, 4 Jun 2015 18:33:41 +0000 (18:33 +0000)]
Add support for em(4) on Teak 3020, a Tolopai (EP80579)
based devices. This introduces Realtek PHY into em driver
code and is only a temporary solution to the problem.
OK deraadt@
kettenis [Thu, 4 Jun 2015 18:01:44 +0000 (18:01 +0000)]
The (no quite so) new kernel perfpolicy code calls cpu_setperf() from a
timeout. Unfortunately the smu(4) CPU voltage slewing code sleeps, which
causes a kernel panic. Prevent this by delegating the CPU frequency switching
and voltage slewing to a task.
ok mpi@
dms [Thu, 4 Jun 2015 17:42:59 +0000 (17:42 +0000)]
regen
dms [Thu, 4 Jun 2015 17:42:12 +0000 (17:42 +0000)]
Add more of Tolopai (EP80579) Gigabit controllers id.
mikeb [Thu, 4 Jun 2015 17:10:33 +0000 (17:10 +0000)]
Check if interface was stopped before calling rx/tx interrupt routines.
Report & tests by mxb@alumni.chalmers.se, thanks!
OK deraadt, chris
nicm [Thu, 4 Jun 2015 14:29:33 +0000 (14:29 +0000)]
Make unsetting a global option restore it to the default. Diff lying
around for a while, I have forgotten who suggested it :-/.
sobrado [Thu, 4 Jun 2015 14:23:00 +0000 (14:23 +0000)]
spacing, makes example fit on display.
no objection from gilles@
nicm [Thu, 4 Jun 2015 11:43:51 +0000 (11:43 +0000)]
Add support for a single "marked pane". There is one marked pane in the
server at a time; it may be toggled or cleared with select-pane -m and
-M (the border is highlighted). A new target '~' or '{marked}' specifies
the marked pane to commands and it is the default target for the
swap-pane and join-pane -s flag (this makes them much simpler to use -
mark the source pane and then change to the target pane to run swapp or
joinp).
mpi [Thu, 4 Jun 2015 09:51:15 +0000 (09:51 +0000)]
Remove unused sa_dl.
nicm [Thu, 4 Jun 2015 09:42:29 +0000 (09:42 +0000)]
teminal -> terminal, from Corey Farwell.
jsg [Thu, 4 Jun 2015 06:11:21 +0000 (06:11 +0000)]
Switch intel_gmbus_is_port_valid and intel_gmbus_is_forced_bit from
extern inline back to static inline so the kernel will build on
compilers that default to c99 inline semantics.
jsg [Thu, 4 Jun 2015 06:07:23 +0000 (06:07 +0000)]
use mallocarray instead of malloc in drm_calloc
jsg [Thu, 4 Jun 2015 06:03:11 +0000 (06:03 +0000)]
remove the now unused alawtolin16 table
ok ratchov@
bcallah [Wed, 3 Jun 2015 23:40:01 +0000 (23:40 +0000)]
Remove unused defines and functions.
"Looks fine." deraadt@
mikeb [Wed, 3 Jun 2015 22:01:07 +0000 (22:01 +0000)]
Adjust yielding condition slightly in the if_input_process thread.
ok mpi, kettenis
reyk [Wed, 3 Jun 2015 20:43:21 +0000 (20:43 +0000)]
Turn off -Werror in relayctl.
reyk [Wed, 3 Jun 2015 19:57:53 +0000 (19:57 +0000)]
Remove -Werror from the Makefile: as it happened with asprintf, it
breaks the tree if any new compiler warnings get enabled, especially
with -Wall. We do not want to use it in the tree, except for some
very special places.
As discussed with deraadt@
reyk [Wed, 3 Jun 2015 19:51:16 +0000 (19:51 +0000)]
It is better to check the asprintf return value for -1 instead of the
input buffer for NULL.
Found by adding __attribute((__warn_unused_result__)) to asprintf.
OK deraadt@
millert [Wed, 3 Jun 2015 18:08:54 +0000 (18:08 +0000)]
Treat a missing mail spool the same as a zero-length mail spool
unless the -f option was specified. OK deraadt@
millert [Wed, 3 Jun 2015 16:26:04 +0000 (16:26 +0000)]
snprintf(3) is available on all modern systems and asprintf(3) is
available on more systems these days. OK deraadt@
mpi [Wed, 3 Jun 2015 15:43:55 +0000 (15:43 +0000)]
Unify .Nd blocks, prodded by and ok jmc@