freebsd-dev/sys
Dmitry Chagin 166e2e5a9e linux(4): Uniformly dev_t arguments translation
The two main uses of dev_t are in struct stat and as a parameter of the
mknod system calls.
As of version 2.6.0 of the Linux kernel, dev_t is a 32-bit quantity
with 12 bits set asaid for the major number and 20 for the minor number.
The in-kernel dev_t encoded as MMMmmmmm, where M is a hex digit of the
major number and m is a hex digit of the minor number.
The user-space dev_t encoded as mmmM MMmm, where M and m is the major
and minor numbers accordingly. This is downward compatible with legacy
systems where dev_t is 16 bits wide, encoded as MMmm.
In glibc dev_t is a 64-bit quantity, with 32-bit major and minor numbers,
encoded as MMMM Mmmm mmmM MMmm. This is downward compatible with the Linux
kernel and with legacy systems where dev_t is 16 bits wide.
In the FreeBSD dev_t is a 64-bit quantity. The major and minor numbers
are encoded as MMMmmmMm, therefore conversion of the device numbers between
Linux user-space and FreeBSD kernel required.
2023-04-28 11:55:05 +03:00
..
amd64 linux(4): Make struct stat64 to match Linux actual one 2023-04-28 11:55:04 +03:00
arm arm: remove passing trapframe to intr_ipi_dispatch() 2023-04-26 20:08:30 +01:00
arm64 linux(4): Regen for mknod syscall changes 2023-04-28 11:55:04 +03:00
bsm
cam Revert "cam: fix up world compilation after previous" 2023-04-15 18:25:55 -06:00
cddl dtrace: Sync dis_tables.c with illumos 2023-04-25 10:46:10 -04:00
compat linux(4): Uniformly dev_t arguments translation 2023-04-28 11:55:05 +03:00
conf Mark simplefb as depending on fdt 2023-04-26 14:11:31 +01:00
contrib openzfs: re-enable FPU usage on aarch64 2023-04-26 19:47:14 -05:00
crypto OpenSSL: Regen an assembly file for arm 2023-03-21 15:13:51 -04:00
ddb ddb: ansify 2023-02-08 00:09:23 +00:00
dev Expose EFI wake time API 2023-04-28 04:27:55 +03:00
dts arm64/rockchip: Remove rk3328-dwc3 overlays 2022-11-16 11:58:32 +01:00
fs sys/fs: do not report blocks allocated for synthetic file systems 2023-04-25 09:59:15 +02:00
gdb
geom geom: use bool for one-bit wide bit-field 2023-04-17 15:43:00 -04:00
gnu
i386 linux(4): Make struct stat64 to match Linux actual one 2023-04-28 11:55:04 +03:00
isa
kern linux(4): Add a dedicated statat() implementation 2023-04-28 11:55:04 +03:00
kgssapi nfsd: Enable the NFSD_VNET vnet front end macros 2023-02-18 14:59:36 -08:00
libkern ext2fs: extract crc16 into sys/crc16.h 2023-04-24 12:41:52 +03:00
modules intelspi: add PCI attachment (Lynx/Wildcat/Sunrise Point) 2023-04-24 12:41:52 +03:00
net netlink: fix IPv6 proxy ndp deletion. 2023-04-26 13:26:37 +00:00
net80211 net80211: Remove double words in source code comments 2023-04-18 07:14:50 +02:00
netgraph ng_atmllc: remove 2023-03-09 18:04:21 +00:00
netinet siftr: remove barely used hash generation per record 2023-04-26 15:57:42 -04:00
netinet6 ipv6: disable RFC 4620 nodeinfo by default 2023-04-26 13:47:59 -04:00
netipsec netipsec/key.c: use designated initializers for arrays 2023-04-25 09:41:24 +03:00
netlink netlink: fix IPv6 proxy ndp deletion. 2023-04-26 13:26:37 +00:00
netpfil pf: clear PF_TAG_ROUTE_TO for dummynet fast path 2023-04-26 17:09:47 +02:00
netsmb
nfs Allow any user to read the NFS stats, for example with nfsstat(1). 2022-12-01 22:21:14 -07:00
nfsclient
nfsserver
nlm nlm: only access refcounts using dedicated primitives 2022-11-24 19:46:43 +00:00
ofed ofed: Fix a logic inversion from IfAPI conversion 2023-04-19 11:56:25 -04:00
opencrypto Complete removal of opt_compat.h 2023-02-13 19:07:38 +03:00
powerpc powerpc: Use valid prototypes for function declarations with no arguments. 2023-04-24 08:53:50 -07:00
riscv riscv: Implement bus_describe_intr() for nexus 2023-04-23 13:55:57 -04:00
rpc svc_rpcsec_gss.c: Separate out the non-vnet initialization 2023-03-01 15:29:25 -08:00
security mac: Honor order when registering MAC modules. 2023-04-18 15:36:27 -04:00
sys linux(4): Add a dedicated statat() implementation 2023-04-28 11:55:04 +03:00
teken
tests tests: make ktest build on ppc. 2023-04-17 13:47:07 +00:00
tools makesyscalls.lua: Minor fluff removal 2023-04-20 16:17:58 -06:00
ufs vn_lock_pair(): allow to request shared locking 2023-04-08 01:58:26 +03:00
vm vm: fix a number of functions to match the expected prototypes 2023-04-25 19:58:18 +02:00
x86 Use bool for one-bit wide bit-fields 2023-04-25 19:26:03 +02:00
xdr xdr: ansify 2023-02-13 18:37:31 +00:00
xen xen: move common variables off of sys/x86/xen/hvm.c 2023-04-14 15:59:11 +02:00
Makefile
README.md note that some arch independent code can live in dev (e.g. SMBios) 2023-03-03 01:54:07 -08:00

