Commit graph

22487 commits

Author SHA1 Message Date
John Baldwin 854e1fd692 mbuf.9: Document mtodo
mtodo() accepts an mbuf and offset and returns a void * pointer to the
requested offset into the mbuf's associated data.  Similar to mtod(),
no bounds checking is performed.

Reviewed by:	imp, markj
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D43215
2023-12-28 11:17:45 -08:00
Joerg Pulz 10ed63fc06 isp(4): Rework firmware handling/loading
Correctly identify the active firmware in flash on adapters with
primary and secondary firmware region in flash.
Correctly identify the active NVRAM on adapters with primary
and secondary NVRAM region in flash.

Loading ispfw(4) moved from isp_pci_attach() to isp_reset().
Drop the reference to ispfw(4) after using it so one can kldunload(8) it.
New isp_load_ram() function to load either ispfw(4) or flash firmware
into RISC's RAM.
New functions to read data from flash. The old ones will be removed later.
A bunch of new helper functions to identify and validate active flash
regions for firmware, auxiliary and NVRAM.
Overhaul ISP_FW_* macros and make use of it when comparing firmware
versions. We can handle firmware versions up to 255.255.255.

Firmware load priority slightly changed:
For 27xx and newer adapters:
- load ispfw(4) firmware
- request (active) flash firmware information
- compare version numbers of ispfw(4) and flash firmware
- load firmware with highest version into RISC's RAM
- if loading ispfw(4) is disabled or failed - load firmware from flash
- if everything else fails use MBOX_LOAD_FLASH_FIRMWARE as fallback

For 26xx and older adapters nothing changed:
- load ispfw(4) firmware and load it into RISC's RAM
- if loading ispfw(4) is disabled or failed use MBOX_EXEC_FIRMWARE
- for 26xx a preceding MBOX_LOAD_FLASH_FIRMWARE is used

New read only sysctl(8)'s:
 dev.isp.N.fw_version_run: the firmware version actually running
 dev.isp.N.fw_version_ispfw: the firmware version provided by ispfw(4)
 dev.isp.N.fw_version_flash: the (active) firmware version in flash

While here:
  - firmware attribute handling/parsing reworked
    + renamed defines from ISP2400_FW_ATTR_* to ISP_FW_ATTR_*
    + changed values to match new handling/parsing
    + added some more attributes
  - enable FLT support on 26xx based adapters
  - log level adjustments
  - new function return status codes (some for now, some for later use)
  - some minor style changes

Tested and approved to work on real hardware with:
  - Qlogic ISP 2532 (QLogic QLE2560 8Gb FC Adapter)
  - Qlogic ISP 2031 (QLogic QLE2662 16Gbit 2Port FC Adapter)
  - Qlogic ISP 2722 (QLogic QLE2690 16Gb FC Adapter)
  - Qlogic ISP 2812 (QLogic QLE2772 32Gbit 2Port FC Adapter)

PR:		273263
Reviewed by:	mav
Pull Request:	https://github.com/freebsd/freebsd-src/pull/877
MFC after:	1 month
Sponsored by:	Technical University of Munich
2023-12-28 13:33:07 -05:00
Joerg Pulz b0c6b06836 ispfw(4): Update and add firmware
Update 25xx firmware: version 8.8.207
Add 26xx firmware: version 8.8.231
Add 27xx firmware: version 9.12.0
Add 28xx firmware: version 9.12.1

Remove BUGS section from manpage as we now have firmware for
all supported controllers.

PR:		273263
MFC after:	1 month
Pull Request:	https://github.com/freebsd/freebsd-src/pull/877
Sponsored by:	Technical University of Munich
2023-12-28 13:31:56 -05:00
Osama Abboud 246aa27324 ena: Update the license dating to 2023
Some of the files are using outdated linceses.
Update the license to be 2023.

Approved by: cperciva (mentor)
MFC after: 2 weeks
Sponsored by: Amazon, Inc.
2023-12-28 13:56:36 +00:00
Wolfram Schneider f8952e4ee0 update homepage for FreeBSD Manual Pages (again) 2023-12-28 07:11:38 +00:00
Jose Luis Duran 2d3d29c29c security.7: Fix typo (triple S)
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/955
2023-12-27 20:24:30 -07:00
Jose Luis Duran 8aa5bb0ef2 netgdb.4: Fix typo (triple S)
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/955
2023-12-27 20:24:30 -07:00
VexedUXR 4ea5e107b1 <bsd.progs.mk>: Allow using SRCS for common sources
Instead of having to do:

