Commit graph

305985 commits

Author SHA1 Message Date
Minsoo Choo
9cdb2eb668 lib: remove powerpcspe
Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>
Reviewed by:	emaste
Pull Request:	https://github.com/freebsd/freebsd-src/pull/1914
(cherry picked from commit 907cf3e4378f9d114af41d05a59ef4a075d3efb0)
2026-01-09 15:11:23 -05:00
Minsoo Choo
c5d4a124d0 conf: remove powerpcspe
Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>
Reviewed by:	emaste
Pull Request:	https://github.com/freebsd/freebsd-src/pull/1914
(cherry picked from commit 4a5a1c17ac43356fae053524187bb16f8fc1ac70)
2026-01-09 15:11:22 -05:00
Minsoo Choo
f69fb0f830 conf: remove MPC85XXSPE
Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>
Reviewed by:	emaste
Pull Request:	https://github.com/freebsd/freebsd-src/pull/1914
(cherry picked from commit 40a49bccf388494f9685a81cfa781050f5f8bb1f)
2026-01-09 15:11:22 -05:00
Minsoo Choo
81516ef418 param.h: remove powerpcspe
Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>
Reviewed by:	emaste
Pull Request:	https://github.com/freebsd/freebsd-src/pull/1914
(cherry picked from commit 1bfae8b50814697ac12bc8879ad8013e7ffd77b2)
2026-01-09 15:11:22 -05:00
Minsoo Choo
fa6736526e stand: remove powerpcspe linker script
Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>
Reviewed by:	emaste
Pull Request:	https://github.com/freebsd/freebsd-src/pull/1914
(cherry picked from commit 9c72e8e3500408f7ce5fc7be500dd3efc0307674)
2026-01-09 15:11:22 -05:00
John Hall
c558eca479 smartpqi: update to version 4660.0.2002
Some checks are pending
Cross-build Kernel / amd64 ubuntu-22.04 (clang-15) (push) Waiting to run
Cross-build Kernel / aarch64 ubuntu-22.04 (clang-15) (push) Waiting to run
Cross-build Kernel / amd64 ubuntu-24.04 (clang-18) (push) Waiting to run
Cross-build Kernel / aarch64 ubuntu-24.04 (clang-18) (push) Waiting to run
Cross-build Kernel / amd64 macos-latest (clang-18) (push) Waiting to run
Cross-build Kernel / aarch64 macos-latest (clang-18) (push) Waiting to run
This updates the smartpqi driver to Microchip's
latest available public release.

Reviewed by: imp
Approved by: imp

Sponsored by: Microchip Technology Inc.

