Commit Graph

20078 Commits

Author SHA1 Message Date
Ed Maste
d777076f29 security.7: add caveat about interim sysctl paths from r355436
r355436 moved mitigation sysctls to machdep.mitigations but did not
rationalize the sense of the invidual knobs.  Clarify that the old
names remain the canonical way to set these mitigations.

Backwards compatibility will be maintained for the original names
(e.g. hw.ibrs_disable), but not from the interim names
(e.g. machdep.mitigations.ibrs.disable).

Sponsored by:	The FreeBSD Foundation
2019-12-11 16:43:54 +00:00
John Baldwin
a8a03706fb Add a callout_func_t typedef for functions used with callout_*().
This typedef is the same as timeout_t except that it is in the callout
namespace and header.

Use this typedef in various places of the callout implementation that
were either using the raw type or timeout_t.

While here, add <sys/callout.h> to the manpage.

Reviewed by:	kib, imp
MFC after:	1 month
Differential Revision:	https://reviews.freebsd.org/D22751
2019-12-10 21:58:30 +00:00
Navdeep Parhar
d7190ba048 cxgbe(4): Man page updates to go with r355107.
MFC after:	1 week
Sponsored by:	Chelsio Communications
2019-12-10 20:51:28 +00:00
Ed Maste
ca74f06a98 remove again nonexistent from-* entries from vt INDEX.keymaps
A number of entries of the form "de.kbd.from-cp850" existed in vt's
INDEX.keymaps, added in r270114, but these files do not exist.

I removed them in r355585 but accidentally re-added them in r355592.
Remove them yet again.

PR:		235564, 235853
MFC after:	1 week
2019-12-10 20:11:39 +00:00
Ed Maste
46035750a4 Add Danish translation for vt font and keymap INDEX files
Also sort some entries into the correct location, correct MacBook
capitalization, etc.

PR:		235853
MFC after:	1 week
Submitted by:	scootergrisen gmail com
2019-12-10 20:02:57 +00:00
Stefan Eßer
746af69907 Replace two remaining hex values for control codes with their names.
These were the only values in the range from 0 to 0x1f that were defined
as hex values, all other occurances have been converted before.

MFC after:	1 week
2019-12-10 19:52:29 +00:00
Bryan Drewery
96aaefdf55 Fix WITHOUT_CLANG build.
This decouples MK_LLVM_TARGET_ALL from MK_CLANG. It is fine if
LLVM_TARGET_* are set even if MK_CLANG is disabled. It never
made sense to depend MK_LLVM_TARGET_* to MK_CLANG (which I did
in r335706).

PR:	        240507
Reported by:	kevans, swills
MFC after:	2 weeks
2019-12-10 18:50:50 +00:00
Ed Maste
be35d6745b remove nonexistent from-* entries from vt INDEX.keymaps
A number of entries of the form "de.kbd.from-cp850" existed in vt's
INDEX.keymaps, added in r270114, but these files do not exist.

PR:		235564
Submitted by:	scootergrisen gmail com
MFC after:	1 week
2019-12-10 14:35:38 +00:00
Ed Maste
061346b271 strip trailing whitespace from font and keymap INDEX files
PR:		235853
Submitted by:	scootergrisen gmail com
MFC after:	1 week
2019-12-10 13:52:08 +00:00
Alex Richardson
2719bb7ebb Use ${.ALLSRC:Ninstalldirs-*} instead of assuming order of .ALLSRC
This is a follow-up to https://reviews.freebsd.org/D22382

Suggested By:	sjg
2019-12-10 12:12:48 +00:00
Ed Maste
00b6911b7f Add missing language specifier for Hebrew il.kbd description
PR:		235094 (related)
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
2019-12-10 03:42:59 +00:00
Takanori Watanabe
7d57de6036 Add ACPI battery subsystem man page.
PR:242100
Differential Revision:	https://reviews.freebsd.org/D22556
2019-12-10 02:19:07 +00:00
Ian Lepore
24fa2fba9d Allow baud rates of 1,228,800 and 1,843,200 on CP2101/2/3 usb-serial adapters.
The datasheets for these chips claim the maximum is 921,600, but testing
shows these two higher rates also work (but no rates above 921,600 other
than these two work; these represent dividing the base buad clock by 3 and 2
respectively).
2019-12-09 21:55:44 +00:00
Ian Lepore
9636a3f109 Connect the gpioths(4) manpage to the build. 2019-12-09 04:15:01 +00:00
Ian Lepore
9a57b9c38c Add a man page for the gpioths(4) driver. 2019-12-09 03:02:54 +00:00
Ian Lepore
acd8b8a17a Fix a typo: the sysctl command is in chapter 8 of the manual, not 4. 2019-12-09 02:29:16 +00:00
Mateusz Guzik
abd80ddb94 vfs: introduce v_irflag and make v_type smaller
The current vnode layout is not smp-friendly by having frequently read data
avoidably sharing cachelines with very frequently modified fields. In
particular v_iflag inspected for VI_DOOMED can be found in the same line with
v_usecount. Instead make it available in the same cacheline as the v_op, v_data
and v_type which all get read all the time.

