FreeBSD/src ae0a363lib/clang/libllvm Makefile, share/man/man5 src.conf.5

build: Retire LLVM_COV src.conf knob

I introduced it in commit 1b49115a40ad ("Promote llvm-cov to a
standalone option").  llvm-cov was previously enabled as part of the
CLANG_EXTRAS option.  I made it a standalone, default-enabled option for
parity with the tools provided by the GCC-based toolchain.

We no longer provide an in-tree GCC toolchain.  Now, just build llvm-cov
along with Clang to simplify build infrastructure.

Reviewed by:    dim
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D58155
DeltaFile
+1-9share/man/man5/src.conf.5
+2-3lib/clang/libllvm/Makefile
+2-2tools/build/mk/OptionalObsoleteFiles.inc
+0-3tools/build/options/WITHOUT_LLVM_COV
+0-3tools/build/options/WITH_LLVM_COV
+0-2usr.bin/clang/toolchain/Makefile
+5-222 files not shown
+6-258 files

FreeBSD/src 7fde3e6tools/build beinstall.sh

beinstall: Avoid chrooting into new world

The new world may use system calls that are not in the currently-running
kernel, so we cannot chroot into the new environment to run `make
installworld`, `etcupdate`, etc.  Partially revert commit 16702050ac95
("beinstall: perform pre-installworld steps") and switch back to using
DESTDIR for installworld and so on.

Reported by:    olivier
Reviewed by:    olivier
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D50682
DeltaFile
+3-4tools/build/beinstall.sh
+3-41 files

FreeBSD/src c185120contrib/elftoolchain/readelf readelf.c

readelf: Add support for ELF package metadata note

We don't use this note type today, but as a general purpose ELF
diagnostic tool readelf(1) ought to decode it.

References:
https://fedoraproject.org/wiki/Changes/Package_information_on_ELF_objects
https://systemd.io/ELF_PACKAGE_METADATA/

Reviewed by:    fuz
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D47524
DeltaFile
+37-1contrib/elftoolchain/readelf/readelf.c
+37-11 files

FreeBSD/src 59a4b6ctools/tools/git git-mfc git-mfc.1

git-mfc: Cherry-pick all commits in one git command

This allows one to resume from a conflict with a plain
`git cherry-pick --continue`, whereas before one would have to re-run
the original git-mfc command after resolving the conflict and running
`git cherry-pick --continue`.

Suggested by:   des
Reviewed by:    des
Differential Revision:  https://reviews.freebsd.org/D58129
DeltaFile
+9-7tools/tools/git/git-mfc
+7-4tools/tools/git/git-mfc.1
+16-112 files

FreeBSD/src 1f091adtools/tools/git git-mfc git-mfc.1

git-mfc: Filter pending and dangling commits by committer

Previously we searched commits based on the author email address, but
this isn't really right: if I commit something from a contributor, I'm
still responsible for MFCing it, so really we should be filtering on the
committer.

Add a new --committer option to filter results by committer email
address, defaulting to the user.email value in the git config.

Keep the --author option, but don't filter by author unless the option
is explicitly specified.

Reported by:    des
Reviewed by:    des
Differential Revision:  https://reviews.freebsd.org/D58126
DeltaFile
+30-19tools/tools/git/git-mfc
+11-2tools/tools/git/git-mfc.1
+41-212 files

FreeBSD/src c27a27fshare/man/man4 ix.4, sys/dev/ixgbe ixgbe_e610.c ixgbe_fw_logging.c

ix(4): Add support for firmware logging for E610 adapters

This is part 3 of the support for the new Intel Ethernet E610
family of devices

The ix driver now enables firmware logging on Intel E610 devices
for debugging with Customer Support. Logs are enabled by default
and generated in binary format that requires decoding by support
teams. The collected data is firmware and hardware related for
debugging purposes only.

When the driver loads, it creates a fw_log sysctl node under the
debug section. Events are organized into categories (modules) for
targeted logging, and users can adjust verbosity levels as needed.

This adds sysctl support for the firmware logging feature and
updates the ix(4) manual page with documentation.

Signed-off-by: Yogesh Bhosale <yogesh.bhosale at intel.com>

    [8 lines not shown]
DeltaFile
+486-0sys/dev/ixgbe/ixgbe_e610.c
+467-0sys/dev/ixgbe/ixgbe_fw_logging.c
+36-0sys/dev/ixgbe/ixgbe_osdep.c
+33-1share/man/man4/ix.4
+18-4sys/dev/ixgbe/if_ix.c
+13-0sys/dev/ixgbe/ixgbe_e610.h
+1,053-56 files not shown
+1,066-512 files

FreeBSD/src 76597c0sys/dev/ixgbe ixgbe_type_e610.h ixgbe_e610.c

ix(4): Add EEE support for E610 adapters

The ix driver now supports Energy Efficient Ethernet (EEE) on Intel
E610 devices. EEE allows the network interface to enter low-power
states during periods of low link utilization, reducing power
consumption while maintaining full performance when needed.

E610 adapters provide EEE support through BASE-T PHY functionality.
Due to this PHY-based implementation, EEE is supported only
on 2.5Gb speeds and above.

Signed-off-by: Yogesh Bhosale <yogesh.bhosale at intel.com>
Signed-off-by: Krzysztof Galazka <krzysztof.galazka at intel.com>

Authored-by: Yogesh Bhosale <yogesh.bhosale at intel.com>

Approved by:    kbowling (mentor)
Tested by:      Mateusz Moga <mateusz.moga at intel.com>
Sponsored by:   Intel Corporation

    [3 lines not shown]
DeltaFile
+43-14sys/dev/ixgbe/ixgbe_type_e610.h
+35-13sys/dev/ixgbe/ixgbe_e610.c
+34-0sys/dev/ixgbe/if_ix.c
+112-273 files

FreeBSD/src b994520sys/conf files.powerpc options

conf: remove trailing whitespace

This prevents unwanted change when saving files on IDEs (e.g. VSCode,
Zed)

Signed-off-by: Minsoo Choo <minsoo at minsoo.io>
Sponsored by:   The FreeBSD Foundation
Pull request:   https://github.com/freebsd/freebsd-src/pull/2152

(cherry picked from commit a338f5a0e7b1b5c22595aacbac44582ed5e0fe86)
DeltaFile
+5-5sys/conf/files.powerpc
+2-2sys/conf/options
+1-1sys/conf/files
+8-83 files

FreeBSD/src 9e1571csys/dev/ice ice_lib.c

ice(4): Fix link speed after changing cable type

When interface was connected to a link partner with a cable
type limitting maximum supported speed, e.g. SFP+ cable
in 25G port, driver incorrectly saved a supported speed
as the user configured speed. This prevented interface
from using all supported speeds after switching cable to SFP28.
Link was established at 10G as supported by previously used
SFP+ cable. Don't set user requested speed unless actually
configured by an user, to allow automatic selection of highest
available speed. Only when user sets custom config
using advertise_speed sysctl save it and try
to apply after cable is changed.

Also don't save initial supported speeds if FW supports
reporting default PHY config.

Signed-off-by: Krzysztof Galazka <krzysztof.galazka at intel.com>


    [5 lines not shown]
DeltaFile
+11-7sys/dev/ice/ice_lib.c
+11-71 files

FreeBSD/src f7a0e89sys/dev/ice ice_drv_info.h

ice(4): Add support for new E810-XXV-2 adapters

Add two new subdevice IDs for E810-XXV-2 and E810-XXV-2 for OCP 3.0.

Signed-off-by: Krzysztof Galazka <krzysztof.galazka at intel.com>

Reviewed by:    kbowling, erj, mateusz.moga_intel.com
Sponsored by:   Intel Corporation
Differential Revision:  https://reviews.freebsd.org/D54069

(cherry picked from commit bea6f7d02dfbef8f8209f0ca5f1d76877d549f46)
DeltaFile
+6-0sys/dev/ice/ice_drv_info.h
+6-01 files

FreeBSD/src 1c9c1a6release/tools vmimage.subr

vmimage.subr: Add ability to install src in VM image

In some cases having a src tree in a VM image is convenient
for development or debugging. Add a WITH_SRC variable,
which, when set, will cause the vm-release target to include
FreeBSD-set-src in the list of packages installed in an image.

Signed-off-by: Krzysztof Galazka <krzysztof.galazka at intel.com>

Sponsored by:   Intel Corporation

Reviewed by:    cperciva
Differential Revision:  https://reviews.freebsd.org/D57143

(cherry picked from commit 4ea4116f8d2069194563c8692c1f28d88c319ca8)
DeltaFile
+1-0release/tools/vmimage.subr
+1-01 files

FreeBSD/src 584ecfesys/modules/xz Makefile

XZ kernel build cleanup

-I${SRCTOP}/sys/contrib/xz-embedded/linux/lib/xz isn't used, and
.PATH: ${SRCTOP}/sys/contrib/xz-embedded/freebsd isn't used either.
Remove them both to simplify things a little.

Sponsored by:           Netflix
DeltaFile
+0-2sys/modules/xz/Makefile
+0-21 files

FreeBSD/src 45f9f6eusr.sbin/kldxref kldxref.c kldxref.8

kldxref: Add -m filag to print info about modules in one file

kldxref -m <file> will print the same data that the '-d' flag produces,
except restrict the output to one file. This should be the full path to
the file, and the directory name to process is omitted.

Sponsored by:           Netflix
Differential Revision:  https://reviews.freebsd.org/D57902
DeltaFile
+14-3usr.sbin/kldxref/kldxref.c
+6-1usr.sbin/kldxref/kldxref.8
+20-42 files

FreeBSD/src bcb1b15share/man/man5 src.conf.5, stand Makefile.amd64

loader: Add two new build knobs for x86 BIOS loaders

We have two sets of BIOS loaders: One that lives in stand/i386 and one
that lives in stand/userboot. Add knows to turn these on/off, with the
default being on. These often aren't needed when creating a minimal UEFI
system, so add knobs to turn them off.  Given light-weight VMs have
created a new use cases for these loaders, there's no plans at all to
eliminate them.

Sponsored by:           Netflix
Differential Revision:  https://reviews.freebsd.org/D58072
DeltaFile
+7-1share/man/man5/src.conf.5
+2-2stand/Makefile.amd64
+2-0tools/build/options/WITH_LOADER_BIOS
+2-0tools/build/options/WITHOUT_LOADER_BIOS
+2-0tools/build/options/WITHOUT_LOADER_USERBOOT
+2-0tools/build/options/WITH_LOADER_USERBOOT
+17-31 files not shown
+19-37 files

FreeBSD/src c8842f1stand/efi/loader main.c

Revert "loader.efi: Trim ZFS searching for other booting options"

This reverts commit 3e3fd1fde8e168910edc538966111c0b5f03cd5f.

This appears to break chainbooting with boot1.efi and similar scenarios
with Root-on-ZFS scenarios. Revert until it's better understood.

PR: 296309
Sponsored by: Netflix
Differential Revision:  https://reviews.freebsd.org/D58071
DeltaFile
+24-6stand/efi/loader/main.c
+24-61 files

FreeBSD/src 603270bstand/efi/libefi efipart.c

loader.efi: Fix off by one error in size of the virtual disk

The end address is the final byte in the array, not one byte past the
end of the array, so we need to add 1 to get the full length.

Fixes: 59219fc76a4b ("loader.efi: efiblk_memdisk_preload passes the VirtualDisks to FreeBSD")
Sponsored by: Netflix
Differential Revision:  https://reviews.freebsd.org/D58069
DeltaFile
+1-1stand/efi/libefi/efipart.c
+1-11 files

FreeBSD/src a22fa5estand/efi/loader memdisk.c

laoder.efi: Fix error in download protcol

The download protocol calls download_data with FileOffset and
BufferLength of 0 first to start the download (no data yet
available). Calls it again with BufferLength == 0 and FileOffset the
size of the download (again, no data). It then starts calling with
BufferLength != 0 and FileOffset == 0 to start the download. The
heuristic I used to detect the start was wrong, so we'd allocate the
buffer twice. Fix that by being more explicit and not using the
heuristic that was bogus.

Fixes: afee781523e4 ("loader.efi: Recognize new memdisk=<url> and memcd=<url> options")
Sponsored by:           Netflix
Differential Revision:  https://reviews.freebsd.org/D58068
DeltaFile
+7-3stand/efi/loader/memdisk.c
+7-31 files

FreeBSD/src 1d12982stand/efi/loader decompress.c

loader.efi: Simplify the code for null decompression a little

This code is simpler when we spell it the Unix way. Also, add sanity
checks to make sure the offset is where we think it is.

Fixes: afee781523e4 ("loader.efi: Recognize new memdisk=<url> and memcd=<url> options")
Sponsored by: Netflix
Differential Revision:  https://reviews.freebsd.org/D58070
DeltaFile
+7-3stand/efi/loader/decompress.c
+7-31 files

FreeBSD/src f273414sys/amd64/conf MINIMAL, sys/i386/conf MINIMAL

MINIMAL: Add device md

This can't be a loadable module, so add it to MINIMAL

Sponsored by:           Netflix
Differential Revision:  https://reviews.freebsd.org/D58067
DeltaFile
+1-0sys/amd64/conf/MINIMAL
+1-0sys/i386/conf/MINIMAL
+2-02 files

FreeBSD/src 5792a63crypto/openssh servconf.h servconf.c

openssh: fix GSSAPI option names

From openssh-portable commit c14709356563.

Reported by:    cy
DeltaFile
+9-9crypto/openssh/servconf.h
+9-9crypto/openssh/servconf.c
+18-182 files

FreeBSD/src 28abe46sys/ufs/ffs ffs_vfsops.c

ffs: do not return ESTALE on attempt to ffs_unotovp() on unlinked inode

(cherry picked from commit c041b82c59e885d106f45454302bad3d9dcc58a7)
DeltaFile
+1-1sys/ufs/ffs/ffs_vfsops.c
+1-11 files

FreeBSD/src fe0d7d6contrib/libcxxrt exception.cc

libcxxrt: Fix diagnostics for derived classes

In terminate_with_diagnostics the cast_to arguments were swapped, so it
always failed.  The diagnostic handler produced output like "Terminating
due to uncaught exception 0x24891e08000 of type std::runtime_error".

Now, e->what() will actually be included in the output, e.g.
"Terminating due to uncaught exception 0x2bba49208000 'Model file
doesn't exist' of type std::runtime_error".

Reviewed by:    dim
Event:          Halifax Hackathon 202606
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57822

(cherry picked from commit 3a5c2899fc7bd0865b5aacccc3465e46e9bc6df3)
(cherry picked from commit ab1af7bd2f425147e658a32f128a56176b1de059)
DeltaFile
+1-1contrib/libcxxrt/exception.cc
+1-11 files

FreeBSD/src db1b75dusr.bin/vtfontcvt vtfontcvt.c

vtfontcvt: Return error from write_fnt_source

Previously write_fnt_source always returned 0, silently discarding
errors.  Return rv so that errors set vtfontcvt's shell exit
appropriately.

Sponsored by: The FreeBSD Foundation

(cherry picked from commit f05fb5157ba1291ee5019bacece8d1e98ea95b35)
(cherry picked from commit a00f80731213e03bf3d0b9028a93d0be4c0df756)
DeltaFile
+1-1usr.bin/vtfontcvt/vtfontcvt.c
+1-11 files

FreeBSD/src ab1af7bcontrib/libcxxrt exception.cc

libcxxrt: Fix diagnostics for derived classes

In terminate_with_diagnostics the cast_to arguments were swapped, so it
always failed.  The diagnostic handler produced output like "Terminating
due to uncaught exception 0x24891e08000 of type std::runtime_error".

Now, e->what() will actually be included in the output, e.g.
"Terminating due to uncaught exception 0x2bba49208000 'Model file
doesn't exist' of type std::runtime_error".

Reviewed by:    dim
Event:          Halifax Hackathon 202606
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57822

(cherry picked from commit 3a5c2899fc7bd0865b5aacccc3465e46e9bc6df3)
DeltaFile
+1-1contrib/libcxxrt/exception.cc
+1-11 files

FreeBSD/src 707ee7fsys/dev/usb usbdevs

usbdevs: Add Microchip 10BASE-T1S eval board

USB vendor:product 184f:0051

Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D56794
DeltaFile
+4-0sys/dev/usb/usbdevs
+4-01 files

FreeBSD/src e9f21e4sys/compat/linuxkpi/common/include/linux delay.h

linuxkpi: Add `usleep_range_state()`

It takes a task state as its last argument. We enforce that this state
is `TASK_UNINTERRUPTIBLE` for the time being because other states are
not interpreted.

Change `usleep_range()` to call `usleep_range_state()` with the state
set to `TASK_UNINTERRUPTIBLE`, which is what Linux does too.

The amdgpu DRM driver starte to use `usleep_range_state()` in Linux
6.13.

Reviewed by:    emaste
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57579
DeltaFile
+13-1sys/compat/linuxkpi/common/include/linux/delay.h
+13-11 files

FreeBSD/src 6d5f5f7sys/compat/linuxkpi/common/include/linux acpi.h

linuxkpi: Add `to_acpi_device_node()` and `ACPI_COMPANION()`

The former is called by the latter. We return NULL because linuxkpi does
not implement ACPI (pseudo?) devices associated to regular devices.

The amdgpu DRM driver started to use `ACPI_COMPANION()` in Linux 6.13.

Reviewed by:    emaste
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57577
DeltaFile
+8-0sys/compat/linuxkpi/common/include/linux/acpi.h
+8-01 files

FreeBSD/src 712623asys/dev/usb/controller generic_ehci_fdt.c

generic_ehci_fdt: fix driver softc size

This subclass declares its own softc structure adding necessary members
after the embedded ehci_softc_t. The full size of the struct must be
included in the driver declaration, otherwise the allocation backing the
softc is not guaranteed to be large enough.

Reported by:    KASAN
Reviewed by:    jrtc27, manu
Fixes: 7a58744fd0f1 ("Split out the attachment from the generic-ehci driver")
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D57951

(cherry picked from commit d5332d3a904242cb82e7dbf35e4aeec7c2df4402)
DeltaFile
+1-1sys/dev/usb/controller/generic_ehci_fdt.c
+1-11 files

FreeBSD/src 745c0eastand/libofw openfirm.c openfirm.h, stand/powerpc/ofw ofwfdt.c

stand/libofw: make OF_hasprop() part of the library

Currently it is only needed by powerpc ofwfdt.c, and defined statically
there. Make it available as part of libofw, mirroring what we have in
the kernel.

Two small tweaks are made to the implementation:
  1. Return type is changed to bool
  2. Return 'true' when OF_getproplen() == 0. This matches the expected
     semantics of the kernel version, described in OF_hasprop(9).

Reviewed by:    manu, imp, adrian
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D56429

(cherry picked from commit 48a05f833c7d0c089d37522cc234039ec823edf4)
DeltaFile
+7-0stand/libofw/openfirm.c
+0-6stand/powerpc/ofw/ofwfdt.c
+1-0stand/libofw/openfirm.h
+8-63 files

FreeBSD/src b17f8fdsys/arm/broadcom/bcm2835 raspberrypi_virtgpio.c

raspberry_virtgpio: fix OF_hasprop() usage

The function returns a bool. This driver was merged recently (by me) and
I missed this instance.

While here, adjust the ofw_bus_status_okay() call similarly. This
function still returns an int, but this usage is more widely used in our
drivers.

No functional change intended.

MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Fixes:          b60cd486a652 ("ofw: bool-ify OF_hasprop()")

(cherry picked from commit ce6b4973ba8c6503d3b6dc12d9e6b42ce274d912)
DeltaFile
+2-2sys/arm/broadcom/bcm2835/raspberrypi_virtgpio.c
+2-21 files