Commit Graph

285718 Commits

Author SHA1 Message Date
Bjoern A. Zeeb
b80ea45237 LinuxKPI: implement mul_u64_u64_div_u64()
Implement mul_u64_u64_div_u64() for an updated iwlwifi driver (though
we do not yet use it there; it is used for in-kernel ptp on wifi).

Sponsored by:	The FreeBSD Foundation
Submitted by:	cperciva
MFC after:	10 days
Reviewed by:	cperciva, dwmalone
Differential Revision: https://reviews.freebsd.org/D40120
2023-08-18 01:20:39 +00:00
Gregory Neil Shapiro
98fd1add67 Remove confDH_PARAMETERS settings in favor of using sendmail's built-in
default which was added in sendmail 8.15.2 (the config line predates
that 8.15.2 feature).  This also alleviates the need for admins
to create the DH parameters file if they opt to use Diffie-Hellman.

PR:		248387
MFC after:	2 weeks
2023-08-18 00:32:56 +00:00
Glen Barber
77013f29d0 release: update main to ALPHA2
Due to an issue being investigated, the branch of stable/14 will
be delayed a week.  This should not impact the rest of the schedule
for this cycle.

Sponsored by:	GoFundMe https://www.gofundme.com/f/gjbbsd
Sponsored by:	PayPal https://paypal.me/gjbbsd
2023-08-17 20:08:32 -04:00
Ed Maste
fa5f94140a msi: handle error from BUS_REMAP_INTR in msi_assign_cpu
Previously errors from BUS_REMAP_INTR were silently ignored, and we
ended up with non-functional interrupts.

Now we allocate and enable new vectors, but postpone assignment of new
APIC IDs and vectors where we can, until after BUS_REMAP_INTR is
successful.  We then disable and free the old vectors.

If BUS_REMAP_INTR fails we restore the old configuration, and disable
and free the new, unused vectors.

Thanks to AMD for providing hardware (with APIC IDs above 255) for
testing.

Reviewed by:	jhb
MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D41455
2023-08-17 20:03:48 -04:00
John Baldwin
91d0876a20 arm64 makectx: Fix overflow of tf_x array
PCB_LR isn't stored in tf_x, so trying to store it as pcb_x[PCB_LR] =
tf->tf_x[PCB_LR + PCB_X_START] overflowed the tf_x array.

Reported by:	Morello (bounds check crash)
Reviewed by:	jrtc27, andrew, markj
Sponsored by:	DARPA
Differential Revision:	https://reviews.freebsd.org/D41485
2023-08-17 15:26:16 -07:00
Mark Johnston
5635d5b61e vmm: Fix VM_GET_CPUS compatibility
bhyve in a 13.x jail fails to boot guests with more than one vCPU
because they pass too small a buffer to VM_GET_CPUS, causing the ioctl
handler to return ERANGE.  Handle this the same way as cpuset system
calls: make sure that the result can fit in the truncated space, and
relax the check on the cpuset buffer.

As a side effect, fix an insufficient bounds check on "size".  The
signed/unsigned comparison with sizeof(cpuset_t) fails to exclude
negative values, so we can end up allocating impossibly large amounts of
memory.

Reviewed by:	jhb
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D41496
2023-08-17 18:10:02 -04:00
Elliott Mitchell
5ad59b9153 intr: merge interrupt table uses of MAXCOMLEN into INTRNAME_LEN
The repeated uses of `MAXCOMLEN + 1` seem a bit hazardous.  If there was
a future need to change the size, the repeats will be troublesome.
Merge everything into `#define INTRNAME_LEN` (matches the name used by
INTRNG).

Reviewed by:	markj
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D38455
2023-08-17 18:10:02 -04:00
Elliott Mitchell
d8099e33c7 intr: move MAX_STRAY_LOG to interrupt.h
The two interrupt controllers which implement squelching of reports
after a maximum use the same limit.  Move the limit to interrupt.h, the
better to encourage other interrupt controllers to implement the same.