Differential Revision: https://reviews.freebsd.org/D52507
2026-01-09 10:39:58 -07:00
Ali Mashtizadeh
bae8324870 libpmc: Import AMD Zen 5 PMU events.
Sponsored by:		Netflix

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1954
2026-01-09 10:37:36 -07:00
Olivier Certner
67599eef01
sys/x86/NOTES: Add vt_efifb
Contrary to what is stated in commit f224591746 ("Add ASMC_DEBUG make
option"), the various NOTES files should list all available options.

Since vt_efifb is supported also on i386, add it back to x86/NOTES
instead of amd64/NOTES.

Fixes:          f224591746 ("Add ASMC_DEBUG make option")
Sponsored by:   The FreeBSD Foundation
2026-01-09 17:34:56 +01:00
Olivier Certner
fde9fe1821
i386: Fix kernel compilation after introduction of ASMC_DEBUG option
Fixes:          f224591746 ("Add ASMC_DEBUG make option")
Sponsored by:   The FreeBSD Foundation
2026-01-09 17:34:56 +01:00
Olivier Certner
730b3e2006
ps(1): Sort headers
Found these changes by chance in an old patch file.  Should have been
committed along with the ps(1) modifications done in March 2025.

No functional change (intended).

MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
2026-01-09 17:34:51 +01:00
Minsoo Choo
7a00382beb release: remove powerpcspe
Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>
Reviewed by:	jhibbits, emaste
Pull request:	https://github.com/freebsd/freebsd-src/pull/1914
2026-01-09 11:29:43 -05:00
Minsoo Choo
94d1731e73 Makefile*: remove powerpcspe
As reported on the freebsd-announce mailing list[1] FreeBSD is
continuing to retire 32-bit support.  Remove powerpcspe from build
infrastructure.

[1] https://lists.freebsd.org/archives/freebsd-announce/2024-February/000117.html

Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>
Reviewed by:	jhibbits, emaste
Pull request:	https://github.com/freebsd/freebsd-src/pull/1914
2026-01-09 11:28:43 -05:00
Minsoo Choo
0f937f171a tools: remove powerpcspe
As reported on the freebsd-announce mailing list[1] FreeBSD is
continuing to retire 32-bit support.  Remove powerpcspe from boot test
tools.

[1] https://lists.freebsd.org/archives/freebsd-announce/2024-February/000117.html

Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>
Reviewed by:	jhibbits, emaste
Pull request:	698d3c98d8f5814f705908d5bc6d930e3d4c4eda
2026-01-09 11:28:33 -05:00
Brooks Davis
0a64d16cef sys/_types.h: avoid use of __has_feature()
Only fairly recent GCC versions support and sys/_types.h must work with
quite old compilers and without sys/cdef.h being included.  The prior
workaround works fine, but we can have the same effect with compiler
macro definitions.  In this specific case, compilers that define the
__intcap_t builtin type will define __SIZEOF_INTCAP__.

This reverts commit 029a09f180
This reverts commit 19728f31ae

Reviewed by:	imp, des, kib, emaste
Effort:		CHERI upstreaming
Fixes:		85ab981a8e ("sys/_types.h: define fallback __(u)intcap_t")
Sponsored by:	Innovate UK
Differential Revision:	https://reviews.freebsd.org/D54009
2026-01-09 14:42:00 +00:00
Brooks Davis
31e7dc6b9a iflib: remove convoluted custom zeroing code
Replace a collection of aliasing violations and ifdefs with memset
(which now expands to __builtin_memset and should be quite reliably
inlined.)  The old code is hard to maintain as evidenced by the most
recent change to if_pkt_info_t updating the defines, but not the zeroing
code.

Reviewed by:	gallatin, erj
Effort:		CHERI upstreaming
Sponsored by:	Innovate UK
Fixes:		43d7ee540e ("iflib: support for transmit side nic KTLS offload")
Differential Revision:	https://reviews.freebsd.org/D54605
2026-01-09 14:19:49 +00:00
Brooks Davis
1b425afa8d cache: avoid hardcoded CACHE_PATH_CUTOFF
Compute the cutoff at compile time instead which will avoid the need
for a CHERI case.

Correct the comment about CACHE_PATH_CUTOFF.  It dates to 5.2.0 not 4.4
BSD.  Historic values are:

32 - introduced (c2935410f6)
35 - NUL terminated and bumped (5d5c174869)
39 - sized to alignment (bb48255cf5)
45 - bumped to improve efficency on 64-bit (3862838921)

No functional change.

Reviewed by:	markj
Suggested by:	jhb
Effort:		CHERI upstreaming
Sponsored by:	DARPA, AFRL
Differential Revision:	https://reviews.freebsd.org/D54554
2026-01-09 14:15:43 +00:00
Brooks Davis
258ad80092 cache: avoid hardcoded cache padding
Replace CACHE_LARGE_PAD with rounding up to the alignment of struct
namecache_ts.

No functional change.

Reviewed by:	olce, markj
Suggested by:	jhb
Effort:		CHERI upstreaming
Sponsored by:	DARPA, AFRL
Differential Revision:	https://reviews.freebsd.org/D54553
2026-01-09 14:15:35 +00:00
Brooks Davis
fb0bdbea2e cache: avoid hardcoded zone alignment
Previously, this was underaligned on CHERI system where pointers are
larger than time_t.

Use the alignment of struct namecache_ts which picks up time_t via strut
timespec and pointers via struct namecache.  This arguably overaligns
cache_zone_small and cache_zone_large on i386 kernels, but I suspect the
actual microarchitectures most i386 binaries are run on do better with
64-bit alignment.

Reviewed by:	olce, markj
Effort:		CHERI upstreaming
Sponsored by:	Innovate UK
Fixes:		cf8ac0de81 ("cache: reduce zone alignment to 8 bytes")
Differential Revision:	https://reviews.freebsd.org/D54376
2026-01-09 14:15:22 +00:00
Sreekanth Reddy
821c6c43a3 librdmacm/libibverbs: Add bnxtre RDMA provider to OFED build infrastructure
Extend the FreeBSD OFED build framework to include the Broadcom bnxtre RDMA
provider library.

This change:

 -Registers libbnxtre in src.libnames.mk so it is built and installed as part
  of the OFED libraries.
 -Adds bnxtre to the OFED pcap dependency set when MK_OFED is enabled.
 -Declares proper dependency mappings for bnxtre (ibverbs, pthread).
 -Introduces LIBBNXTREDIR for consistent object directory handling.
 -Updates libibverbs and librdmacm build rules to link against libbnxtre,
  enabling Broadcom RoCE device support at runtime.
 -libbnxtre library uses below constructor to register with the libibverbs,
  static attribute((constructor)) void bnxt_re_register_driver(void)

These updates ensure that applications using libibverbs and librdmacm can
discover and use Broadcom bnxt RDMA devices on FreeBSD.

Reviewed by: markj, ssaxena
Differential Revision: https://reviews.freebsd.org/D54368
MFC after: 3 days
2026-01-09 12:34:02 +00:00
Sumit Saxena
702b3a9a03 Revert "librdmacm/libibverbs: Statically bound libbnxtre.so.1 to rping"
The commit message has to be rewritten as it is not clear and lacks
some key details about the change.

This reverts commit 35dd53a9e1.

Reported by: jrtc27
2026-01-09 12:33:45 +00:00
Sumit Saxena
d53d7b4660 bnxt: Fix up ioctl opcodes to support IOC_VOID along with IOC_IN
Some checks are pending
Cross-build Kernel / amd64 ubuntu-22.04 (clang-15) (push) Waiting to run
Cross-build Kernel / aarch64 ubuntu-22.04 (clang-15) (push) Waiting to run
Cross-build Kernel / amd64 ubuntu-24.04 (clang-18) (push) Waiting to run
Cross-build Kernel / aarch64 ubuntu-24.04 (clang-18) (push) Waiting to run
Cross-build Kernel / amd64 macos-latest (clang-18) (push) Waiting to run
Cross-build Kernel / aarch64 macos-latest (clang-18) (push) Waiting to run
The driver and applications currently use hard-coded numeric ioctl command
opcodes. These opcodes are interpreted as having the IOC_IN direction (data
copied from the user application to the driver), regardless of the actual packet
size. Consequently, when the packet size is zero and the direction is set to
IOC_IN, the kernel fails these ioctls if COMPAT is disabled.

While the driver and applications should ideally set the direction correctly—
for example, using IOC_VOID when the packet size is zero—the driver will now
be updated to define ioctl opcodes using the _IOC macro to support both
IOC_VOID and IOC_IN. This change ensures backward compatibility with older
applications that exclusively use IOC_IN.

Reviewed by: gallatin
Differential Revision: https://reviews.freebsd.org/D54601
MFC after: 3 days
2026-01-09 10:40:18 +00:00
Juraj Lutter
a556feb997 freebsd-base.7: Fix stray -r
Remote stray "-r" from the example of installing a toolchain
to alternate root.

Reviewed by:	ivy
Differential Revision:	https://reviews.freebsd.org/D54611
2026-01-09 10:41:21 +01:00
Baptiste Daroussin
d64db8892f release: make sh the default shell
The default shell for root has been changed to sh(1) followup changing
in release images sh(1) the shell for the "freebsd" user.

MFC After:	1 week
Reviewed by:	manu, emaste (re)
Approved by:	manu, emaste (re)
Differential Revision:	https://reviews.freebsd.org/D54602
2026-01-09 09:07:20 +01:00
Warner Losh
92f251f36b cam: Dtrace scripts to help diagnose weird things
These are sample dtrace scripts that likely need to be modified for
whatever problem you are chasing. Unfortuneately, you have to read the
driver extensively to understand them or how to use them. But studying
the completion routine of mpr/mps will help understand many of the error
and recovery paths.

Sponsored by:		Netflix
2026-01-08 23:11:10 -07:00
Warner Losh
0e80273f0d mpr: Add a probe on completion
cam::mpr:complete(union ccb *, struct mpr_command *, u_int, u32);
    Where u_int is scsas->flags u32 is the device_info.

This can't be done as an fbt because the data needed for it isn't
present out a function boundary.

Sponsored by:		Netflix
2026-01-08 23:03:38 -07:00
Warner Losh
6f8e117e5d mps: Add a probe on completion
cam::mps:complete(union ccb *, struct mps_command *, u_int, u32);
    Where u_int is scsas->flags u32 is the device_info.

This can't be done as an fbt because the data needed for it isn't
present out a function boundary.

Sponsored by:		Netflix
2026-01-08 22:55:32 -07:00
Warner Losh
d650b2ceda mps/mpr: Remove bogus sys/cdefs.h includes
These are left over from the $FreeBSD$ stuff.

Sponsored by:		Netflix
2026-01-08 22:54:44 -07:00
Graham Perrin
d1f93ea2e1
pkgbase.7: Show pkg upgrade to apply updates
MFC after:	3 days
Reviewed by:	ziaee
Closes:		https://github.com/freebsd/freebsd-src/pull/1945
2026-01-08 23:49:40 -05:00
Warner Losh
b258282ecc kshim/usb: Prefer memset to bzero
Replace bzero with the equivalent memset(x,0,x) since the latter is
available in the kshim environment and we have a soft goal of migrating
to standard interfaces when there's a reason...

Sponsored by:		Netflix
2026-01-08 21:42:34 -07:00
Rick Macklem
a6d57f312f nfsd: Fix handling of hidden/system during Open/Create
Some checks are pending
Cross-build Kernel / amd64 ubuntu-22.04 (clang-15) (push) Waiting to run
Cross-build Kernel / aarch64 ubuntu-22.04 (clang-15) (push) Waiting to run
Cross-build Kernel / amd64 ubuntu-24.04 (clang-18) (push) Waiting to run
Cross-build Kernel / aarch64 ubuntu-24.04 (clang-18) (push) Waiting to run
Cross-build Kernel / amd64 macos-latest (clang-18) (push) Waiting to run
Cross-build Kernel / aarch64 macos-latest (clang-18) (push) Waiting to run
When an NFSv4.n client specifies settings for the archive,
hidden and/or system attributes during a Open/Create, the
Open/Create fails for ZFS.  This is caused by ZFS doing
a secpolicy_xvattr() call, which fails for non-root.
If this check is bypassed, ZFS panics.

This patch resolves the problem by disabling va_flags
for the VOP_CREATE() call in the NFSv4.n server and
then setting the flags with a subsequent VOP_SETATTR().

This problem only affects FreeBSD-15 and main, since the
archive, system and hidden attributes are not enabled
for FreeBSD-14.

I think a similar problem exists for the NFSv4.n
Open/Create/Exclusive_41, but that will be resolved
in a future commit.

Note that the Linux, Solaris and FreeBSD clients
do not set archive, hidden or system for Open/Create,
so the bug does not affect mounts from those clients.

PR:	292283
Reported by:	Aurelien Couderc <aurelien.couderc2002@gmail.com>
Tested by:	Aurelien Couderc <aurelien.couderc2002@gmail.com>
MFC after:	2 weeks
2026-01-08 08:27:32 -08:00
Mark Johnston
0aaa95ae02 vmm: Add an include to vmm_ktr.h for vm_name()
Required when KTR is configured.

Remove the pcpu.h include while here, as it seems to be unneeded.

Reported by:	Jenkins
Fixes:		5f13d6b607 ("vmm: Move common accessors and vm_eventinfo into sys/dev/vmm")
2026-01-08 23:29:06 +00:00
Mark Johnston
5f13d6b607 vmm: Move common accessors and vm_eventinfo into sys/dev/vmm
Now that struct vm and struct vcpu are defined in headers, provide
inline accessors.  We could just remove the accessors outright, but they
don't hurt and it would result in unneeded churn.

As a part of this, consolidate definitions related to struct
vm_eventinfo as well.  I'm not sure if struct vm_eventinfo is really
needed anymore, now that vmmops_run implementations can directly access
vm and vcpu fields, but this can be resolved later.

No functional change intended.

MFC after:	2 months
Sponsored by:	The FreeBSD Foundation
Sponsored by:	Klara, Inc.
Differential Revision:	https://reviews.freebsd.org/D53586
2026-01-08 21:54:16 +00:00
Mark Johnston
ed85203fb7 vmm: Deduplicate VM and vCPU state management code
Now that the machine-independent fields of struct vm and struct vcpu are
available in a header, we can move lots of duplicated code into
sys/dev/vmm/vmm_vm.c.  This change does exactly that.

No functional change intended.

MFC after:	2 months
Sponsored by:	The FreeBSD Foundation
Sponsored by:	Klara, Inc.
Differential Revision:	https://reviews.freebsd.org/D53585
2026-01-08 21:54:06 +00:00
Mark Johnston
a6411f6b7d vmm: Consolidate vm and vcpu definitions
There is quite a lot of duplication of code between amd64, arm64 and
riscv with respect to VM and vCPU state management.  This is a bit
tricky to resolve since struct vm and struct vcpu are private to vmm.c
and both structures contain a mix of machine-dependent and
machine-independent fields.

To allow deduplication without also introducing a lot of churn, follow
the approach of struct pcpu and 1) lift the definitions of those
structures into a new header, sys/dev/vmm/vmm_vm.h, and 2) define
machine-dependent macros, VMM_VM_MD_FIELDS and VMM_VCPU_MD_FIELDS which
lay out the machine-dependent fields.

