Updated: 2022/Sep/29
Please read Privacy Policy. It's for your privacy.
PORTFEATURES(9) Kernel Developer's Manual PORTFEATURES(9)
NAME
portfeatures - the __HAVEs (and the have nots)
DESCRIPTION
Machine-independent kernel code adapts to differences in hardware
capabilities provided by the machine-dependent parts of the kernel. A
port declares its capabilities by defining various __HAVE_feature macros.
This manual page provides an index of such macros with pointers to other
manual pages in the kernel section that provide all the relevant details.
__HAVE_MUTEX_STUBS (mutex(9))
The port provides fast path mutex enter and exit stubs.
__HAVE_PREEMPTION (cpu_need_resched(9))
The port can preempt kernel lwps with RESCHED_KPREEMPT.
__HAVE_PTRACE_MACHDEP
The port has MD ptrace(2) requests, defines
PTRACE_MACHDEP_REQUEST_CASES macro with case labels for its
MD requests.
__HAVE_RAS (ras(9))
The port supports restartable atomic sequences.
__HAVE_SIMPLE_MUTEXES (mutex(9))
The port provides a CAS function that is either MP-safe, or
does not need to be MP safe. Adaptive mutexes on these
architectures do not require an additional interlock.
__HAVE_SPIN_MUTEX_STUBS (mutex(9))
The port provides fast path enter and exit stubs for spin
mutexes.
__HAVE_UCAS_FULL (ucas(9))
The port provides a full implementation of the low-level
primitives required for atomic compare-and-swap operations
to user-space addresses.
__HAVE_UCAS_MP (ucas(9))
The port does not provide a full implementation of the low-
level primitives required for atomic compare-and-swap
operations to user-space addresses, but does provide an
implementation of those primitives that can be used if (and
only if) the system has more than one processor.
NetBSD 10.99 March 6, 2023 NetBSD 10.99