xref: /freebsd/sys/README.md (revision a03411e84728e9b267056fd31c7d1d9d1dc1b01e)
1FreeBSD Kernel Source:
2----------------------
3
4This directory contains the source files and build glue that make up the FreeBSD
5kernel and its modules, including both original and contributed software.
6
7Kernel configuration files are located in the `conf/` subdirectory of each
8architecture. `GENERIC` is the configuration used in release builds. `NOTES`
9contains documentation of all possible entries. `LINT` is a compile-only
10configuration used to maximize build coverage and detect regressions.
11
12Documentation:
13--------------
14
15Source code documentation is maintained in a set of man pages, under section 9.
16These pages are located in [`share/man/man9`](../share/man/man9), from the
17top-level of the src tree. Consult [`intro(9)`](https://man.freebsd.org/intro/9)
18for an overview of existing pages.
19
20Some additional high-level documentation of the kernel is maintained in the
21[Architecture Handbook](https://docs.freebsd.org/en/books/arch-handbook/).
22
23Source Roadmap:
24---------------
25| Directory | Description |
26| --------- | ----------- |
27| amd64 | AMD64 (64-bit x86) architecture support |
28| arm | 32-bit ARM architecture support |
29| arm64 | 64-bit ARM (AArch64) architecture support |
30| cam | Common Access Method storage subsystem - `cam(4)` and `ctl(4)` |
31| cddl | CDDL-licensed optional sources such as DTrace |
32| conf | kernel build glue |
33| compat | Linux compatibility layer, FreeBSD 32-bit compatibility |
34| contrib | 3rd-party imported software such as OpenZFS |
35| crypto | crypto drivers |
36| ddb | interactive kernel debugger - `ddb(4)` |
37| fs | most filesystems, excluding UFS, NFS, and ZFS |
38| dev | device drivers and other arch independent code |
39| gdb | kernel remote GDB stub - `gdb(4)` |
40| geom | GEOM framework - `geom(4)` |
41| i386 | i386 (32-bit x86) architecture support |
42| kern | main part of the kernel |
43| libkern | libc-like and other support functions for kernel use |
44| modules | kernel module infrastructure |
45| net | core networking code |
46| net80211 | wireless networking (IEEE 802.11) - `net80211(4)` |
47| netgraph | graph-based networking subsystem - `netgraph(4)` |
48| netinet | IPv4 protocol implementation - `inet(4)` |
49| netinet6 | IPv6 protocol implementation - `inet6(4)` |
50| netipsec | IPsec protocol implementation - `ipsec(4)` |
51| netpfil | packet filters - `ipfw(4)`, `pf(4)`, and `ipfilter(4)` |
52| opencrypto | OpenCrypto framework - `crypto(7)` |
53| powerpc | PowerPC/POWER (32 and 64-bit) architecture support |
54| riscv | 64-bit RISC-V architecture support |
55| security | security facilities - `audit(4)` and `mac(4)` |
56| sys | kernel headers |
57| tests | kernel unit tests |
58| ufs | Unix File System - `ffs(7)` |
59| vm | virtual memory system |
60| x86 | code shared by AMD64 and i386 architectures |
61