Commit Graph

19265 Commits

Author SHA1 Message Date
Dimitry Andric
89edb881e6 Add optional LLVM BPF target support
BPF (eBPF) is an independent instruction set architecture which is
introduced in Linux a few years ago. Originally, eBPF execute
environment was only inside Linux kernel. However, recent years there
are some user space implementation (https://github.com/iovisor/ubpf,
https://doc.dpdk.org/guides/prog_guide/bpf_lib.html) and kernel space
implementation for FreeBSD is going on
(https://github.com/YutaroHayakawa/generic-ebpf).

The BPF target support can be enabled using WITH_LLVM_TARGET_BPF, as it
is not built by default.

Submitted by:	Yutaro Hayakawa <yhayakawa3720@gmail.com>
Reviewed by:	dim, bdrewery
Differential Revision: https://reviews.freebsd.org/D16033
2018-08-09 21:28:31 +00:00
Navdeep Parhar
518bca2c21 cxgbe(4): Set fl_pktshift to 0 by default.
Sponsored by:	Chelsio Communications
2018-08-09 21:07:32 +00:00
John Baldwin
a6bb5342e3 Correct default path of kernel modules. 2018-08-09 16:42:13 +00:00
Andriy Gapon
27cfcd9599 add an option for ddb ps command to print process arguments
We use ps to collect the information of all processes in textdump. But
it doesn't contain process arguments which however sometimes are very
useful for debugging.  The new 'a' modifier adds that capability.

While here, remove 'm' modifier from ddb.4.  It was in the manual page
from its very first revision, but I could not find any evidence of the
code ever supporting it.

Submitted by:	Terry Hu <thu@panzura.com>
Reviewed by:	kib
MFC after:	1 week
Sponsored by:	Panzura
Differential Revision: https://reviews.freebsd.org/D16603
2018-08-09 11:21:31 +00:00
Kevin Lo
2a7ea45864 Follow up to r333195, add us Macbook/Macbook Pro keyboard support.
Tested by:	rcyu
2018-08-09 09:06:30 +00:00
Alan Somers
47cc9ee1b1 Switch the default pager for most commands to less
Finally, a pager for the nineties.

MFC after:	Never
Relnotes:	Yes
Differential Revision:	https://reviews.freebsd.org/D13465
Poll:		https://reviews.freebsd.org/V7
2018-08-08 19:24:20 +00:00
Bryan Drewery
6a318e696e DIRS: Fix duplicate target warnings. 2018-08-08 19:15:48 +00:00
Bryan Drewery
c16d241dcc DIRS: Ensure existing directory still has permissions set. 2018-08-08 19:15:45 +00:00
Alan Somers
880cdb8805 Bring VOP_LOOKUP(9) up to date
* Remove the cn_hash field (removed by r51906)
* Add the cn_lkflags field (added by r144285)
* Remove duplicate definition of cnp.

Reviewed by:	kib
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D16629
2018-08-08 18:50:42 +00:00
Jonathan T. Looney
9eef6002c3 Bump date after r337384.
Reported by:	bz
2018-08-06 18:42:37 +00:00
Jonathan T. Looney
95a914f631 Address concerns about CPU usage while doing TCP reassembly.
Currently, the per-queue limit is a function of the receive buffer
size and the MSS.  In certain cases (such as connections with large
receive buffers), the per-queue segment limit can be quite large.
Because we process segments as a linked list, large queues may not
perform acceptably.

The better long-term solution is to make the queue more efficient.
But, in the short-term, we can provide a way for a system
administrator to set the maximum queue size.

We set the default queue limit to 100.  This is an effort to balance
performance with a sane resource limit.  Depending on their
environment, goals, etc., an administrator may choose to modify this
limit in either direction.

Reviewed by:	jhb
Approved by:	so
Security:	FreeBSD-SA-18:08.tcp
Security:	CVE-2018-6922
2018-08-06 17:36:57 +00:00
Mateusz Piotrowski
293f5f0209 Fix "mandoc -Tlint" warnings.
Reviewed by:	bcr
Approved by:	mat (mentor)
Differential Revision:	https://reviews.freebsd.org/D15580
2018-08-06 11:45:28 +00:00
Ian Lepore
f38b2297a3 Document 64-bit arm in terms of arch name (aarch64) not machine (arm64).
Other architectures are documented in terms of the name that is displayed by
'uname -p', aka MACHINE_ARCH and TARGET_ARCH in the build system, now
aarch64 matches the rest of them.

PR:		220297
2018-08-05 22:24:38 +00:00
Kristof Provost
91e0f2d200 pf: Increase default hash table size
Now that we (by default) limit the number of states to 100.000 it makse sense
to also adjust the default size of the hash table.

Based on the benchmarking results in
https://github.com/ocochard/netbenches/blob/master/Atom_C2758_8Cores-Chelsio_T540-CR/pf-states_hashsize/results/fbsd12-head.r332390/README.md
128K entries offers a good compromise between performance and memory use.

Users may still overrule this setting with the net.pf.states_hashsize and
net.pf.source_nodes_hashsize loader(8) tunables.
2018-08-05 13:54:37 +00:00
Vladimir Kondratyev
26f3e847c3 uep(4): add evdev support
To compile this driver with evdev support enabled, place
following lines into the kernel configuration file:

options EVDEV_SUPPORT
device evdev

Note: Native and evdev modes are mutually exclusive.

Reviewed by:	gonzo, wblock (docs)
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D11156
2018-08-05 11:14:13 +00:00
Konstantin Belousov
1b534662ad Some updates to vm_map(9).
Remove min_offset, max_offset.  Mention the busy flag.

Prodded by: https://reviews.freebsd.org/D16105.
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2018-08-03 12:14:29 +00:00
Simon J. Gerraty
a6589ab760 Update dirdeps.mk et al to latest
dirdeps.mk and meta.autodep.mk will now look for
Makefile.depend.options
to handle optional dependencies, the work is all done by
dirdeps-options.mk

Also update to latest meta.stage.mk and gendirdeps.mk

Reviewed by:	bdrewery
Differential Revision:	https://reviews.freebsd.org/D15701
2018-08-02 21:33:45 +00:00
Ed Maste
7a9e13ddb2 Regen src.conf.5 after r337057, LLD_BOOTSTRAP on armv7 2018-08-02 12:39:23 +00:00
Ed Maste
800ab3e3c7 Use lld as the bootstrap linker on armv7 by default
As of r336972 lld is capable linking the armv7 kernel and userland,
so enable it by default.

PR:		229050
Reviewed by:	kevans
Tested by:	kevans
Relnotes:	Yes
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D16528
2018-08-01 19:17:55 +00:00
Konstantin Belousov
87842989f8 Add ioctl to conveniently mmap a PCI device BAR into userspace.
Add the ioctl PCIOCBARMMAP on /dev/pci to conveniently create
userspace mapping of a PCI device BAR.  This is enormously superior to
read the BAR value with PCIOCREAD and then try to mmap /dev/mem, and
should allow to automatically activate the mapped BARs when needed in
future.

Current implementation creates new sg pager for each user mmap
request.  If the pointer (and reference) to a managed device pager is
stored in pci_map, we would be able to revoke all mappings on the BAR
deactivation or relocation.  This is related to the unimplemented BAR
activation on mmap, and is postponed for the future.

Discussed with:	imp, jhb
Sponsored by:	The FreeBSD Foundation, Mellanox Technologies
MFC after:	2 weeks
Differential revision:	https://reviews.freebsd.org/D15583
2018-08-01 18:58:24 +00:00
Ravi Pokala
b598845049 Remove jedec_ts(4)
The jedec_ts(4) driver has been marked as deprecated in stable/11, and is
now being removed from -HEAD. Add a notice in UPDATING, and update the few
remaining references (regarding jedec_dimm(4)'s compatibility and history)
to reflect the fact that jedec_ts(4) is now deleted.

Reviewed by:	avg
Relnotes:	yes
Differential Revision:	https://reviews.freebsd.org/D16537
2018-08-01 08:24:34 +00:00
Michael Tuexen
7bda966394 Add a dtrace provider for UDP-Lite.
The dtrace provider for UDP-Lite is modeled after the UDP provider.
This fixes the bug that UDP-Lite packets were triggering the UDP
provider.
Thanks to dteske@ for providing the dwatch module.

Reviewed by:		dteske@, markj@, rrs@
Relnotes:		yes
Differential Revision:	https://reviews.freebsd.org/D16377
2018-07-31 22:56:03 +00:00
Emmanuel Vadot
cfe196fbed nvmem: Add nvmem interface and helpers
The nvmem interface helps provider of nvmem data to expose themselves to consumer.
NVMEM is generally present on some embedded board in a form of eeprom or fuses.
The nvmem api are helpers for consumer to read/write the cell data from a provider.

Differential Revision:	https://reviews.freebsd.org/D16419
2018-07-31 19:08:24 +00:00
Alan Somers
6040822c4e Make timespecadd(3) and friends public
The timespecadd(3) family of macros were imported from NetBSD back in
r35029. However, they were initially guarded by #ifdef _KERNEL. In the
meantime, we have grown at least 28 syscalls that use timespecs in some
way, leading many programs both inside and outside of the base system to
redefine those macros. It's better just to make the definitions public.

Our kernel currently defines two-argument versions of timespecadd and
timespecsub.  NetBSD, OpenBSD, and FreeDesktop.org's libbsd, however, define
three-argument versions.  Solaris also defines a three-argument version, but
only in its kernel.  This revision changes our definition to match the
common three-argument version.

Bump _FreeBSD_version due to the breaking KPI change.

Discussed with:	cem, jilles, ian, bde
Differential Revision:	https://reviews.freebsd.org/D14725
2018-07-30 15:46:40 +00:00
Ed Maste
3f6cd86b65 Revert accidental change from r336908
By default ld.lld should be the bootstrap linker (only) on i386 right
now.  Once the i386 exp-run with LLD_IS_LD has a good result this will
also be enabled by default.

Reported by:	andrew
Pointy hat to:	emaste
2018-07-30 15:10:06 +00:00
Ed Maste
0d84986542 Makefile.libcompat: correctly append to make variable
Reported by:	hselasky
Pointy hat to:	emaste
2018-07-30 14:42:59 +00:00
Ed Maste
0f17b0b587 Regen src.conf.5 after r336901, WITH_LLD_BOOTSTRAP on i386
Sponsored by:	The FreeBSD Foundation
2018-07-30 12:58:33 +00:00
Ed Maste
f1a0604de4 Enable ld.lld as bootstrap linker by default on i386
Akin to r327783 for amd64.  lld has been usable for amd64 for quite some
time, but a couple of issues remained that affected i386.  These were
recently addressed upstream in lld and merged into FreeBSD or addressed
directly in FreeBSD (r326831, r326879, r326897, r326957, r333401,
r334626, r336664).

Similarly to the intial amd64 commit this change enables lld only as the
bootstrap linker (used to link the kernel and userland libraries and
executables), while GNU ld.bfd is still installed as /usr/bin/ld and
used for ports builds.  That will be changed shortly, after an exp-run.

This is a recommit of r327823 after additional lld fixes.

PR:		225128 (exp-run)
Relnotes:	Yes
Sponsored by:	The FreeBSD Foundation
2018-07-30 12:38:08 +00:00
Brad Davis
d26b89d9b6 Whitespace only change, no functional change intended.
The padding makes it much easier to read, but occasionally means that commits
like this one have to be done to follow up.  I intentionally kept this
separate from r336841 to try and make things easier to follow later on.

Approved by:	bapt (mentor)
2018-07-28 20:31:03 +00:00
Brad Davis
c696b89541 Fix `make distribute' installing some configs which means CONFS was broken
with etcupdate and mergemaster.

Approved by:	bapt (mentor)
Differential Revision:	https://reviews.freebsd.org/D16478
2018-07-28 20:26:25 +00:00
Warner Losh
6db50e1df0 Remove npe.4. It was removed as part of the xscale removal. 2018-07-27 23:28:35 +00:00
Brad Davis
29c3c889cb Avoid a install(1) crash by not using -C when the source is /dev/null
Approved by:	allanjude (mentor)
Differential Revision:	https://reviews.freebsd.org/D16476
2018-07-27 22:46:42 +00:00
Warner Losh
888a313927 Remove xscale support.
As discussed in arm@.  This is a scaled back version of the prior
commit because xscale is overlaoded in places to mean armv5 or
similar.  The OLD XSCALE stuff hasn't been useful in a while. The
original committer (cognet@) was the only one that had boards for
it. He's blessed this removal. Newer XSCALE (GUMSTIX) is for hardware
that's quite old. After discussion on arm@, it was clear there was no
support for keeping it.

Noticed by: andrew@
2018-07-27 21:25:07 +00:00
Warner Losh
c81b12e0d7 Revert r336773: it removed too much.
r336773 removed all things xscale. However, some things xscale are
really armv5. Revert that entirely. A more modest removal will follow.

Noticed by: andrew@
2018-07-27 21:25:01 +00:00
Warner Losh
2a00ef5c35 Forgot to delete the link as well for npe. 2018-07-27 20:07:40 +00:00
Warner Losh
626930c2fd Remove xscale support
The OLD XSCALE stuff hasn't been useful in a while. The original
committer (cognet@) was the only one that had boards for it. He's
blessed this removal. Newer XSCALE (GUMSTIX) is for hardware that's
quite old. After discussion on arm@, it was clear there was no support
for keeping it.

Differential Review: https://reviews.freebsd.org/D16313
2018-07-27 18:33:09 +00:00
Eitan Adler
f324fafcc5 Feex a cuple of small typos 2018-07-27 10:44:38 +00:00
Eitan Adler
33f4bccaa6 Use https over http for FreeBSD pages 2018-07-27 10:40:48 +00:00
Brad Davis
7b821f55bd Convert bsd.files.mk to support DIRS and simplify by only having one install
target.

Also update the pfctl tests Makefile to work with this change.

Approved by:	bapt (mentor)
Differential Revision:	https://reviews.freebsd.org/D16430
2018-07-26 17:05:33 +00:00
Ruslan Bukin
7ddf05ed5b Disable OFED for RISC-V: it does not build.
Sponsored by:	DARPA, AFRL
2018-07-26 14:15:04 +00:00
John Baldwin
513fdd50ee Install base gdb in /usr/libexec for 32-bit arm by default.
kgdb in ports now supports 32-bit arm kernels.  sparc64 is now the only
remaining architecture which ships base gdb in /usr/bin.

Relnotes:	yes
2018-07-25 18:21:14 +00:00
Ruslan Bukin
8e8fbf193d Disable 'C'-compressed ISA extension.
It works excellent, but KDB disassembler and DTrace FBT provider for
RISC-V do lack support for it. They currently handle 4-byte instructions
only, while C-compressed ISA extension introduces 2-byte instructions
freely mixing them together.

So disable it for now.

Reviewed by:	markj@
Sponsored by:	DARPA, AFRL
Differential Revision:	https://reviews.freebsd.org/D16436
2018-07-25 16:07:35 +00:00
Eitan Adler
7cfbbfc2a9 bsd-family-tree: Announce NetBSD 8.0
Use the correct date...
2018-07-25 03:29:29 +00:00
Eitan Adler
9a2d6a8ed4 bsd-family-tree: Announce NetBSD 8.0
Obtained from:	https://www.netbsd.org/releases/formal-8/
2018-07-25 03:24:05 +00:00
Brad Davis
eed76687f0 Actually install bsd.dirs.mk
Approved by:	allanjude (mentor)
Differential Revision:	https://reviews.freebsd.org/D16434
2018-07-25 00:33:09 +00:00
Ravi Pokala
6bdda3346c Update .Dd in light of r336662.
MFC after:	1 week
X-MFC-With:	r336662
Pointy-hat to:	rpokala
2018-07-24 19:21:11 +00:00
Bjoern A. Zeeb
0a758cf6a5 Updated .Dd missed in r336674. 2018-07-24 18:51:38 +00:00
David C Somayajulu
318363dbfd Update man page with support for 41000 Series adapters
MFC after:5 days
2018-07-24 18:39:46 +00:00
John Hixson
d7aabdd96c Add jhixson to committers-ports.dot and calendar.freebsd
Approved by:	miwi (mentor), kmoore (mentor), araujo (mentor)
Differential Revision:	https://reviews.freebsd.org/D16424
2018-07-24 18:33:26 +00:00
Brad Davis
8f958ba91e Convert bsd.confs.mk to support DIRS.
This paves the way for moving config files out of head/etc and into the
directories with the src.

Approved by:	bapt (mentor)
Differential Revision:	https://reviews.freebsd.org/D16406
2018-07-24 16:34:58 +00:00