21138 Commits

Author SHA1 Message Date
Mark Johnston
fd5827b178 man9: Update guarantees for userspace fetch/store operations
Platforms may either silently handle unaligned accesses or return an
error.  Atomicity is not guaranteed in this case, however.

Reviewed by:	kib
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D31282
2021-07-22 13:40:39 -04:00
Mark Johnston
18c696c001 man9: Remove stray .In macros
Fixes:		9c11d8d483c4
MFC after:	1 week
2021-07-22 12:47:43 -04:00
Ceri Davies
a52936f1d5 man9/VOP_LISTEXTATTR.9: correct grammar in .Nd 2021-07-22 16:43:46 +01:00
Ceri Davies
b578d2a77e man/man7/development.7: correct typo in manpage. 2021-07-22 16:43:46 +01:00
Baptiste Daroussin
d6ed0d3d31 ports.7: catchup with the package extension name since pkg 1.17
MFC After:	3 days
2021-07-22 10:50:19 +02:00
Hans Petter Selasky
575945f10b Update the mlx5en(4) manual page.
Differential Revision:	https://reviews.freebsd.org/D31228
Reviewed by:	kib@
MFC after:	1 week
Sponsored by:	NVIDIA Networking
2021-07-21 11:10:31 +02:00
Alex Richardson
f8147dad44 bsd.linker.mk: Detect LLD when built with PACKAGE_VENDOR
Recent versions of homebrew's LLD are built with PACKAGE_VENDOR (since
e7c972b606).
This means that the -v output is now
`Homebrew LLD 12.0.1 (compatible with GNU linkers)` and bsd.linker.mk no
longer detects it as LLD since it only checks whether the first word is
LLD. This change allow me to build on macOS again and should unbreak the
GitHub actions CI.

Reviewed By:	imp, uqs
MFC after:	3 days
Differential Revision: https://reviews.freebsd.org/D31224
2021-07-20 16:10:22 +01:00
Kristof Provost
0351b9875a pf.conf.5: Document new 'match' keyword
Reviewed by:	bcr
Obtained from:	pfSense
MFC after:	2 weeks
Sponsored by:	Rubicon Communications, LLC ("Netgate")
Differential Revision:	https://reviews.freebsd.org/D31117
2021-07-17 12:01:08 +02:00
David Chisnall
cf98bc28d3 Pass the syscall number to capsicum permission-denied signals
The syscall number is stored in the same register as the syscall return
on amd64 (and possibly other architectures) and so it is impossible to
recover in the signal handler after the call has returned.  This small
tweak delivers it in the `si_value` field of the signal, which is
sufficient to catch capability violations and emulate them with a call
to a more-privileged process in the signal handler.

This reapplies 3a522ba1bc852c3d4660a4fa32e4a94999d09a47 with a fix for
the static assertion failure on i386.

Approved by:	markj (mentor)

Reviewed by:	kib, bcr (manpages)

Differential Revision: https://reviews.freebsd.org/D29185
2021-07-16 18:06:44 +01:00
Mark Johnston
5d40fb677a Add some missing osd.9 MLINKs
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
2021-07-16 12:13:51 -04:00
Philip Paeps
b345b7e9e9 Document my shiny new doc commit bit 2021-07-14 11:55:16 +08:00
Trond Endrestol
331d4f3c07 igc(4): Correct the man page section
When not specifying the man page section the man page is set to 'LOCAL'
in the header of the page.

