FreeBSD/src 017690elib/libsysdecode flags.c mktables, sys/netpfil/pf pf_nl.h

netpfil: add PF netlink command decoding support

Convert PFNL_CMD values in pf_nl.h from an enum to #define constants,
add a pfnl_cmd table definition for mktable, and implement the
corresponding command decoding helpers in libsysdecode.

This allows mktable to generate PF netlink command lookup tables and
enables symbolic decoding of PF netlink commands.

Reviewed by:    kp
Signed-off-by:  Ishan Agrawal <iagrawal9990 at gmail.com>
Sponsored by:   Google LLC (GSoC 2026)
DeltaFile
+51-52sys/netpfil/pf/pf_nl.h
+8-0lib/libsysdecode/flags.c
+1-0lib/libsysdecode/mktables
+1-0lib/libsysdecode/sysdecode.h
+61-524 files

FreeBSD/src 3d9cd10usr.sbin/periodic/etc/security 520.pfdenied

pfdenied: fix checking root anchor

pfctl doesn't like empty anchors (-a ''), but we can specify the root
anchor as '/' too, so do that instead.

PR:             295324
Tested by:      Paweł Krawczyk
MFC after:      1 week
Sponsored by:   Rubicon Communications, LLC ("Netgate")
DeltaFile
+1-1usr.sbin/periodic/etc/security/520.pfdenied
+1-11 files

FreeBSD/src a22f7e4sys/dev/sound/pcm mixer.c

sound: Retire snd_mixer->enuminfo

Instead of caching this when mix_setrecdevs() is called (which many
drivers never call), calculate it when we need it. After all, it is
quite rare that this structure is used by applications.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/18

(cherry picked from commit 5589a7499add5912a88e9424b0aec843e099fb60)
DeltaFile
+23-55sys/dev/sound/pcm/mixer.c
+23-551 files

FreeBSD/src 70f6823sys/dev/sound/pcm mixer.c mixer.h

sound: Update mixer.c LICENSE header

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/18

(cherry picked from commit 773bbfc57328f0a7947f2ad9a30de6a45ccce758)
DeltaFile
+4-0sys/dev/sound/pcm/mixer.c
+4-0sys/dev/sound/pcm/mixer.h
+8-02 files

FreeBSD/src 1ed4817sys/arm/allwinner/a64 sun50i_a64_acodec.c, sys/arm64/rockchip rk3328_codec.c

sound: Remove all remaining uses of mixer_get_lock()

These functions are called from sound(4) through MIXER_SET() in
mixer_set(), but nothing mixer-related is used or needs to be locked in
these cases.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/18

(cherry picked from commit 1e72608a3c6a60b76938c5ded2a290d0b9ff6456)
DeltaFile
+0-17sys/dev/sound/macio/onyx.c
+0-17sys/dev/sound/macio/snapper.c
+0-17sys/dev/sound/macio/tumbler.c
+0-14sys/arm/allwinner/a64/sun50i_a64_acodec.c
+0-14sys/arm64/rockchip/rk3328_codec.c
+0-795 files

FreeBSD/src 323e28esys/dev/sound/pcm mixer.h mixer.c

sound: Retire MIXER_SIZE and use correct size in DEFINE_CLASS

I am not sure why this hack was needed, but the size should be
sizeof(struct snd_mixer). Unfortunately, we have to expose snd_mixer,
but it should be better than relying on a hack.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/18

(cherry picked from commit 64ebbb1d74415cb93445cc625da63449f01ac8c5)
DeltaFile
+24-8sys/dev/sound/pcm/mixer.h
+0-22sys/dev/sound/pcm/mixer.c
+24-302 files

FreeBSD/src da80fa2sys/dev/sound/pcm mixer.c mixer.h

sound: Retire unused mixer_get_lock()

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/18

(cherry picked from commit 6a3a42c57cf45874294105419f5c5de6602db3f8)
DeltaFile
+0-10sys/dev/sound/pcm/mixer.c
+0-1sys/dev/sound/pcm/mixer.h
+0-112 files

FreeBSD/src d80356bsys/dev/sound/usb uaudio_pcm.c

snd_uaudio: Stop using mixer_get_lock()

