opnsense-src/sys
Elliott Mitchell 20fc5bf7df xen: move vcpu_info to common, leave hook for setup
vcpu_info is crucial for the Xen event channel core.  Since both the
data and setup steps are identical between architectures, move them to
the common file.  Since there is no cross-architecture method to call
a function on every processor during bring-up, simply leave the setup
function.

The number of vcpu_info structures available on the shared information
page varies by architecture.  Instead of hard-coding the count use
nitems().  Add a warning message for this being used.

Switch to XEN_VCPUID() and use Xen's typedefs.

panic() on failure since >32 processors is no longer unusual.

royger: Specify 64-byte alignment for vcpu_info to try to defend
against vcpu_info crossing a page boundary.  Add detection for this
limit.

Reviewed by: royger
2023-07-21 10:59:12 +02:00
..
amd64 Fix MINIMAL build on amd64 2023-07-14 09:18:43 +02:00
arm Consistently provide ffs/fls using builtins 2023-07-06 14:46:41 -03:00
arm64 vm_radix_init: use initializer 2023-07-14 01:49:55 -05:00
bsm
cam cam: Add CAM_NVME_STATUS_ERROR error code 2023-07-20 22:32:31 -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): Use M_LINUX for malloc type of proc emuldata 2023-07-19 00:44:17 +03:00
conf i386: Switch to PIC kernel modules 2023-07-19 21:21:04 +03: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 cam: Add CAM_NVME_STATUS_ERROR error code 2023-07-20 22:32:31 -06: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 i386: Switch to PIC kernel modules 2023-07-19 21:21:04 +03:00
isa spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
kern ktls_alloc_rcv_tag: Fix capability checks for RXTLS4/6. 2023-07-19 11:12:14 -07: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 kinst: port to arm64 2023-07-19 17:58:18 +03:00
net iflib: Unlock ctx lock around call to ether_ifattach() 2023-07-19 15:51:26 -07: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 tcp: improve layout of struct tcpcb 2023-07-19 14:47:36 +02:00
netinet6 Fix MINIMAL build 2023-07-14 09:18:43 +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 pfsync: fix NOINET6 build 2023-07-14 09:18:43 +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 riscv pmap: another vm_radix_init 2023-07-16 15:48:43 -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 memdesc: Retire MEMDESC_BIO. 2023-07-14 11:32:40 -07: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 vfs: use __enum_uint8 for vtype and vstate 2023-07-05 15:06:30 +00: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
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