[Bug 288909] Added tunable hw.vmm.enable_vtd to vmm manpage

From: <bugzilla-noreply_at_freebsd.org>
Date: Thu, 21 Aug 2025 22:07:01 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=288909

--- Comment #20 from Dag-Erling Smørgrav <des@FreeBSD.org> ---
Tunables are similar to environment variables in that they only exist when set
and can be set without constraint.  You can make up any name you want and
assign it a value in loader.conf and it will show up in kenv.  That doesn't
mean it has an effect.  To actually have an effect, it must match a tunable
declaration in the kernel or a kernel module, which causes its value to be
fetched from kenv and either stored in a variable or passed to a function.

There are four ways a tunable can be declared:

- A static TUNABLE_BOOL() or TUNABLE_INT() which maps a tunable name to a
global variable and is handled automatically during early boot or when the
module that contains it is loaded.
- A dynamic TUNABLE_FETCH_BOOL() or TUNABLE_FETCH_INT() which retrieves the
value from the kernel environment when executed.
- A static SYSCTL_BOOL() or SYSCTL_INT() with the SYSCTL_RDTUN or SYSCTL_RWTUN
flag set, which creates a sysctl variable and automatically sets its initial
value to that of a tunable of the same name during early boot or when the
module that contains it is loaded, if such a tunable has been set.
- A dynamic SYSCTL_ADD_BOOL() or SYSCTL_ADD_INT() with the SYSCTL_RDTUN or
SYSCTL_RWTUN flag set, which creates a sysctl variable and sets its initial
value to that of a tunable of the same name when executed, if such a tunable
has been set.

Happy hunting.

-- 
You are receiving this mail because:
You are on the CC list for the bug.