There is no reason to lock snd_mixer->lock here, since the only thing we
are doing with snd_mixer is to call mix_getdevinfo() and mix_get_dev(),
which are one-line getters, which are needed to eventually call
uaudio_get_child_index_by_dev().

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/18

(cherry picked from commit e87654db5a0923856afbaace9bd0975331782044)
DeltaFile
+2-23sys/dev/sound/usb/uaudio_pcm.c
+2-231 files

FreeBSD/src b8d119csys/dev/sound/pcm mixer.c

sound: Do not lock before destroying snd_mixer->lock

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/18

(cherry picked from commit 7485519d56346909c4db595ab0342128353d5b8d)
DeltaFile
+0-1sys/dev/sound/pcm/mixer.c
+0-11 files

FreeBSD/src d608731sys/dev/sound/usb uaudio.c

snd_uaudio: Do not use snd_mixer->lock as mixer_lock

In similar fashion to c234740c9d34 ("snd_uaudio: Do not use
pcm_channel->lock to protect uaudio_chan"), stop this layering
violation, and introduce a snd_uaudio(4)-internal mixer_lock.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/18

(cherry picked from commit 9a00e0b8ca566b6942874eb08c03baf035a17702)
(cherry picked from commit fc9dc848239652ec1e4135adb4833a5f002cef0f)
DeltaFile
+17-24sys/dev/sound/usb/uaudio.c
+17-241 files

FreeBSD/src f94bb91share/man/man4 pcm.4, sys/dev/sound/pcm mixer.c

sound: Retire unused hw.snd.vpc_mixer_bypass

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/18

(cherry picked from commit 8e804f3dd6298d6aa8cbaf0f2a0267c6207ac8f7)
DeltaFile
+0-9share/man/man4/pcm.4
+0-5sys/dev/sound/pcm/mixer.c
+0-142 files

FreeBSD/src 3693f44sys/dev/sound/pcm mixer.c

sound: Retire mixer_ioctl_channel()

This function never succeeds when it is not called from the same process
that has opened the file descriptor (e.g., mixer(8)). The reason is that
the CHN_FOREACH() loop tries to match the pid of each channel with the
pid of the process performing the ioctl, which will not be the same,
unless it's the same process that both opened the channel and performed
the ioctl.

In the case that the same process opens the channels and performs the
ioctl, however, we still do not need to worry, because mixer_ioctl_cmd()
essentially does the same thing anyway. Additionally, this scenario
should be quite rare, given that most applications do not open both
/dev/dsp* and /dev/mixer*, and in fact, it is actively encouraged by the
official OSSv4 specification not to do that.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/18

    [2 lines not shown]
DeltaFile
+1-116sys/dev/sound/pcm/mixer.c
+1-1161 files

FreeBSD/src de5502esys/dev/sound/pcm dsp.c mixer.h

sound: Remove unused "from" mixer_ioctl_cmd() argument

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/18

(cherry picked from commit 22730c4b10ba391859a06966ea3e429aaf43cd09)
DeltaFile
+3-6sys/dev/sound/pcm/dsp.c
+1-4sys/dev/sound/pcm/mixer.h
+2-2sys/dev/sound/pcm/mixer.c
+6-123 files

FreeBSD/src 52536dbsys/dev/sound/pcm channel.c feeder_eq.c

sound: Retire FEEDEQ_DISABLE

We can do this more efficiently by just using the SD_F_EQ* flags. In
fact, the dev.pcm.%d.eq handler will (un)set SD_F_EQ_ENABLED and this is
what we actually test with when choosing to creating the EQ feeder or
not, so setting the state to FEEDEQ_DISABLE does not really an effect in
the first place.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/15

(cherry picked from commit f5d6e5cb5c3e0593d24c90671d72654aa59cdd1a)
DeltaFile
+4-8sys/dev/sound/pcm/channel.c
+2-3sys/dev/sound/pcm/feeder_eq.c
+0-1sys/dev/sound/pcm/feeder.h
+6-123 files

FreeBSD/src 9060512share/man/man4 pcm.4

pcm.4: Document dev.pcm.%d.eq*

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/15

(cherry picked from commit 98a62ccab6ac30d13c2dbcdc7468af8f87df4ec9)
DeltaFile
+11-0share/man/man4/pcm.4
+11-01 files

FreeBSD/src 82dcd57sys/dev/sound/pcm feeder_eq.c

sound: Remove dead EQ FEEDEQ_DISABLE code

If EQ is disabled, we never reach those code paths in the first place.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/15

(cherry picked from commit 6f130b220d7ce64ce65f076a21edea034d14482b)
DeltaFile
+0-16sys/dev/sound/pcm/feeder_eq.c
+0-161 files

FreeBSD/src 3c49470sys/dev/sound/pcm mixer.c

sound: Retire M_MIXER

Even though harmless, it is not really useful, as there is essentially
only one allocation with M_MIXER.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/18

(cherry picked from commit e8ea97602ca97166a0729fdc32c84c9016fe7b0c)
DeltaFile
+4-6sys/dev/sound/pcm/mixer.c
+4-61 files

FreeBSD/src 755a785sys/dev/sound/pcm feeder_eq.c

sound: Update feeder_eq.c LICENSE header

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/15

(cherry picked from commit dfa52e8ed5b5c00f0a587f02258c90e407e5bf6b)
DeltaFile
+1-1sys/dev/sound/pcm/feeder_eq.c
+1-11 files

FreeBSD/src 65029feusr.sbin/sndctl sndctl.c sndctl.8

sndctl(8): Implement EQ controls

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/15

(cherry picked from commit 8b8dbc6bbe391fd95a19bd1d9f0aac47bac085f8)
DeltaFile
+41-0usr.sbin/sndctl/sndctl.c
+3-1usr.sbin/sndctl/sndctl.8
+44-12 files

FreeBSD/src ea09d61sys/dev/sound/pcm feeder_eq.c

sound: Retire hint.pcm.%d.eq_preamp

It wasn't documented in the first place, but it is easier to just use
the sysctl.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/15

(cherry picked from commit 3a3cb16ad4181700d787e6b24bedafe85c791901)
DeltaFile
+1-7sys/dev/sound/pcm/feeder_eq.c
+1-71 files

FreeBSD/src 333af32sys/dev/sound/pcm feeder_eq.c channel.c

sound: Retire EQ states

The SD_F_EQ_ENABLED does the same thing, and is actually what we test
against in order to create the EQ feeder.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/15

(cherry picked from commit 88bc1d7325aa97520f7a308d70a5fcb39acdc5d2)
DeltaFile
+2-23sys/dev/sound/pcm/feeder_eq.c
+0-3sys/dev/sound/pcm/channel.c
+0-3sys/dev/sound/pcm/feeder.h
+2-293 files

FreeBSD/src 91a6647share/man/man4 pcm.4, sys/dev/sound/pcm mixer.c sound.h

sound: Expose EQ by default

The dev.pcm.%d.eq* sysctls and mixer "bass" and "treble" controls are
exposed only if hint.pcm.%d.eq is set. However, there is no good reason
why we shouldn't at least expose the controls, and let the user
enable/disable/bypass equalization through the sysctl.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/15

(cherry picked from commit a0011c74f8f026e04803b9815198a56f50c247e6)
DeltaFile
+3-14sys/dev/sound/pcm/mixer.c
+0-9share/man/man4/pcm.4
+2-6sys/dev/sound/pcm/sound.h
+1-2sys/dev/sound/pcm/sound.c
+1-1sys/dev/sound/pcm/feeder_chain.c
+7-325 files

FreeBSD/src 8511a14sys/dev/sound/pcm feeder_eq.c sound.h

sound: Retire FEEDEQ_BYPASS

In effect, this is the same as the disable state. There is a comment
that says the bypass state skips EQ altogether, which is what the
disable should be. The disable state according to the comment disables
EQ but keeps the EQ preamp (dev.pcm.%d.eq_preamp), however after testing
it seems that the preamp does not really take effect, because with EQ
disabled, feeder_eq is non existent, so we never execute any EQ code in
the first place.

Make things simpler and clearer and have 2 states; enable and disable,
and do what they should do intuitively.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/15

(cherry picked from commit 54a03b44ae386e26d29df6eece3fadb5c0d1105a)
DeltaFile
+7-19sys/dev/sound/pcm/feeder_eq.c
+2-2sys/dev/sound/pcm/sound.h
+1-3sys/dev/sound/pcm/channel.c
+0-1sys/dev/sound/pcm/feeder.h
+10-254 files

FreeBSD/src 309fc9fsys/dev/cxgbe/crypto t7_kern_tls.c

cxgbe(4): Use correct FID in KTLS tx work requests

MFC after:      1 week
Sponsored by:   Chelsio Communications
DeltaFile
+2-2sys/dev/cxgbe/crypto/t7_kern_tls.c
+2-21 files

FreeBSD/src 4b6887esys/dev/cxgbe/common t4_hw.c

cxgbe(4): Do not read indirect INT_CAUSE registers directly

Some of the registers added in a172f9e5b3cf are not directly accessible
and should be avoided.

Fixes:          a172f9e5b3cf cxgbe(4): Improvements to the slow interrupt handler
MFC after:      1 week
Sponsored by:   Chelsio Communications
DeltaFile
+8-0sys/dev/cxgbe/common/t4_hw.c
+8-01 files

FreeBSD/src c029d04sys/dev/cxgbe t4_main.c

cxgbe(4): Use backdoor access to read SGE context on T7

This avoids a firmware bug where it crashes when accessing SGE context
on a secondary core.

MFC after:      1 week
Sponsored by:   Chelsio Communications
DeltaFile
+1-1sys/dev/cxgbe/t4_main.c
+1-11 files

FreeBSD/src 8861648sys/amd64/conf NOTES GENERIC, sys/conf files.amd64 options.amd64

amd64: complete thunderbolt KERNCONF integration

This completes the work so the driver can be integrated into KERNCONFs
properly on amd64.

MFC after: 1 month

Differential Revision:  https://reviews.freebsd.org/D55573
DeltaFile
+10-0sys/conf/files.amd64
+4-0sys/amd64/conf/NOTES
+3-0sys/conf/options.amd64
+1-0sys/amd64/conf/GENERIC
+18-04 files

FreeBSD/src a48b900sys/conf files.amd64, sys/dev/asmc asmcmmio.c asmc.c

asmc: add MMIO backend for T2 Macs

T2 Macs (2018+) expose the SMC via memory-mapped registers instead of
I/O ports. Add asmcmmio.c/asmcmmio.h implementing the MMIO transport:
key read/write, getinfo, getbyindex, and a poll-based wait with
exponential backoff.

The driver probes for MMIO at attach time by checking the LDKN firmware
version key; if MMIO is available it is used, otherwise the standard
I/O port backend is used.

T2 fan speeds use IEEE 754 floats instead of fpe2 fixed-point.
Per-fan manual mode uses F%dMd keys instead of the FS! bitmask.
Battery charge limit is exposed via dev.asmc.N.battery_charge_limit.

Tested on:
  MacBookPro16,2 (A2251, iBridge2,10)
  MacBookPro15,4 (A2159, iBridge2,8)
  MacBookAir8,2  (A1932, iBridge2,5)

    [7 lines not shown]
DeltaFile
+402-0sys/dev/asmc/asmcmmio.c
+146-24sys/dev/asmc/asmc.c
+56-0sys/dev/asmc/asmcmmio.h
+5-0sys/dev/asmc/asmcvar.h
+1-1sys/modules/asmc/Makefile
+1-0sys/conf/files.amd64
+611-256 files

FreeBSD/src e949ce9contrib/file/magic/Magdir archive firmware, contrib/file/src readelf.c funcs.c

MFV: file 5.47.

MFC after:      3 days
DeltaFile
+143-74contrib/file/magic/Magdir/archive
+109-96contrib/file/src/readelf.c
+140-5contrib/file/magic/Magdir/firmware
+112-0contrib/file/magic/Magdir/sf3
+77-26contrib/file/src/funcs.c
+101-1contrib/file/magic/Magdir/database
+682-20277 files not shown
+2,042-59683 files

FreeBSD/src 79746c4magic/Magdir archive firmware, src readelf.c funcs.c

Vendor import of file 5.47.
DeltaFile
+143-74magic/Magdir/archive
+109-96src/readelf.c
+140-5magic/Magdir/firmware
+112-0magic/Magdir/sf3
+77-26src/funcs.c
+101-1magic/Magdir/database
+682-20276 files not shown
+2,042-59582 files