v_type is avoidably 4 bytes while the necessary data will easily fit in 1.
Shrinking it frees up 3 bytes, 2 of which get used here to introduce a new
flag field with a new value: VIRF_DOOMED.

Reviewed by:	kib, jeff
Differential Revision:	https://reviews.freebsd.org/D22715
2019-12-08 21:30:04 +00:00
Kristof Provost
98730c7f27 pf: Remove references to 'egress'
Avoid giving users the impression that FreeBSD has the automatic interface
group 'egress'.

Submitted by:	tj AT mrsk.me
2019-12-08 02:11:06 +00:00
John Baldwin
0869dceb9d Add a new "riscv-relaxations" linker feature.
When the linker doesn't have this feature, add -mno-relax to CFLAGS
on RISC-V.

Define the feature for ld.bfd, but not lld.  If lld gains relaxation
support in a newer version, we can enable it for those versions of lld
in bsd.linker.mk.

Reviewed by:	mhorne
Sponsored by:	DARPA
Differential Revision:	https://reviews.freebsd.org/D22659
2019-12-05 19:37:30 +00:00
Ian Lepore
fcfe2d6633 Fix a trivial typo and add a missing word. 2019-12-05 04:18:22 +00:00
Warner Losh
f86e60008b Regularize my copyright notice
o Remove All Rights Reserved from my notices
o imp@FreeBSD.org everywhere
o regularize punctiation, eliminate date ranges
o Make sure that it's clear that I don't claim All Rights reserved by listing
  All Rights Reserved on same line as other copyright holders (but not
  me). Other such holders are also listed last where it's clear.
2019-12-04 16:56:11 +00:00
Warner Losh
a7147da9d4 Fix accidentally changed copyright year.
Noticed by: bapt@
2019-12-04 16:55:55 +00:00
Emmanuel Vadot
e213223c9b Remove "all rights reserved" from copyright for the file I own.
Some of the files have both me and Jared McNeill and he gave me
permission to remove it from his files too.
2019-12-03 21:00:45 +00:00
Warner Losh
a339dcccb0 Regularize copyright notices for me.
Remove stray All Rights Reserved and other non-license stuff. Make sure all
copyrights have year.
2019-12-03 15:48:28 +00:00
Edward Tomasz Napierala
359d7273f5 Expand stats(3) man page to add a caveat regarding HZ.
Suggested by:	thj
Sponsored by:	Klara Inc, Netflix
2019-12-02 21:03:09 +00:00
Edward Tomasz Napierala
adc56f5a38 Make use of the stats(3) framework in the TCP stack.
This makes it possible to retrieve per-connection statistical
information such as the receive window size, RTT, or goodput,
using a newly added TCP_STATS getsockopt(3) option, and extract
them using the stats_voistat_fetch(3) API.

See the net/tcprtt port for an example consumer of this API.

Compared to the existing TCP_INFO system, the main differences
are that this mechanism is easy to extend without breaking ABI,
and provides statistical information instead of raw "snapshots"
of values at a given point in time.  stats(3) is more generic
and can be used in both userland and the kernel.

Reviewed by:	thj
Tested by:	thj
Obtained from:	Netflix
Relnotes:	yes
Sponsored by:	Klara Inc, Netflix
Differential Revision:	https://reviews.freebsd.org/D20655
2019-12-02 20:58:04 +00:00
Ian Lepore
56ad49b260 Rewrite gpioiic(4) to use the gpio_pin_* API, and to conform to the modern
FDT bindings document for gpio-i2c devices.

Using the gpio_pin_* functions to acquire/release/manipulate gpio pins
removes the constraint that both gpio pins must belong to the same gpio
controller/bank, and that the gpioiic instance must be a child of gpiobus.
Removing those constraints allows the driver to be fully compatible with
the modern dts bindings for a gpio bitbanged i2c bus.