One disadvantage of this approach is that the two structures are no
longer private to vmm.c, but I think this is acceptable.

No functional change intended.  A follow-up change will move a good deal
of machine/vmm/vmm.c into sys/dev/vmm/vmm_vm.c.

MFC after:	2 months
Sponsored by:	The FreeBSD Foundation
Sponsored by:	Klara, Inc.
Differential Revision:	https://reviews.freebsd.org/D53584
2026-01-08 21:53:31 +00:00
Roman Bogorodskiy
90b9a77ebe bhyve: support MTU configuration for SLIRP net backend
Some checks are pending
Cross-build Kernel / amd64 ubuntu-22.04 (clang-15) (push) Waiting to run
Cross-build Kernel / aarch64 ubuntu-22.04 (clang-15) (push) Waiting to run
Cross-build Kernel / amd64 ubuntu-24.04 (clang-18) (push) Waiting to run
Cross-build Kernel / aarch64 ubuntu-24.04 (clang-18) (push) Waiting to run
Cross-build Kernel / amd64 macos-latest (clang-18) (push) Waiting to run
Cross-build Kernel / aarch64 macos-latest (clang-18) (push) Waiting to run
Support configuring MTU for the SLIRP net backend, for example:

  -s 1:0,virtio-net,slirp,mtu=2048,open

