7045ac43 cognet Jan. 13, 2019, 12:19 a.m.
in 32bits mode, special case amd64, as i386 is the only arch that still
uses 32bits time_t.
cgit ViewVC
e49ec461 cem Jan. 12, 2019, 10:36 p.m.
Family 15h is a bit of an oddball.  Early models used the same temperature
register and spec (mostly[1]) as earlier CPU families.

Model 60h-6Fh and 70-7Fh use something more like Family 17h's Service
Management Network, communicating with it in a similar fashion.  To support
them, add support for their version of SMU indirection to amdsmn(4) and use
it in amdtemp(4) on these models.

While here, clarify some of the deviceid macros in amdtemp(4) that were
added with arbitrary, incorrect family numbers, and remove ones that were
not used.  Additionally, clarify intent and condition of heterogenous
multi-socket system detection.

[1]: 15h adds the "adjust range by -49°C if a certain condition is met,"
which previous families did not have.

Reported by:	D. C. <tjoard AT gmail.com>
PR:		234657
Tested by:	D. C. <tjoard AT gmail.com>
cgit ViewVC
431d31e0 jhibbits Jan. 12, 2019, 10:10 p.m.
The IPI vector is static, and happens to be the most common interrupt by far
on some systems.  Rather than searching for the interrupt every time, cache
the index.

This appears to yield a small performance boost, of about 8% reduction in
buildworld times, on my POWER9 system, when paired with r342975.
cgit ViewVC
56505ec0 jhibbits Jan. 12, 2019, 10:05 p.m.
The XICS and XIVE need extra data beyond irq and vector.  Rather than
performing a separate search, it's better for the general interrupt facility
to hold a private pointer, since the search already must be done anyway at
that level.
cgit ViewVC
5d031e33 jhibbits Jan. 12, 2019, 9:29 p.m.
Summary:
GCC expects to link in a crtsavres.o on powerpc platforms.  On
powerpc64 this is an empty file, but on powerpc and powerpcspe this does contain
some save/restore functions, which may not actually be necessary for newer
modern GCC and clang.  This appeases the in-tree gcc, though, and is needed in
order to switch to the BSD CRTRBEGIN.

PR:	233751
Reviewed By: andrew
Differential Revision: https://reviews.freebsd.org/D18826
cgit ViewVC
be860eae andrew Jan. 12, 2019, 8:41 p.m.
Pointy hat:	andrew
Sponsored by:	DARPA, AFRL
cgit ViewVC
f2aac055 cy Jan. 12, 2019, 5:56 p.m.
Suggested by:	delphij@
Reviewed by:	delphij@ (for secteam@)
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D18786
cgit ViewVC
707347f8 allanjude Jan. 12, 2019, 5:52 p.m.
PR:		229074
X-MFC-With:	335304
Submitted by:	Ali Abdallah <aliovx@gmail.com>
cgit ViewVC
4367c2d1 avos Jan. 12, 2019, 2:57 p.m.
Check if rate control structures were allocated before trying to
access them in various places; this was possible before on
allocation failure (unlikely), but was revealed after r342211
where allocation was deferred.

In case if driver uses wlan_amrr(4) and it is loaded it
is possible to reproduce the panic via

sysctl net.wlan.<number>.rate_stats

(for wlan0 the number will be 0).

Tested with: RTL8188EE, AP mode + RTL8188CUS, STA mode.

MFC after:	3 days
cgit ViewVC
31afdd6f nyan Jan. 12, 2019, 12:57 p.m.
PR:		234239
MFC after:	1 week
cgit ViewVC
1da80a2c nyan Jan. 12, 2019, 12:35 p.m.
bc.y: Rev 1.50
- write parse errors to stderr, prompted by Martijn Dekker
- we're only interactive if stdout en stderr are a tty as well as stdin

PR:		234430
Obtained from:	OpenBSD
MFC after:	1 week
cgit ViewVC
c1bc2f7a andrew Jan. 12, 2019, 11:50 a.m.
atomic_store_64 and atomic_store_64.

Sponsored by:	DARPA, AFRL
cgit ViewVC
b3c0d957 andrew Jan. 12, 2019, 11:21 a.m.
When building with KCOV enabled the compiler will insert function calls
to probes allowing us to trace the execution of the kernel from userspace.
These probes are on function entry (trace-pc) and on comparison operations
(trace-cmp).

Userspace can enable the use of these probes on a single kernel thread with
an ioctl interface. It can allocate space for the probe with KIOSETBUFSIZE,
then mmap the allocated buffer and enable tracing with KIOENABLE, with the
trace mode being passed in as the int argument. When complete KIODISABLE
is used to disable tracing.

The first item in the buffer is the number of trace event that have
happened. Userspace can write 0 to this to reset the tracing, and is
expected to do so on first use.

The format of the buffer depends on the trace mode. When in PC tracing just
the return address of the probe is stored. Under comparison tracing the
comparison type, the two arguments, and the return address are traced. The
former method uses on entry per trace event, while the later uses 4. As
such they are incompatible so only a single mode may be enabled.

KCOV is expected to help fuzzing the kernel, and while in development has
already found a number of issues. It is required for the syzkaller system
call fuzzer [1]. Other kernel fuzzers could also make use of it, either
with the current interface, or by extending it with new modes.

A man page is currently being worked on and is expected to be committed
soon, however having the code in the kernel now is useful for other
developers to use.

[1] https://github.com/google/syzkaller

Submitted by:	Mitchell Horne <mhorne063@gmail.com> (Earlier version)
Reviewed by:	kib
Testing by:	tuexen
Sponsored by:	DARPA, AFRL
Sponsored by:	The FreeBSD Foundation (Mitchell Horne)
Differential Revision:	https://reviews.freebsd.org/D14599
cgit ViewVC
f4dbf0d8 hselasky Jan. 12, 2019, 11:14 a.m.
Extend the vendor class USB audio quirk to cover devices without
the USB audio control descriptor.

PR:			234794
MFC after:		1 week
Sponsored by:		Mellanox Technologies
cgit ViewVC
1dca7005 np Jan. 12, 2019, 4:44 a.m.