For hinted attachment, the two gpio pins still must be on the same gpiobus,
and the device instance must be a child of that bus.  This preserves
compatibility for existing installations that have use gpioiic(4) with hints.
2019-12-01 23:05:20 +00:00
Michael Tuexen
b72e56e758 This is an initial step in implementing the new congestion window
validation as specified in RFC 7661.

Submitted by:		Richard Scheffenegger
Reviewed by:		rrs@, tuexen@
Differential Revision:	https://reviews.freebsd.org/D21798
2019-12-01 20:35:41 +00:00
Michael Tuexen
f09a6a3538 Add a description for the TCP sysctl variable rfc6675_pipe.
It was introduced by r290122, but no documentation was provided.
This is taken from https://reviews.freebsd.org/D21798, since it
is not related to the feature added there.

Submitted by:		Richard Scheffenegger
MFC after:		1 week
2019-12-01 19:20:28 +00:00
Kyle Evans
1b50b999f9 tty: implement TIOCNOTTY
Generally, it's preferred that an application fork/setsid if it doesn't want
to keep its controlling TTY, but it could be that a debugger is trying to
steal it instead -- so it would hook in, drop the controlling TTY, then do
some magic to set things up again. In this case, TIOCNOTTY is quite handy
and still respected by at least OpenBSD, NetBSD, and Linux as far as I can
tell.

I've dropped the note about obsoletion, as I intend to support TIOCNOTTY as
long as it doesn't impose a major burden.

Reviewed by:	bcr (manpages), kib
Differential Revision:	https://reviews.freebsd.org/D22572
2019-11-30 20:10:50 +00:00
Scott Long
33ce28d137 Remove the trm(4) driver
Differential Revision:	https://reviews.freebsd.org/D22575
2019-11-28 02:32:17 +00:00
Scott Long
bc451ea420 Revert r355021. In my haste to grep for Giant, I missed that it was in
conditional ifdefs for this driver.  We will consider removing those ifdefs
in the future.

Reported by:	imp
2019-11-26 17:25:49 +00:00
Ed Maste
678898a2b6 update comment (about llvm target config) to match r355095 2019-11-25 18:27:02 +00:00
Ed Maste
d5b068fcea remove armv6 LLVM workaround introduced in r341812
r341812 enabled only arm target support in LLVM on arm and armv6,
because ld.bfd 2.17.50 lacked support for range extensions required for
linking such large binaries/libraries.  r341812 indicated that the
workaround should be removed once the userland can be linked by lld.

r354289 switched armv6 to use lld by default, so remove the workaround
on armv6.  The workaround remains in place for arm (v5), and will
presumably be removed when arm is retired.

Sponsored by:	The FreeBSD Foundation
2019-11-25 18:18:28 +00:00
Eitan Adler
2e3fa849dd bsd-family-tree: correct macOS release date
Reported by: Herbert J. Skuhra <herbert@gojira.at>
Reported by: Maxim Konovalov <maxim.konovalov@gmail.com>
2019-11-24 19:16:57 +00:00
Eitan Adler
71fb754d11 bsd-family-tree: add several new entries
Reviewed by:	imp, scottl
Differential Revision:	https://reviews.freebsd.org/D22529
2019-11-24 07:52:35 +00:00
Scott Long
02d4535d2d Mark hpt27xx for removal in 13.0; all CAM drivers will be Giant-free by then.
Relnotes:	yes
2019-11-22 20:23:22 +00:00
Scott Long
8823960b8d Schedule the trm(4) driver for removal. It relies on Giant and thus has
required compat shims in CAM for 12 years.

Relnotes:	yes
2019-11-22 18:50:53 +00:00
Brooks Davis
edb0ec001e Revert r354909: Make the warning for deprecated NO_ variables an error.
An unexpectidly large number of ports define NO_MAN (and sometimes the
long-dead NOMAN).  I'll fix ports and then re-commit.
2019-11-22 18:41:09 +00:00
Mark Johnston
003cf08ba9 Revise the page cache size policy.
In r353734 the use of the page caches was limited to systems with a
relatively large amount of RAM per CPU.  This was to mitigate some
issues reported with the system not able to keep up with memory pressure
in cases where it had been able to do so prior to the addition of the
direct free pool cache.  This change re-enables those caches.

The change modifies uma_zone_set_maxcache(), which was introduced
specifically for the page cache zones.  Rather than using it to limit
only the full bucket cache, have it also set uz_count_max to provide an
upper bound on the per-CPU cache size that is consistent with the number
of items requested.  Remove its return value since it has no use.