PROGS=	program1 program2
SRCS.program1=	program1.c common.c
SRCS.program2=	program2.c common.c

This can now be done instead:

PROGS=	program1 program2
SRCS=	common.c
SRCS.program1=	program1.c
SRCS.program2=	program2.c

This shouldn't effect any existing projects using <bsd.progs.mk>.

Reviewed by: imp, sjg
Pull Request: https://github.com/freebsd/freebsd-src/pull/766
2023-12-27 17:01:39 -07:00
Graham Perrin db348fdba4 bsd-family-tree: tidiness, width
Tidy the raggedness in the section that begins [44B]. As the line that begins
[KB] was previously tidied, now tidy the section to accommodate [BSDI] and
[TUHS]. Rewrap the section to fit the same number of columns.

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/812
2023-12-27 16:42:12 -07:00
Graham Perrin 3dfb39ef1d bsd-family-tree: QCU: ISBN and EAN numbers
ISBN 0201547775 and International Article Number (EAN) 9780201547771 for
'A Quarter Century of UNIX' by Peter H. Salus.

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/812
2023-12-27 16:41:57 -07:00
Graham Perrin b9f4462063 rc(8): angle brackets to avoid link breakage
<https://datatracker.ietf.org/doc/html/rfc3986#appendix-C>

Double-quotes are not suitably effective. Instead, use angle brackets.

Whilst here:
- remove superfluous quotation marks from the %T title.

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/811
2023-12-27 16:33:17 -07:00
Robert Clausecker fb9c25a91f share/man/man7/simd.7: document SIMD-enhanced memrchr implementation
Tested by:	developers@, exp-run
Approved by:	mjg
MFC after:	1 month
MFC to:		stable/14
PR:		275785
2023-12-25 15:00:08 +01:00
Robert Clausecker 5fa0fbf40b share/man/man7/simd.7: document simd-enhanced memccpy, strncat
Tested by:	developers@, exp-run
Approved by:	mjg
MFC after:	1 month
MFC to:		stable/14
PR:		275785
Differential Revision:	HTTPS://reviews.freebsd.org/D42902
2023-12-25 14:59:46 +01:00
Robert Clausecker 6fdcb85b1c share/man/man7/simd.7: add forgotten aarch64 string functions
I previously forgot to mention these as they are set up through
contrib/arm-optimized/routines/string.

Tested by:	developers@, exp-run
Approved by:	mjg
MFC after:	1 month
MFC to:		stable/14
PR:		275785
2023-12-25 14:59:37 +01:00
Robert Clausecker d4a5605d9f share/man/man7/simd.7: document scalar/baseline strlcpy, strlcat
Tested by:	developers@, exp-run
Approved by:	mjg
MFC after:	1 month
MFC to:		stable/14
PR:		275785
Differential Revision:	https://reviews.freebsd.org/D42863
2023-12-25 14:59:35 +01:00
Robert Clausecker c983825a77 share/man/man7/simd.7: document SIMD-enhanced strcat
Sponsored by:	The FreeBSD Foundation
Tested by:	developers@, exp-run
Approved by:	mjg
MFC after:	1 month
MFC to:		stable/14
PR:		275785
Differential Revision:	https://reviews.freebsd.org/D42600
2023-12-25 14:55:59 +01:00
Robert Clausecker 75a9e22506 share/man/man7/simd.7: document simd-enhanced strncpy, stpncpy
Sponsored by:	The FreeBSD Foundation
Tested by:	developers@, exp-run
Approved by:	mjg
MFC after:	1 month
MFC to:		stable/14
PR:		275785
Differential Revision:	https://reviews.freebsd.org/D42519
2023-12-25 14:55:50 +01:00
Robert Clausecker 75cb202698 share/man/man7/simd.7: document amd64 SIMD use for strsep()
Sponsored by:	The FreeBSD Foundation
Tested by:	developers@, exp-run
Approved by:	mjg
MFC after:	1 month
MFC to:		stable/14
PR:		275785
Differential Revision: https://reviews.freebsd.org/D42346
2023-12-25 14:55:34 +01:00
Robert Clausecker dd1c2e887c share/man/man7/simd.7: document strrchr scalar, baseline implementation
Also mention missing rindex() entry, which is provided through
strrchr().

