linuxkpi: Define `ULL()`
It simply appends "ULL" to its argument.
The amdgpu DRM driver used it at some point in the development cycle of
Linux 6.14 but the use case was dropped later. Let's still add it to
linuxkpi because it will help if we need to do a git bisect in drm-kmod.
Reviewed by: emaste
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57703
linuxkpi: Defined more Intel vendor/family/model constants
The i915 DRM driver started to use them in Linux 6.14.
Reviewed by: emaste
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57699
linuxkpi: Define and fill `struct cpuinfo_x86->x86_stepping`
This will be used in a follow-up commit to implement `x86_match_cpu()`.
Reviewed by: emaste
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57698
linuxkpi: Add <linux/cgroup_dmem.h>
In this header, we declare empty stubs for all functions, as if
`CONFIG_CGROUP_DMEM` was disabled is Linux.
The DRM TTM memory manager started to use this in Linux 6.14.
Reviewed by: emaste
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57702
linuxkpi: Define `struct vfsmount` in <linux/mount.h>
In the context of the DRM drivers, this is used to show GEM objects in a
shmfs virtual filesystem. The new `shmem_file_setup_with_mnt()` - also
introduced in this commit as an alias to `shmem_file_setup()` - takes a
`struct vfsmount` as its first argument to indicate which shmfs mount
should be used.
For now, the structure is empty. As we don't present GEM objects in a
virtual filesystem right now, we can defer the actual implementation of
this structure once we have an actual use for it.
The DRM generic code started to use it in Linux 6.13.
Reviewed by: emaste
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57572
qat: driver updates to enhance qat infrastructure
- Updated QAT infrastructure FW version/AE mask/num_banks fields
to facilitate integration of future QAT products.
- Exposed service as sym;asym instead of cy for gen4
- Enhanced cpaGetInstances() for accurate instance retrieval
- Added 57-bit virtual address support to lac_lock_free_stack
- Minor bug fixes and improvements
Signed-off-by: Hareshx Sankar Raj <hareshx.sankar.raj at intel.com>
Reviewed by: markj
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D57746
ctld: Simplify handling of non-iSCSI and non-NVMe kernel ports
Just add these directly to the kports object rather than treating them
as iSCSI ports.
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D57283
acpi_support/acpi_ibm.c: move the 'key' definition to the block that uses it
This eliminates a warning from compilation of kernels without
EVDEV_SUPPORT.
Fixes: 7e7f8b2c6641 ("acpi_ibm: Report mic mute key evdev events")
Sponsored by: The FreeBSD Foundation
truss: add AF_NETLINK syscall argument decoding support
Track AF_NETLINK socket file descriptors in procinfo using fd_domain
entries and use them to detect Netlink traffic across later syscalls.
Add Netlink payload decoding support for sendto(), recvfrom(), and
sendmsg() paths by integrating sysdecode_netlink() into BinString and
Msghdr argument handling, with fallback to existing binary/iovec
printing when decoding fails.
Reviewed by: kp
Signed-off-by: Ishan Agrawal <iagrawal9990 at gmail.com>
Sponsored by: Google LLC (GSoC 2026)
Pull Request: https://github.com/freebsd/freebsd-src/pull/2295
virtual_oss.8: Document `/dev/bluetooth/` prefix magic
Without this one could be led to believe they should have an actual
`/dev/bluetooth/xxx` device in devfs from just reading the examples.
Event: Halifax Hackathon 202606
Reviewed by: christos
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D57818
libnetbsd: Avoid bringing in all of sys/param.h in sys/types.h
It's okay to hard-code NBBY, as the value is somewhat unlikely to
change.
The pollution from sys/param.h makes it harder to import test code from
NetBSD since it can introduce conflicting definitions, e.g.,
MIN()/MAX().
Reviewed by: ngie
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57754
acpi_ibm: Report mic mute key evdev events
While here, make the naming of micmute_led more consistent.
PR: 296140
Event: Halifax Hackathon 202606
Reported by: David Lundqvist
Reviewed by: olce
Tested by: David Lundqvist, Oleksandr Kryvulia
Co-authored-by: David Lundqvist
Sponsored by: The FreeBSD Foundation
sound: Retire unused SD_F_EQ_PC
This flag is neither set anywhere, nor is there a way to set it from
userland, so it is effectively useless, and currently the effect is that
EQ can only be enabled for primary playback channels.
Retire the flag and keep this behavior, and think later whether we want
to allow virtual channels to get their own EQ feeder as well.
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
netlink: decode netlink message flags symbolically
Generate an nlm_flag table definition for mktable from
netlink/netlink.h, add a sysdecode_nlm_flag() helper to
libsysdecode, and use it when decoding netlink message headers.
This enables mktable to generate netlink message flag lookup tables and
replaces raw hexadecimal output for recognized NLM_F_* flag values
with their symbolic names.
Reviewed by: kp
Signed-off-by: Ishan Agrawal <iagrawal9990 at gmail.com>
Sponsored by: Google LLC (GSoC 2026)
Pull Request: https://github.com/freebsd/freebsd-src/pull/2294
riscv: Vector Extension (RVV) support.
RVV is a scalable SIMD (Single Instruction, Multiple Data) extension
designed to accelerate data-intensive workload such as AI, machine-learning
and DSP.
RVV exposes vector-length agnostic (VLA) execution and programming model,
with implementation defined vector register file size, dynamic vector
length selection, flexible register grouping, and rich instruction
semantics, serving as the foundation for portable, high-throughput
data-parallel acceleration.
Spec: https://github.com/riscvarchive/riscv-v-spec
RVV extends a base scalar RISC-V ISA with 32 vector registers and seven
unprivileged control-status registers (CSRs) to control the engine. Each
vector register could be up to 2^16 bits in length, depending on
implementation.
[12 lines not shown]
loader/efi: pre-allocate memory map buffer before ExitBootServices
Move the memory map allocation before the ExitBootServices retry
loop to ensure no boot service calls occur between GetMemoryMap
and ExitBootServices. This simplifies the control flow by removing
the inner sizing loop and matches the strategy used by the Linux
EFI stub.
Identified while investigating an ExitBootServices hang on
AMD AGESA 1.3.0.0a firmware (Gigabyte B650 GAMING X AX V2).
Signed-off-by: Christos Longros <chris.longros at gmail.com>
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D56249
ntsync.4: add the man page
Reviewed by: ziaee
Discussed with: Alex S <iwtcex at gmail.com>
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
Differential revision: https://reviews.freebsd.org/D57659
fusefs: fix two intermittency bugs in the destroy tests
* Though undocumented, statfs(2) can sometimes return EBADF or ENOENT
while an unmount is in progress.
* In MockFS::write_response, write(2) may fail if m_fuse_fd has already
been closed. This doesn't happen in the normal sequence of events,
but it can happen if some process unrelated to the test nosily decides
to access the test file system while it's being unmounted.
PR: 296237
Reported by: siva
MFC after: 2 weeks
Sponsored by: ConnectWise
Reviewed by: siva
Differential Revision: https://reviews.freebsd.org/D57787
vfs: rename vop_mmapped() to vop_update_atime()
This reflects the actual functionality of the VOP. While there, add the
explicit struct timespec argument for the VOP allowing the caller to set
specific atime, not just request an update for it.
Requested by: rmacklem
Reviewed by: rmacklem
Discussed with: jah
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D57681
linuxkpi ioctl handler: restore the user data pointer
instead of trying to hack around it with LINUX_IOCTL_MIN_PTR. Since
linux file ioctl methods expect the user address in the data argument,
this should work for all ioctls, including the variable-length cases
like ibcore.
Only do it for the FreeBSD ABI, where we know how to reliably access the
original syscall arguments.
Reviewed by: Ariel Ehrenberg <aehrenberg at nvidia.com>, markj
Discussed with: zishun.yi.dev at gmail.com
Sponsored by: NVidia networking
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D57612
ifconfig: Fix handling of unsupported -j option with MK_JAIL=no
The ifconfig(8) utility built with MK_JAIL=no does not support the
-j option. When the option is specified, Perror() is called without
setting errno, which can result in errno being reported as zero and
a misleading error message being displayed.
Also remove "[-j jail]" from the usage message when built with
MK_JAIL=no.
Event: Halifax Hackathon 202606