Enable the page cache zones unconditionally, and limit them to 0.1% of
the domain's pages.  The limit can be overridden by the
vm.pgcache_zone_max tunable as before.

Change the item size parameter passed to uma_zcache_create() to the
correct size, and stop setting UMA_ZONE_MAXBUCKET.  This allows the page
cache buckets to be adaptively sized, like the rest of UMA's caches.
This also causes the initial bucket size to be small, so only systems
which benefit from large caches will get them.

Reviewed by:	gallatin, jeff
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D22393
2019-11-22 16:30:47 +00:00
Eric Joyner
52e8f6a331 bitstring: add functions to find contiguous set/unset bit sequences
Add bit_ffs_area_at and bit_ffc_area_at functions for searching a bit
string for a sequence of contiguous set or unset bits of at least the
specified size.

The bit_ffc_area function will be used by the Intel ice driver for
implementing resource assignment logic using a bitstring to represent
whether or not a given index has been assigned or is currently free.

The bit_ffs_area, bit_ffc_area_at and bit_ffs_area_at functions are
implemented for completeness.

I'd like to add further test cases for the new functions, but I'm not
really sure how to add them easily. The new functions depend on specific
sequences of bits being set, while the bitstring tests appear to run for
varying bit sizes.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>

Submitted by:	Jacob Keller <jacob.e.keller@intel.com>
Reviewed by:	asomers@, erj@
MFC after:	1 week
Sponsored by:	Intel Corporation
Differential Revision:	https://reviews.freebsd.org/D22400
2019-11-21 19:57:56 +00:00
Warner Losh
c3bd3d1cc7 Install bsd.sysdir.mk.
Submitted by: Jung-uk Kim
2019-11-21 19:54:10 +00:00
John Baldwin
9ab286b7c1 Add a kmod.opts.mk.
This Makefile sets KERN_OPTS.  This permits kernel module Makefiles to
use KERN_OPTS to control the value of variables such as SRCS that are
used by bsd.kmod.mk for KERN_OPTS values that honor WITH/WITHOUT
options for standalone builds.
2019-11-21 18:14:26 +00:00
Warner Losh
3cc5d6a470 Introduce bsd.sysdir.mk to consolidate looking for the kernel.
Reviewed by: jhb
Differential Revision: https://reviews.freebsd.org/D22144
2019-11-21 15:59:33 +00:00
Ed Maste
8b3c5418f4 arch.7: document only FreeBSD 11.0 and later
FreeBSD 11 is the earliest supported version and there is no longer a
need to include information about differences present in earlier
releases.
2019-11-21 14:23:16 +00:00
Warner Losh
c81e4a699b Include MACHINE in the which variable selection to use section. 2019-11-21 06:48:30 +00:00
Warner Losh
7b692b8e0f Add table for MACHINE_CPUARCH
Add table and also some additional verbage of which one to use.
2019-11-21 06:44:19 +00:00
Gleb Smirnoff
71f0077631 Remove sio(4).
It had been disconnected from build in r181233 in 2008.

Reviewed by:	imp
2019-11-21 01:24:49 +00:00
Warner Losh
6467506baf Create /etc/os-release file.
Each boot, regenerate /var/run/os-release based on the currently running
system. Create a /etc/os-release symlink pointing to this file (so that this
doesn't create a new reason /etc can not be mounted read-only).

This is compatible with what other systems do and is what the sysutil/os-release
port attempted to do, but in an incomplete way. Linux, Solaris and DragonFly all
implement this natively as well. The complete standard can be found at
https://www.freedesktop.org/software/systemd/man/os-release.html

Moving this to the base solves both the non-standard location problem with the
port, as well as the lack of update of this file on system update.

Bump __FreeBSD_version to 1300060

PR: 238953
Differential Revision:  https://reviews.freebsd.org/D22271
2019-11-20 23:45:31 +00:00
Warner Losh
599d032a6d Standardize EFI's ESP mount point.
Mount the UEFI ESP on /boot/efi. No current system uses this by default, but
there are many ad-hoc schemes that do this in /efi or /esp or /uefi and adding a
new directory at the top-level would have a much higher likelihood of
collision. Document this in /etc/mtree/BSD.root.mtree and create EFIDIR and
related variables in bsd.own.mk.

Differential Revision: https://reviews.freebsd.org/D21344
2019-11-20 21:06:29 +00:00