Reviewed by:	markj
MFC after:	2 weks
Differential Revision:	https://reviews.freebsd.org/D35527
2023-08-17 18:10:02 -04:00
John Baldwin
768489c721 RELNOTES: Clarify package building on older branches for 32-bit.
"on" could be read to require native builds only vs cross-builds
via qemu-user and that was not the intention.

Suggested by:	Mark Millard <marklmi@yahoo.com>
2023-08-17 14:25:44 -07:00
Dmitry Chagin
c47116e909 linux(4): Update my copyrights, add SPDX tag 2023-08-17 23:54:36 +03:00
Dmitry Chagin
270e01d468 linux(4): Fix leftovers after 2ff63af9 2023-08-17 23:54:00 +03:00
Dmitry Chagin
6ecab39494 linux(4): Drop bogus __arm__ condition due to lack of 32-bit arm support
MFC after:		1 month
2023-08-17 22:57:17 +03:00
Dmitry Chagin
4a521544a6 linux(4): Don't miss error from underlying in sendfile
MFC after:		1 month
2023-08-17 22:57:17 +03:00
James McLaughlin
bb66c59753 linux(4): Add sendfile fallback for non-socket fds
Before Linux 2.6.33, out_fd must refer to a socket. Since Linux 2.6.33
it can be any file.
The patch was originally provided by James McLaughlin and adapted by me
for copy_file_range.

PR:			262535
Differential revision:	https://reviews.freebsd.org/D34555
MFC after:		1 month
2023-08-17 22:57:17 +03:00
Dmitry Chagin
7307c43963 linux(4): Use native off_t for fo_sendfile call
MFC after:		1 month
2023-08-17 22:57:17 +03:00
Dmitry Chagin
158b57295f linux(4): Regen for sendfile 2023-08-17 22:57:17 +03:00
Dmitry Chagin
5068387f42 linux(4): Use l_off_t type for offset argument in sendfile syscall
The off_t on Linux is a long, so it's non-functional change, just to
avoid confusing future readers.

MFC after:		1 month
2023-08-17 22:57:16 +03:00
Alvin Chen
5ad5cf5079 linux(4): Be verbose about unsupported ioctl commands on ifreq ioctl
Differential revision:	https://reviews.freebsd.org/D39786
MFC after:		1 month
2023-08-17 22:57:16 +03:00
Alvin Chen
1f2b31f76e linux(4): Add 2 Linux socket ioctl commands
Support 2 Linux socket ioctl commands: SIOCGIFMETRIC, SIOCSIFMETRIC.

Differential revision:	https://reviews.freebsd.org/D39786
MFC after:		1 month
2023-08-17 22:57:16 +03:00
Ed Maste
d1eb515f14 bhyve: default UART to 115200
Reviewed by:	jhb
Differential Revision:	https://reviews.freebsd.org/D41494
2023-08-17 14:53:23 -04:00
Marius Strobl
51e235148a iflib drivers: Constify PCI ID LUTs
Since d49e83eac3, iflib(9) is ready
for this change.
While at it, make isc_driver_version strings (static) const where
not apparently un-const on purpose, too.
This reduces the size of the amd64 GENERIC by about 10 KiB.
2023-08-17 20:34:23 +02:00
John Baldwin
ece58eaf50 Restore blank line after #include 2023-08-17 11:32:32 -07:00
John Baldwin
638c68897f arm64 db_trace: Ensure trapframe pointer is suitably aligned.
Reviewed by:	jrtc27, markj
Sponsored by:	DARPA
Differential Revision:	https://reviews.freebsd.org/D41486
2023-08-17 11:32:32 -07:00
John Baldwin
18974bd616 bhyve: Store the FreeBSD OUI in little-endian in the controller data
Section 7.10.3 of the NVME 1.4b specification states that the IEEE OUI
in the identify controller structure is stored in little-endian format
(unlike the embedded OUI in EUI64 identifiers).