Sponsored by:	The FreeBSD Foundation
Tested by:	developers@, exp-run
Approved by:	mjg
MFC after:	1 month
MFC to:		stable/14
PR:		275785
Differential Revision:	https://reviews.freebsd.org/D42217
2023-12-25 14:55:26 +01:00
Robert Clausecker f5edd8450e share/man/man7/simd.7: document strncmp amd64 scalar, baseline implementations
Sponsored by:	The FreeBSD Foundation
Tested by:	developers@, exp-run
Approved by:	mjg
MFC after:	1 month
MFC to:		stable/14
PR:		275785
Differential Revision:	https://reviews.freebsd.org/D42122
2023-12-25 14:55:18 +01:00
Robert Clausecker 8b60e1fdbe share/man/man7/simd.7: document amd64 SIMD use for strpbrk()
Sponsored by:	The FreeBSD Foundation
Tested by:	developers@, exp-run
Approved by:	mjg
MFC after:	1 month
MFC to:		stable/14
PR:		275785
Differential Revision: https://reviews.freebsd.org/D41980
2023-12-25 14:55:04 +01:00
Robert Clausecker 47adb1e012 share/man/man7/simd.7: document new amd64 baseline strcmp()
Sponsored by:	The FreeBSD Foundation
Tested by:	developers@, exp-run
Approved by:	mjg
MFC after:	1 month
MFC to:		stable/14
PR:		275785
Differential Revision:	https://reviews.freebsd.org/D41971
2023-12-25 14:54:50 +01:00
Dimitry Andric 69c8025a49 Silence snprintf truncation warnings in printf_test examples
Building share/examples/tests with clang 18 results in a few warnings
like:

  share/examples/tests/tests/plain/printf_test.c:67:6: error: 'snprintf' will always be truncated; specified size is 10, but format string expands to at least 17 [-Werror,-Wformat-truncation]
     67 |         if (snprintf(buffer, sizeof(buffer), "0123456789abcdef") != 16)
        |             ^

Since these tests are meant as an example of testing snprintf overflow,
suppress the warnings.

MFC after:	3 days
2023-12-21 23:45:52 +01:00
Gordon Bergling fa826f64e1 rtnetlink.4: Fix a typo in the manual pag
- s/constists/consists/

MFC after:	3 days
2023-12-20 10:06:08 +01:00
Kristof Provost ec6682ed6c atf.test: fix installation of python test scripts
Python test scripts get processed (to add the `#! /usr/libexec/
atf_pytest_wrapper` shebang line), into a .xtmp file, and installed from
there. However, as there was no dependency of this .xtmp file on the
original file we kept reinstalling the .xtmp file, even if the original
had been edited already.

This could cause great confusion when debugging python test scripts.

Reviewed by:	markj
Sponsored by:	Rubicon Communications, LLC ("Netgate")
Differential Revision:	https://reviews.freebsd.org/D43118
2023-12-19 17:23:54 +01:00
Mike Karels 636592343c tmpfs: increase memory reserve to a percent of available memory + swap
The tmpfs memory reserve defaulted to 4 MB, and other than that,
all of available memory + swap could be allocated to tmpfs files.
This was dangerous, as the page daemon attempts to keep some memory
free, using up swap, and then resulting in processes being killed.
Increase the reserve to a fraction of available memory + swap at
file system startup time.  The limit is expressed as a percentage
of available memory + swap that can be used, and defaults to 95%.
The percentage can be changed via the vfs.tmpfs.memory_percent sysctl,
recomputing the reserve with the new percentage but the initial
available memory + swap.  Note that the reserve can also be set
directly with an existing sysctl, ignoring the percentage.  The
previous behavior can be specified by setting vfs.tmpfs.memory_percent
to 100.

Add sysctl for vfs.tmpfs.memory_percent and the pre-existing
vfs.tmpfs.memory_reserved to tmpfs(5).

PR:		275436
MFC after:	1 month
Reviewed by:	rgrimes
Differential Revision:	https://reviews.freebsd.org/D43011
2023-12-19 09:33:33 -06:00
Olivier Certner a540e5ee07 committers-src: Add olce@ with mentors emaste@ and markj@
Approved by:        emaste (mentor)
2023-12-19 09:43:45 +01:00
Mark Johnston 604de40a02 kqueue.9: Update the description of knlist_clear()
knlist_clear() does not free knotes and so does not call fdrop(), so
remove the bit of the function description which claims otherwise.  (The
knote will be dropped by the next queue scan, and it is at that point
that the fd reference will be dropped.)