Update the manual page accordingly.  While here, also document
MAC address configuration.

Reviewed by:	markj
Approved by:	markj
Sponsored by:	The FreeBSD Foundation
MFC after:	1 month
Differential Revision:	https://reviews.freebsd.org/D54133
2026-01-08 18:01:13 +01:00
Johan Söllvander
bf98d6775d sesutil: Remove width modifier on encoded "Desc" field
Remove the width modifier to remove white space padding
added to "description" field when running
`sesutil --libxo:JP show`.

Reviewed by:    asomers
Approved by:    asomers (mentor)
MFC after:      1w
Sponsored by:   ConnectWise
Differential Revision:  https://reviews.freebsd.org/D54536
2026-01-08 17:15:54 +01:00
Quentin Thébault
cbc6f7e941 bhyve: add UNIX domain socket support to rfb
This commit adds support for a UNIX domain socket to bhyve's remote
framebuffer. It enables the use of the graphical console when the bhyve instance
is running in a jail with no networking, for instance. A VNC client running on
the host can then connect to the UNIX domain socket through the filesystem.

Signed-off-by: 	Quentin Thébault <quentin.thebault@defenso.fr>
Sponsored by:	Defenso
Reviewed by: 	kevans, markj
MFC after: 	2 weeks
Differential Revision: https://reviews.freebsd.org/D53814
2026-01-08 15:24:52 +00:00
Mark Johnston
16f8ea6a81 amd64: Remove tpm(4) from GENERIC for now
It breaks suspend/resume and no one has had time to investigate and fix
it.