Reviewed by:	corvink, chuck, imp
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D41487
2023-08-17 11:32:32 -07:00
Ed Maste
3ff0677993 share/examples: clarify BOOT_COMCONSOLE_SPEED
Give an example of why one may want to override BOOT_COMCONSOLE_SPEED so
that it's clear why the default (in a comment) and the commented-out
example setting have different values.

Reported by:	otis
Fixes: 4722ceb7d5 ("Use 115200 bps by default for serial communication")
2023-08-17 13:46:42 -04:00
Ed Maste
4722ceb7d5 Use 115200 bps by default for serial communication
9600 was a standard baud rate decades ago, but 115200 is now more common
so choose defaults that are useful to the largest number of users.

Note that boot0sio does not support rates above 9600 so it remains
unchanged.

Reviewed by:	bz, imp, manu
Relnotes:	Yes
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D36295
2023-08-17 13:31:38 -04:00
Ed Maste
5f72ceb2c5 Cirrus-CI: for *-gcc12, build world with make -s
Cirrus-CI appears to have a 100MB limit for log output.  Use `make -s`
to attempt to reduce the amount of output.

Sponsored by:	The FreeBSD Foundation
2023-08-17 13:23:15 -04:00
Dag-Erling Smørgrav
a4aaee2120 forkpty: Avoid fd leak if fork() fails.
MFC after:	1 week
Sponsored by:	Klara, Inc.
Reviewed by:	allanjude
Differential Revision:	https://reviews.freebsd.org/D41491
2023-08-17 13:48:42 +00:00
Dag-Erling Smørgrav
e738085b94 Remove my middle name. 2023-08-17 15:08:30 +02:00
Mateusz Pacuszka
89e7335942 ixl: fix multicast filters handling
Summary:
Hardware supports up to 128 entries of multicast filters. If there is more,
filters should be removed and multicast promiscuous enabled. In case
user deletes the multicast address and overall count is less than 128,
multicast promiscuous mode should be disabled and all the filters
reapplied into the HW.

Currently driver only enables multicast promiscuous mode and deletes
the entries without any information to the user and it's not capable of
reapplying the filters once count is less than 128.

Address that by:

1. Add logging
2. Add logic in case multicast promiscuous is enabled and user lowers
the number of multicast entries to <128.
3. Fix a bug where driver removes different MAC entries along with the one
that's being deleted by the user.

Reviewers: #intel_networking, erj

Reviewed By: #intel_networking, erj

Subscribers: imp, ae

Differential Revision: https://reviews.freebsd.org/D40860
2023-08-17 13:46:48 +02:00
Andrew Turner
02f2706606 Add a virtio-gpu 2D driver
Add a driver to connect vt to the VirtIO GPU device in 2D mode. This
provides a output on the display when a qemu virtio gpu device is
added, e.g. with -device virtio-gpu-pci.

Tested on qemu using UTM, and a Hetzner arm64 VM instance.

Reviewed by:	bryanv (earlier version)
Sponsored by:	Arm Ltd
Differential Revision:	https://reviews.freebsd.org/D40094
2023-08-17 12:26:57 +01:00
Corvin Köhne
67c26eb2a5
bhyve: add cmdline option for TPM emulation
At the moment, only a TPM passthru is supported. The cmdline looks like:

-l tpm,passthru,/dev/tpm0

Reviewed by:		markj
MFC after:		1 week
Sponsored by:		Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D32961
2023-08-17 08:17:59 +02:00
Ed Maste
d1d7a27370 share/examples/tests: fix comments after $FreeBSD$ removal
Fixes: 2a63c3be15 ("Remove $FreeBSD$: one-line .c comment pattern")
2023-08-16 17:42:10 -04:00
Ed Maste
0ed2e7e889 Cirrus-CI: temporarily disable amd64-gcc12 build/test on main
The amd64-gcc12 job is failing at present.  Unfortunately Cirrus-CI
appears to have a 100MB log limit and we exceed this before the error
is reported.  Disable the job for now until we can address the log
length issue.

See also https://github.com/cirruslabs/cirrus-ci-docs/issues/1176.