MFC after:	1 week
2023-12-18 13:16:48 -05:00
Gordon Bergling 4fb5eda649 tcp: Remove the documented dependency of TCPHPTS for RACK and BBR
Since TCPHPTS is now included in the GENERIC kernel, remove the
documented dependency of it from the tcp_rack(4) and tcp_bbr(4)
manual pages.

Reviewed by:	tuexen
Differential Revision:	https://reviews.freebsd.org/D43084
2023-12-17 19:31:16 +01:00
Warner Losh 3fbed93203 cam.4: Modernize examples
Use mpr1 instead of ahd1 and ahci1 instead of ahc1. ahc and ahd haven't
been relevant for a while. Also update the transfer size HBAs can do
from from 64k to 1MB.

Sponsored by:		Netflix
2023-12-11 22:12:13 -07:00
Warner Losh 9ab58f9784 cam: Virtual SIMs communicate via the network too
A virutal SIM can also be connected via the network for iSCSI or NVM
over fabrics.

Sponsored by:		Netflix
2023-12-11 22:12:13 -07:00
Mark Johnston d5c6b32a31 socket.9: Catch up with commit cfb1e92912
Fixes:	cfb1e92912 ("sockets: don't malloc/free sockaddr memory on accept(2)")
Reported by:	Mina Galić <freebsd@igalic.co>
2023-12-11 17:15:54 -05:00
Sergey A. Osokin 25f37779bd bsd-family-tree: add FreeBSD 14
MFC after:	3 days
2023-12-07 09:26:12 -05:00
Mitchell Horne 7cb028deff busdma: Prevent the use of filters with bus_dma_tag_create()
A deprecation notice was added to the bus_dma(9) man page by scottl@ in
September 2020 discouraging the use of filter functions. I've performed
an attentive check of all callers in the tree and everything that exists
today passes NULL for both filtfunc and filtarg. Thus, we should start
returning EINVAL if these arguments are non-NULL to prevent new usages
from popping up. Update the man page to be more clear about this.

The deprecation notice is present since at least 13.0-RELEASE, so this
is the appropriate step for the lifetime of 15, without actually
breaking the driver API. Stable branches will emit a warning instead.

This change enables the removal of a fair amount of unused complexity
across the various busdma implementations.

Reviewed by:	jhb
MFC after:	never
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D42852
2023-12-06 19:10:25 -04:00
Mark Johnston be5464ae23 kmsan: Add kmsan_check_uio()
This was handy for some ad-hoc debugging and fits in with other
kmsan_check_*() routines which operate on some kind of data container.

MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
2023-12-06 12:46:25 -05:00
Baptiste Daroussin 01e286b541 pci_vendors: update to 2023-11-11 2023-12-04 11:51:59 +01:00
Ed Maste 06c083f79d sound: remove Legacy Hardware section from man page
Support for "old legacy ISA cards" was removed in 9054e29681 and
preceeding commits.

MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
2023-12-02 16:12:06 -05:00
Richard Scheffenegger f42518ff12 tcp: for LRD move sysctl from tcp.do_lrd tp tcp.sack.lrd, remove sockopt
Moving lrd sysctl to the tcp.sack branch, since LRD only works with SACK.
Remove the sockopt to programmatically control LRD per session.

Reviewed By:           #transport, tuexen, rrs
Sponsored by:          NetApp, Inc.
Differential Revision: https://reviews.freebsd.org/D42851
2023-11-30 21:11:45 +01:00
Richard Scheffenegger 34c45bc6a3 tcp: enable LRD by default
Lost Retransmission Detection was added as a
feature in May 2021, but disabled by default.

Enabling the feature by default to reduce the
flow completion time by avoiding RTOs when
retransmissions get lost too.

Reviewed By:           tuexen, #transport, zlei
MFC after:             10 weeks
Sponsored by:          NetApp, Inc.
Differential Revision: https://reviews.freebsd.org/D42845
2023-11-30 05:38:16 +01:00
Warner Losh 0044e9124e share: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate
no-longer-needed sys/cdefs.h includes as well as now-empty
blank lines in a row.

Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/
Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/
Remove /\n+#if.*\n#endif.*\n+/
Remove /^#if.*\n#endif.*\n/
Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/
Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/
Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/