FreeBSD Kernel Source:

This directory contains the source files and build glue that make up the FreeBSD kernel and its modules, including both original and contributed software.

Kernel configuration files are located in the conf/ subdirectory of each architecture. GENERIC is the configuration used in release builds. NOTES contains documentation of all possible entries. LINT is a compile-only configuration used to maximize build coverage and detect regressions.

Source Roadmap:

Directory Description
amd64 AMD64 (64-bit x86) architecture support
arm 32-bit ARM architecture support
arm64 64-bit ARM (AArch64) architecture support
cam Common Access Method storage subsystem - cam(4) and ctl(4)
cddl CDDL-licensed optional sources such as DTrace
conf kernel build glue
compat Linux compatibility layer, FreeBSD 32-bit compatibility
contrib 3rd-party imported software such as OpenZFS
crypto crypto drivers
ddb interactive kernel debugger - ddb(4)
fs most filesystems, excluding UFS, NFS, and ZFS
dev device drivers and other arch independent code
gdb kernel remote GDB stub - gdb(4)
geom GEOM framework - geom(4)
i386 i386 (32-bit x86) architecture support
kern main part of the kernel
libkern libc-like and other support functions for kernel use
modules kernel module infrastructure
net core networking code
net80211 wireless networking (IEEE 802.11) - net80211(4)
netgraph graph-based networking subsystem - netgraph(4)
netinet IPv4 protocol implementation - inet(4)
netinet6 IPv6 protocol implementation - inet6(4)
netipsec IPsec protocol implementation - ipsec(4)
netpfil packet filters - ipfw(4), pf(4), and ipfilter(4)
opencrypto OpenCrypto framework - crypto(7)
powerpc PowerPC/POWER (32 and 64-bit) architecture support
riscv 64-bit RISC-V architecture support
security security facilities - audit(4) and mac(4)
sys kernel headers
tests kernel unit tests
ufs Unix File System - ffs(7)
vm virtual memory system
x86 code shared by AMD64 and i386 architectures