PR:	257145
Reviewed by:	gbe
MFC after:	1 month (when the driver is MFC'ed)
2021-07-13 15:14:24 +02:00
Warner Losh
dc5a0d6d6d ddb(4): improve wording
Incorporate feedback overlooked in revew by wblock@

Sponsored by:		Netflix
Differential Revision:	https://reviews.freebsd.org/D4860
2021-07-12 15:13:13 -06:00
Bryan Drewery
6da773cb1c bsd.compiler.mk: Use CCACHE_PKG_PREFIX as ports now supports. 2021-07-12 12:52:52 -07:00
Peter Grehan
517904de5c igc(4): Introduce new driver for the Intel I225 Ethernet controller.
This controller supports 2.5G/1G/100MB/10MB speeds, and allows
tx/rx checksum offload, TSO, LRO, and multi-queue operation.

The driver was derived from code contributed by Intel, and modified
by Netgate to fit into the iflib framework.

Thanks to Mike Karels for testing and feedback on the driver.

Reviewed by:	bcr (manpages), kbowling, scottl, erj
MFC after:	1 month
Relnotes:	yes
Sponsored by:	Rubicon Communications, LLC ("Netgate")
Differential Revision:	https://reviews.freebsd.org/D30668
2021-07-12 14:57:18 +10:00
Gordon Bergling
5aa1e55b0a hwpmc(4): Fix a typo in the man page date
MFC after:	3 days
2021-07-11 14:53:18 +02:00
David Chisnall
d2b558281a Revert "Pass the syscall number to capsicum permission-denied signals"
This broke the i386 build.

This reverts commit 3a522ba1bc852c3d4660a4fa32e4a94999d09a47.
2021-07-10 20:26:01 +01:00
Warner Losh
d8514fa6f1 mk: LZMA_SUPPORT is unused
Retire LZMA_SUPPORT. It's unused since r332995.

Reviewed by:		delphij
PR:			244302
Sponsored by:		Netflix
Differential Revision:	https://reviews.freebsd.org/D31088
2021-07-10 10:53:35 -06:00
David Chisnall
3a522ba1bc Pass the syscall number to capsicum permission-denied signals
The syscall number is stored in the same register as the syscall return
on amd64 (and possibly other architectures) and so it is impossible to
recover in the signal handler after the call has returned.  This small
tweak delivers it in the `si_value` field of the signal, which is
sufficient to catch capability violations and emulate them with a call
to a more-privileged process in the signal handler.

Approved by:	markj (mentor)

Reviewed by:	kib, bcr (manpages)

Differential Revision: https://reviews.freebsd.org/D29185
2021-07-10 17:19:52 +01:00
Thomas Steen Rasmussen
28f47a199c pf: fallback if $pf_rules fails to load
Support loading a default pf ruleset in case of invalid pf.conf.

If no pf rules are loaded pf will pass/allow all traffic, assuming the
kernel is compiled without PF_DEFAULT_TO_DROP, as is the case in
GENERIC.

In other words: if there's a typo in the main pf_rules we would allow
all traffic. The new default rules minimise the impact of this.

If $pf_program (i.e. pfctl) fails to set $pf_fules and
$pf_fallback_rules_enable is YES we will load $pf_fallback_rules_file if
set, or $pf_fallback_rules.

$pf_fallback_rules can include multiple rules, for example to permit
traffic on a management interface.

$pf_fallback_rules_enable defaults to "NO", preserving historic behaviour.

man page changes by ceri@.

PR:		256410
Reviewed by:	donner, kp
Sponsored by:	semaphor.dk
Differential Revision:	https://reviews.freebsd.org/D30791
2021-07-08 14:22:04 +02:00
Li-Wen Hsu
8dfb002457
man7: Update FreeBSD.org URLs
MFC after:	3 days
2021-07-04 22:07:23 +08:00
Li-Wen Hsu
89c0640c70
share/misc: Update FreeBSD.org URLs
MFC after:	3 days
2021-07-04 22:04:33 +08:00
Pavel Balaev
d12d651f86 EFI RT: resurrect EFIIOC_GET_TABLE
Make it work, but change the interface to be safe for non-root users. In
particular, right now interface only works for the tables which can be
minimally parsed by kernel to determine the table size. Then, userspace can
query the table size, after that it provides a buffer of needed size
and kernel copies out just table to userspace.

Main advantage is that user no longer need to be able to read /dev/mem,
the disadvantage is the need to have minimal parsers aware of the table
types.  Right now the parsers are implemented for ESRT and PROP tables.

Future extension of the present interface might be a return of only
the table physical address, in case kernel does not have suitable
parser yet. Then, a privileged user could read the table from /dev/mem.
This extension, which logically equivalent to the old (non-worked)
EFIIOC_GET_TABLE variant, is not implemented until needed.

Submitted by:	Pavel Balaev <pavel.balaev@3mdeb.com>
MFC after:	2 weeks
Differential revision:	https://reviews.freebsd.org/D30104
2021-07-03 20:06:48 +03:00
Warner Losh
6329ca325e hardclock.9: Refine some details
Refine mistakes from adaptaton of NetBSD's hardclock man page to
FreeBSD:
	o clarify what usermode means
	o clarify how often hardclock is called
	o remove Xr callout(9) since that's done elsewhere

Reviewed by:		mav@
Sponsored by:		Netflix
Differential Revision:	https://reviews.freebsd.org/D30982
2021-07-02 17:10:35 -06:00
Ceri Davies
202edfe357 committers-doc.dot: move myself out of alumni 2021-07-02 19:43:02 +01:00
Ceri Davies
db6eac6821 nvmem(9): install the manpage
This is being installed on all architectures in line with the OF_*
pages.

Discussed with:	fernape, manu
2021-07-02 19:43:02 +01:00
Alex Richardson
2eb9ad4274 Simplify and speed up the kyua build
Instead of having multiple kyua libraries, just include the files as part
of usr.bin/kyua. Previously, we would build each kyua source up to four
times: once as a .o file and once as a .pieo. Additionally, the kyua
libraries might be built again for compat32. As all the kyua libraries
amount to 102 C++ sources the build time is significant (especially when
using an assertions enabled compiler). This change ensures that we build
306 fewer .cpp source files as part of buildworld.

Reviewed By:	brooks
MFC after:	1 week
Differential Revision: https://reviews.freebsd.org/D30967
2021-07-02 09:21:05 +01:00
Ceri Davies
2ce5851295 rc.conf.5: -Tlint fixes. 2021-07-01 22:54:26 +01:00
Ceri Davies
40944510db rc.conf.5: add .Xr to firewall(7), growfs(7), and tuning(7) 2021-07-01 22:54:26 +01:00
Ceri Davies
cd4346a0e4 cd(9): correct minor typo in manpage. 2021-07-01 22:54:25 +01:00
Ceri Davies
1f7d11e636 build.7: remove documentation of "make update"
update target was removed in e290182bcf3895ca659dff111bca6a077c4708b1
2021-07-01 16:52:32 +01:00
Warner Losh
1426907f4d hz.9: update stathz for current usage
Update the stathz description to reflect reality. profhz is the only
thing we should deprecate. Add some implementation notes that describe
the optimizations made to date.

Discusssed with:	emaste
Reviewed by:		kib (prior), jhb (prior), gbe
Sponsored by:		Netflix
Differential Revision:	https://reviews.freebsd.org/D30815
2021-07-01 09:33:03 -06:00
Allan Jude
781c3b5119 Add Thomas Munro to the committers graph
Reported by:	gnn
2021-06-30 20:09:18 +00:00
Fernando Apesteguía
0a0f748641 man: Build manpages for all architectures
Building and installing architecture-specific man pages only raises a number of
problems:

 * The https://www.freebsd.org/cgi/man.cgi is incomplete. As an
   example, it does not show results for pae(4). The reason for this is
   that the cgi interface runs on FreeBSD amd64.

 * In FreeBSD amd64 some manual pages have broken X-refs. See hptrr(4)
   for an example.

 * Also, we have broken links in our Release Notes. This is a
   consequence of the first point. See
   https://www.freebsd.org/releases/13.0R/hardware/#proc-i386.

Make MAN_ARCH default to 'all' so we build all the man pages for all the
architectures. The difference in disk space is negligible. Also link
architecture-specific man pages to their own section while keeping their own
namespace.

PR: 212290
Reported by:	mj@bsdops.com
Approved by:	ceri@, wosch@
MFC after:	4 weeks
2021-06-30 09:57:51 +02:00
Ed Maste
f94360971e Clarify notice for profiled libraries in FreeBSD 14
Reported by:	kevans
Fixes:		175841285e28 ("Add deprecation notice for...")
Sponsored by:	The FreeBSD Foundation
2021-06-28 19:24:56 -04:00
Robert Wing
c7a7e547a5 vn_isdisk(9): update after r364372
Reviewed by:	mjg
Differential Revision:	https://reviews.freebsd.org/D30874
2021-06-28 10:27:27 -08:00
Ed Maste
914b6a0122 src.conf.5: regen after RISC-V OPENMP (aa033e0b14f2)
Sponsored by:	The FreeBSD Foundation
2021-06-27 13:30:08 -04:00
Michael Tuexen
870af3f4dc tcp: tolerate missing timestamps
Some TCP stacks negotiate TS support, but do not send TS at all
or not for keep-alive segments. Since this includes modern widely
deployed stacks, tolerate the violation of RFC 7323 per default.

Reviewed by:		rgrimes, rrs, rscheff
MFC after:		3 days
Differential Revision:	https://reviews.freebsd.org/D30740
Sponsored by:		Netflix, Inc.
2021-06-27 16:03:57 +02:00
Warner Losh
520a2401a6 bsd-family-tree: Add 2.8BSD relationship to Research 7th edition
In the 2BSD line, the 2.8BSD tapes were the first ones to include a
kernel, both source and a bootable tape. This was an AT&T V7 kernel,
with a number of bug fixes; new features in use at Berkeley; performance
enhancements that were circulating to V7 in the licensee community; and
build system changes. Based on the TUHS archives, it contains none of
the V32 changes, however.

In addition to the source code analysis, Mike Karels relates the story
of how his group lost a customizes to V6 on a PDP-11/40 due to a disk
crash. Since V7 just came out and Bill Jolitz had just brought that up
elsewhere, they replaced their customized V6 with a V7 system, and that
base would eventually become 2.8BSD. (Quarter Century of Unix)

Given both lines of evidence, add a direct line from V7 Unix to 2.8BSD.

Also confirmed that the V6 line to 1BSD and 2BSD was appropriate. 1BSD
and 2BSD included ashell(1) and ex(1). ashell(1) was derived from v6
hell. ex(1) was an enhanced v6 ed.  2.8BSD included process control and
user-land utilities from 4.1BSD

Discussed with:		Clem Cole, Diomidis Spinellis (dds)
Differential Revision:	https://reviews.freebsd.org/D30883
2021-06-25 11:30:12 -06:00
Piotr Kubaj
aa033e0b14 Enable OPENMP on riscv64* by default.
Differential revision:	https://reviews.freebsd.org/D30862
Approved by:	mhorne
2021-06-25 16:22:50 +02:00
Warner Losh
779b70a226 bsd-family-tree: add DragonFly 6.0.0
Tagged on May 8, 2021.

Sponsored by:		Netflix
2021-06-24 10:43:18 -06:00
Marcin Wojtas
e34856a2c4 Update ENA driver man page
Bring the obsolete man page up to date:
* update diagnostic error messages
* add documentation of loader tunables
* document netmap support
* add a driver history section
* update the contact information

Submitted by: Artur Rojek <ar@semihalf.com>
Submitted by: Michal Krawczyk <mk@semihalf.com>
Obtained from: Semihalf
MFC after: 2 weeks
Sponsored by: Amazon, Inc.
2021-06-24 16:35:37 +02:00
Marcin Wojtas
19aa95e4b3 Introduce new driver for NXP Ethernet controller
ENETC it a gigabit Ethernet controller found on the LS1028A board.
It supports basic VLAN offloads - tag extraction, injection and hardware
filtering. Inband MDIO connectivity is used for link status
monitoring through the miibus interface. Fixed-link mode is also
supported, which allows for operation of internal cpu to switch port.
Since no admin interrupts are present in hardware, link status polling
has to be used.
Due to a hardware bug software reset of the NIC results in a external
abort. Because of that most of the hardware initialization is done
during attach. This also means that in the case of an fatal error full
board reset is required.
The enetc_hw.h header was imporoted from Linux. It is dual licensed.

Submitted by: Kornel Duleba <mindal@semihalf.com>
Obtained from: Semihalf
Sponsored by: Alstom Group
Differential Revision: https://reviews.freebsd.org/D30729
2021-06-24 13:01:13 +02:00
Warner Losh
ddfc9c4c59 newbus: Move from bus_child_{pnpinfo,location}_src to bus_child_{pnpinfo,location} with sbuf
Now that the upper layers all go through a layer to tie into these
information functions that translates an sbuf into char * and len. The
current interface suffers issues of what to do in cases of truncation,
etc. Instead, migrate all these functions to using struct sbuf and these
issues go away. The caller is also in charge of any memory allocation
and/or expansion that's needed during this process.

Create a bus_generic_child_{pnpinfo,location} and make it default. It
just returns success. This is for those busses that have no information
for these items. Migrate the now-empty routines to using this as
appropriate.

Document these new interfaces with man pages, and oversight from before.

Reviewed by:		jhb, bcr
Sponsored by:		Netflix
Differential Revision:	https://reviews.freebsd.org/D29937
2021-06-22 20:52:06 -06:00
Dmitry Chagin
e013e36939 linux(4): Get rid of Linuxulator kernel build options.
Stop confusing people, retire COMPAT_LINUX and COMPAT_LINUX32 kernel
build options. Since we have 32 and 64 bit Linux emulators, we can't build both
emulators together into the kernel. I don't think it matters, Linux emulation
depends on loadable modules (via rc).

Cut LINPROCFS and LINSYSFS for consistency.

PR:			215061
Reviewed by:		bcr (manpages), trasz
Differential Revision:	https://reviews.freebsd.org/D30751
MFC after:		2 weeks
2021-06-22 08:32:39 +03:00
Alex Richardson
ab0c68ba4a Emit an error when we seen absolute paths to .o files
This is usually an error caused by using an absolute path in SRCS. This
happened to me in 83c20b8a2da0 due to changing LDADD to SRCS.
I did not notice that this had created a .o file inside the source tree
since .gitignore contains "*.o" and therefore git did not report any
changes.

Adding this warning message to bsd.lib.mk/bsd.prog.mk should prevent
issues like this in the future.

There was exactly one case of an absolute OBJS path in the current source
tree but that was removed in e713d3a013882893fceb84dd14569052271497a9.

Reviewed By:	emaste (earlier version), imp
Differential Revision: https://reviews.freebsd.org/D28467
2021-06-21 16:13:54 +01:00
Emmanuel Vadot
af5e40770e pkgbase: Put the mibs and defs in the bnsmp package
Differential Revision:	https://reviews.freebsd.org/D30756
Sponsored by:	Diablotin Systems
2021-06-19 17:50:03 +02:00
Emmanuel Vadot
79ac3c12a7 pkgbase: Put dtrace in its own package
While dtrace is usefull some people might not want it.

Differential Revision:	https://reviews.freebsd.org/D30752
Sponsored by:	Diablotin Systems
2021-06-19 17:49:31 +02:00
Emmanuel Vadot
395d907e61 regulator: Add manpage for this framework
Reviewed by:	imp, mmel
Differential Revision:	https://reviews.freebsd.org/D30762
Sponsored by:	Diablotin Systems
2021-06-19 17:42:43 +02:00
Warner Losh
4c0bc59146 man9: add hz(9) and hardclock(9)
Document aspects of system time keeping. Hz is the nominal rate that we
interrupt the system and is known and the 'tick' period of 1 / hz.
hardclock is the routine that does various bits of timekeeping.  stathz
and profhz are documented as historical relics that are deprecated
and replaced by hwpmc.4 and others.

Reviewed by:		phk@, mav@ and gnn@ (previous version)
Obtained from:		hardclock.9 from NetBSD (with FreeBSD adjustments)
Sponsored by:		Netflix
Differential Revision:	https://reviews.freebsd.org/D30802
2021-06-18 08:42:51 -06:00