Sponsored by:		Netflix
2023-11-26 22:24:00 -07:00
Warner Losh 97759ccc71 share: Remove ancient SCCS tags.
Remove ancient SCCS tags from the tree, automated scripting, with two
minor fixup to keep things compiling. All the common forms in the tree
were removed with a perl script.

Sponsored by:		Netflix
2023-11-26 22:23:29 -07:00
Konstantin Belousov a9758e4647 Do not install kernel and modules with executable access bit set
They are not executables and cannot be activated by kernel.

Reviewed by:	emaste, imp
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D42768
2023-11-25 20:47:42 +02:00
Mitchell Horne ae9437671a kern_reboot(9): belatedly bump .Dd
Fixes:	4e78a766f6 ("kern_reboot(): don't clear kdb_active")
Sponsored by:	The FreeBSD Foundation
2023-11-23 12:10:42 -04:00
Mitchell Horne 4e78a766f6 kern_reboot(): don't clear kdb_active
It is possible to reach this function from ddb via the "reset" command.
When this happens, we don't actually exit kdb, meaning we never execute
the latter steps of kdb_break() to restore the system state (e.g.
re-enable scheduler).

Therefore, we should not clear the kdb_active flag in this function, as
the debugger is still active. Put differently, kern_reboot() is not an
authority on kdb state, and should not touch it. The original motivation
for this assignment is not clear; I have checked thoroughly and I am
convinced it is not required by any reset code.

This fixes an edge case where a panic can be triggered during reset from
ddb:
 1. Enter ddb via keyboard break sequence (KERNEL_PANICKED() == false &&
    td->td_critnest > 0)
 2. Execute the "reset" command
 3. kern_reboot() sets kdb_active = false
 4. A witness_checkorder() call via shutdown handler sees !kdb_active
    and panics

Reviewed by:	imp, markj
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D42684
2023-11-23 12:07:43 -04:00
Dag-Erling Smørgrav c56f45f2a9 bitstring: Support large bit strings.
Replace int with either size_t or ssize_t (depending on context) in
order to support bit strings up to SSIZE_MAX bits in length.  Since
some of the arguments that need to change type are pointers, we must
resort to light preprocessor trickery to avoid breaking existing code.

MFC after:	3 weeks
Sponsored by:	Klara, Inc.
Reviewed by:	kevans
Differential Revision:	https://reviews.freebsd.org/D42698
2023-11-22 23:30:03 +01:00
Simon J. Gerraty 0a45a7e99f Fix share/zoneinfo for DIRDEPS_BUILD
The tranditional build makes multiple passes through the tree.
The DIRDEPS_BUILD visits each directory only once per architecture,
thus makefiles should be able to everything they need in a single pass.

The use of TZS!= when doing make(*install*)
only works if the directory has previously been visited to do zoneinfo
since before the zoneinfo target is run TZS will be empty.

To fix this, have the zoneinfo target capture the list of files to
zoneinfo, and install-zoneinfo use that list.
Rename that target to zonefiles - since that is now what it does.

This is more efficient - we only gather the list of zones when it is
likely to have changed, and allows the makefile to do everything in a
single pass.

Reviewed by:	stevek
Differential Revision:	https://reviews.freebsd.org/D42624
2023-11-20 12:52:43 -08:00
R. Christian McDonald 34de1d507b committers-src: Add rcm as a src committer and kp as mentor
Approved by:	kp
2023-11-20 11:23:07 -05:00
Igor Ostapenko 7e1affa242 pf.conf.5: revise divert-to and divert-reply 2023-11-20 12:30:18 +01:00
Arthur Kiyanovski 33db883c95 Add akiyano as src committer and cperciva as mentor
Approved by: cperciva (mentor)
2023-11-19 13:54:29 +00:00
Gordon Bergling 115459be31 SEE ALSO section improvements for tuning(7), tunefs(8) and fsck_ffs(8)
cross-reference ffs(7) in fsck_ffs(8)
cross-reference ffs(7) and tuning(7) in tunefs(8)
cross-reference ffs(7) in tuning(7)

PR:	263433
Reviewed by:	bcr
MFC after:	5 days
Differential Revision:	https://reviews.freebsd.org/D42631
2023-11-17 19:24:22 +01:00