PR:		291067
Reviewed by:	emaste
Fixes:		3deb21f1af ("random: TPM_HARVEST should have been named RANDOM_ENABLE_TPM")
Differential Revision:	https://reviews.freebsd.org/D54587
2026-01-08 14:54:15 +00:00
Minsoo Choo
d2f1c8e0d1
Makefile: Update doxygen requirements
MFC after:	3 days
Reviewed by:	imp, ziaee
Signed-off-by:	Minsoo Choo <minsoochoo0122@proton.me>
Closes:		https://github.com/freebsd/freebsd-src/pull/1869
2026-01-08 09:01:03 -05:00
Andrew Gallatin
b72cb30589 bnxt: fix i2c read to allow access to different addresses
Allow reading of i2c addresses other than A0. A0 does provide most
information, but doesn't provide things like module temps, and optical
signal levels.

Sponsored by: Netflix
Reviewed by: sumit.saxena_broadcom.com
Differential Revision: https://reviews.freebsd.org/D54590
MFC after: 3 days
2026-01-08 08:52:01 -05:00
Kristof Provost
0df9054bc1 pf: handle nlattr_add_nested() failure
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2026-01-08 13:25:25 +01:00
Kristof Provost
bf19253516 pf: remove redundant zeroing
nlmsg_reserve_object() already zeroes the header before it gives it to
us, so there's no need to explicitly zero these fields again.

