opnsense-src/sys
Mike Karels d5d97bed4a arm64 lib32: prepare arm64 headers to redirect to arm
In order to compile lib32 libraries and other 32-bit code on arm64,
<machine/foo.h> needs to be redirected to an arm header rather
than arm64 when building with -m32.  Ifdef the arm64 headers that
are installed in /usr/include/machine and used by user-level software
(including references from /usr/include/*.h) so that if __arm__ is
defined when including the arm64 version, <arm/foo.h> is included
rather than using the rest of the file's contents.  Some arm headers
had no arm64 equivalent; headers were added just to do the redirection.
These files use #error if __arm__ is not defined to guard against
confusion.  Also add an include/arm Makefile, and modify Makefiles
as needed to install everything, including the arm files in
/usr/include/arm.  fenv.h comes from lib/msun/arm/fenv.h.

The new arm64 headers are:
    acle-compat.h
    cpuinfo.h
    sysreg.h

Reviewed by:	jrtc27, imp
Differential Revision:	https://reviews.freebsd.org/D40944
2023-07-25 18:59:26 -05:00
..
amd64 amd64: Use a larger boot stack 2023-07-24 18:49:36 -04:00
arm arm: Only include sysreg.h when needed in asm.h 2023-07-24 17:58:16 +01:00
arm64 arm64 lib32: prepare arm64 headers to redirect to arm 2023-07-25 18:59:26 -05:00
bsm
cam cam/mmc: Migrate to modern uintXX_t from u_intXX_t 2023-07-24 21:32:57 -06:00
cddl kinst.h: make pointer to probe in kinst_cpu_state const 2023-07-19 19:57:44 +03:00
compat linux(4): Implement xattr syscalls 2023-07-22 14:03:33 +03:00
conf Work around VNET and DPCPU related panics on aarch64 2023-07-24 00:35:04 +02:00
contrib zfs: set autotrim default to 'off' 2023-07-18 11:20:11 +02:00
crypto ossl: Don't try to initialize the cipher for Chacha20+Poly1305. 2023-06-20 07:53:50 -07:00
ddb ddb: Rework macros to make it easier to add new command tables. 2023-07-05 16:02:01 -07:00
dev nvme: Use a memdesc for the request buffer instead of a bespoke union. 2023-07-24 10:32:58 -07:00
dts spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
fs fdescfs: add a mount option rdlnk 2023-07-13 04:14:20 +03:00
gdb netgdb: Fix netgdb double ack, print proxy address 2023-05-27 09:34:17 -07:00
geom bios: Don't keep sending BIO_FLUSH after first ENOTSUPP. 2023-07-01 11:14:49 -06:00
gnu spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
i386 linux(4): Regen for xattr syscalls 2023-07-22 14:03:32 +03:00
isa spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
kern kern_sig.c: include sys/jail.h per style(9) 2023-07-25 18:13:17 +01:00
kgssapi spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
libkern divmoddi*: Use separate statements instead of the comma operator. 2023-07-07 13:01:19 -07:00
modules linux(4): Implement xattr syscalls 2023-07-22 14:03:33 +03:00
net pf: support 'return' for SCTP 2023-07-21 12:32:18 +02:00
net80211 net80211: Radiotap: update for defines 2023-05-20 00:56:21 +00:00
netgraph SPDX: It's spelled 'SPDX-License-Identifier' 2023-05-12 10:44:04 -06:00
netinet sctp: update zero checksum support 2023-07-23 06:41:32 +02:00
netinet6 mld: always commit state changes on leaving 2023-07-24 16:47:34 +02:00
netipsec tcp: fix TCP MD5 digest computation for TCP over UDP 2023-06-21 22:48:12 +02:00
netlink netinet[6]: make in[6]_control use ucred instead of td. 2023-07-01 06:52:24 +00:00
netpfil pf: add SCTP NAT support 2023-07-21 12:32:19 +02:00
netsmb spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
nfs Fix panic in nfs bootp/diskless after 0785c323f3. 2023-06-02 12:57:26 -04:00
nfsclient
nfsserver
nlm spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
ofed spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
opencrypto crypto: Advance the correct pointer in crypto_cursor_copydata() 2023-06-12 12:52:24 -04:00
powerpc Consistently provide ffs/fls using builtins 2023-07-06 14:46:41 -03:00
riscv arm64/riscv pmap: Initialize the pmap's pm_pvchunk field 2023-07-21 23:58:18 -05:00
rpc spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
security mac_veriexec ensure label fields are initialized 2023-07-06 09:26:15 -07:00
sys vfs: Export exattr methods to reuse by Linuxulator 2023-07-22 14:03:33 +03:00
teken spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
tests ktest: make ktest work with Netlink loaded as a module. 2023-06-13 06:04:14 +00:00
tools makesyscall: Stop generating $FreeBSD$ 2023-06-09 07:26:24 -06:00
ufs Comment cleanup. 2023-07-25 14:07:31 -07:00
vm vmspace_fork(): do not override offset for the guard entries 2023-07-20 22:04:03 +03:00
x86 xen: move vcpu_info to common, leave hook for setup 2023-07-21 10:59:12 +02:00
xdr spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
xen xen: move vcpu_info to common, leave hook for setup 2023-07-21 10:59:12 +02:00
Makefile Remove dead code in the cscope target 2022-11-11 15:53:57 +00:00
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