Sponsored by:	The FreeBSD Foundation
2023-08-16 16:45:23 -04:00
Ed Maste
90aad5d3e4 makefs: clean up some leftovers after $FreeBSD$ tag removal
Fixes: 2a63c3be15
2023-08-16 16:24:37 -04:00
Warner Losh
ddb5480ec6 Fix partially removed comment by removing the rest
Fixes: 2a63c3be15
2023-08-16 14:17:33 -06:00
Brooks Davis
c5f49ece16 libc: regoranize malloc build
Create a stdlib/malloc to hold the definition of the malloc interface
(e.g., the Symbol.map file) and make jemalloc a subdirectory.  This will
make it easier to integrate alternative allocators such as snmalloc
while making it clear that the current jemalloc symbols are the FreeBSD
API/ABI (for better or worse).

Suggested by:	jrtc27
Reviewed by:	jrtc27, emaste
Sponsored by:	DARPA
Differential Revision:	https://reviews.freebsd.org/D41457
2023-08-16 19:16:51 +01:00
Brooks Davis
075c716558 jemalloc: drop unused .PATH
All jemalloc sources are in contrib so don't look for them in the
jemalloc subdirectory.

Reviewed by:	jrtc27, emaste
Sponsored by:	DARPA
Differential Revision:	https://reviews.freebsd.org/D41481
2023-08-16 19:16:43 +01:00
Brooks Davis
4c757938e4 libc: include malloc via stdlib/Makefile.inc
There's a hierarchy here and we should use it.

Improves: cbeacb7c46

Reviewed by:	jrtc27, jhb, emaste
Sponsored by:	DARPA
Differential Revision:	https://reviews.freebsd.org/D41456
2023-08-16 19:16:26 +01:00
Warner Losh
3b6b476549 freebsd-yeet: Tool to remove $FreeBSD$ from tree
Use at your own risk, but this will remove $FreeBSD$ from your tree. It
does commits and tries to be at least a little smart about it.

Sponsored by:		Netflix
2023-08-16 12:06:37 -06:00
Warner Losh
9524e274b5 Remove $FreeBSD$: one-line xdr pattern
Remove /^\s*%\s*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
2023-08-16 11:55:47 -06:00
Warner Losh
26a58599a0 Remove $FreeBSD$: one-line forth tag
Remove /^\\[\s*]*\$FreeBSD\$.*$\n/
2023-08-16 11:55:43 -06:00
Warner Losh
401ab69cff Remove $FreeBSD$: one-line ps tag
Remove /^%\s*RCSID:\s*\$FreeBSD\$.*$\n/
2023-08-16 11:55:39 -06:00
Warner Losh
6ef644f588 Remove $FreeBSD$: one-line lua tag
Remove /^--\s*\$FreeBSD\$.*$\n/
2023-08-16 11:55:34 -06:00
Warner Losh
9636a14538 Remove $FreeBSD$: two-line lua tag
Remove /^--\n--\s*\$FreeBSD\$.*$\n/
2023-08-16 11:55:30 -06:00
Warner Losh
8c99d94c90 sys: Remove $FreeBSD$: two-line lua tag
Remove /^--\n--\s*\$FreeBSD\$.*$\n/
2023-08-16 11:55:27 -06:00
Warner Losh
ae992a336e Remove $FreeBSD$: one-line catalog
Remove /^\s*\$\s*\$FreeBSD\$$\n/
2023-08-16 11:55:26 -06:00
Warner Losh
2063df1471 sys: Remove $FreeBSD$: one-line catalog
Remove /^\s*\$\s*\$FreeBSD\$$\n/
2023-08-16 11:55:22 -06:00
Warner Losh
05248206f7 Remove $FreeBSD$: one-line bare tag
Remove /^\s*\$FreeBSD\$$\n/
2023-08-16 11:55:20 -06:00
Warner Losh
78d146160d sys: Remove $FreeBSD$: one-line bare tag
Remove /^\s*\$FreeBSD\$$\n/
2023-08-16 11:55:17 -06:00