PORTFEATURES(9) Kernel Developer's Manual PORTFEATURES(9)

portfeatures
the __HAVEs (and the have nots)

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.
(mutex(9))
The port provides fast path mutex enter and exit stubs.
(cpu_need_resched(9))
The port can preempt kernel lwps with RESCHED_KPREEMPT.
The port has MD ptrace(2) requests, defines PTRACE_MACHDEP_REQUEST_CASES macro with case labels for its MD requests.
(ras(9))
The port supports restartable atomic sequences.
(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.
(mutex(9))
The port provides fast path enter and exit stubs for spin mutexes.
(ucas(9))
The port provides a full implementation of the low-level primitives required for atomic compare-and-swap operations to user-space addresses.
(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.
March 6, 2023 NetBSD 10.1