Sponsored by:	Rubicon Communications, LLC ("Netgate")
2026-01-08 13:25:24 +01:00
Aymeric Wibo
c0df8f6f0e
acpi: Make taskqueue only run on BSP
This is needed because when we add the suspend-to-idle loop, we only
want to break the BSP out of idle to process the taskqueue while keeping
all the others idled.

Currently assuming BSP to be CPU0, which may not always be the case on
non-x86.

Reviewed by:	kib
Approved by:	kib
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D54406
2026-01-08 11:35:54 +01:00
Baptiste Daroussin
65e77d34fd nuageinit: fix test after recent behaviour change
with recent change nuageinit always create a "freebsd" user, if no
users are specified, which means we do need to get the rootdir in the
testsuite containing a group file otherwise pw complains and the tests
fails.
2026-01-08 10:55:27 +01:00
Gonéri Le Bouder
cae280931c nuageinit: set the hostname when user-data is missing
This address the situation reported here
https://github.com/freebsd/freebsd-src/pull/1952#issuecomment-3720210259

The user-data file was missing and the `sethostname` function is never
called. This commit adjusts slightly the logic to avoid the `exit()` call
when the `user-data` file is missing.

MFC After:	1 week
Signed-off-by: Gonéri Le Bouder <goneri@lebouder.net>
Differential Revision:	https://github.com/freebsd/freebsd-src/pull/1953
2026-01-08 10:55:27 +01:00
William Carrel
9ae43352c8 GCE: ARM64 Support: Add hw.pci.honor_msi_blacklist=0.
Some checks are pending
Cross-build Kernel / amd64 ubuntu-22.04 (clang-15) (push) Waiting to run
Cross-build Kernel / aarch64 ubuntu-22.04 (clang-15) (push) Waiting to run
Cross-build Kernel / amd64 ubuntu-24.04 (clang-18) (push) Waiting to run
Cross-build Kernel / aarch64 ubuntu-24.04 (clang-18) (push) Waiting to run
Cross-build Kernel / amd64 macos-latest (clang-18) (push) Waiting to run
Cross-build Kernel / aarch64 macos-latest (clang-18) (push) Waiting to run
This is required for MSI support on GCE ARM64 instances which is
prerequisite to gve(4) not panicking at boot, and nvme(4) also has
a real sad time without interrupts. Tested on a variety of c4a VMs.

This is meant to be a temporary hack; long term fix would be to
check for the hypervisor and quirk gve(4) device with
PCI_QUIRK_ENABLE_MSI_VM.

PR:		kern/292081
MFC after:	1 week
2026-01-08 00:59:07 -08:00
William Carrel
f604d84618 GCE: Enable vtnet(4) Multiqueue.
Removes hw.vtnet.mq_disable=1.

This workaround was originally introduced nearly a decade ago to
address stability issues on KVM that have long since been resolved
in both the FreeBSD driver and the GCE hypervisor. Removing this
allows network interrupts to scale across multiple vCPUs.

Tested on n2-highcpu-16 VM with 15.0-RELEASE and confirmed multiple
queue pairs active and interrupts handling across cores.

PR:		kern/292081
MFC after:	1 day
2026-01-08 00:59:06 -08:00
William Carrel
709c1049fe GCE: Fix growfs path
The sed command was missing the ${DESTDIR} prefix, meaning it was
attempting to modify the build host's /etc/rc.d/growfs instead of
the target image's script. Tested in an arm64 builder that builds
as non-root.

PR:		kern/292081
MFC after:	1 day
2026-01-08 00:59:06 -08:00
Dimitry Andric
eb1b6ec7a7 zfs: emit .note.GNU-stack section for all ELF targets
On FreeBSD, linking the zfs kernel module with binutils ld 2.44 shows
the following warning:

    ld: warning: aesni-gcm-avx2-vaes.o: missing .note.GNU-stack section implies executable stack
    ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker

Some of the `.S` files under `module/icp/asm-x86_64/modes` check whether
to emit the `.note.GNU-stack` section using:

    #if defined(__linux__) && defined(__ELF__)

We could add `&& defined(__FreeBSD__)` to the test, but since all other
`.S` files in the OpenZFS tree use:

    #ifdef __ELF__

it would seem more logical to use that instead. Any recent ELF platform
should support these note sections by now.

Reviewed by:	emaste, kib, imp
MFC after:	3 days
Differential Revision: https://reviews.freebsd.org/D54578
2026-01-08 09:51:36 +01:00
Warner Losh
cd1aa5f991 tools/cam: Start to add the testing tools for CAM
Create a directory for testing tools arond CAM. These are snippets of
what will eventually be camio. At the moment, it was written using fbt
traces. This is OK, but fragile, so they need to be re-written with the
cam provider. cam_all_but_scsi.d is the first step. It shows how to do
this with the new cam dtrace provider.

Sponsored by:		Netflix
Reviewed by:		adrian
Differential Revision:	https://reviews.freebsd.org/D54472
2026-01-07 23:20:34 -07:00