aboutsummaryrefslogtreecommitdiff
path: root/sys/modules/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* Only build USB-related modules if MK_USB != noEnji Cooper2026-03-031-6/+10
| | | | | | | | | | This change moves the thunderbolt module and other USB modules under a MK_USB != no conditional to ensure that users not desiring USB support can easily build systems without USB-specific drivers using this knob. MFC after: 1 week Reviewed By: imp Differential Revision: https://reviews.freebsd.org/D55576
* sys: Retire le(4)Ed Maste2026-03-021-1/+0
| | | | | | | | | | | | | | | | We retired most obsolete 10 and 10/100 Ethernet NIC drivers in 2019 -- see commits following ebcf740a32ae ("FCP-101: remove obsolete 10 and 10/100 Ethernet drivers.). le(4) was retained with with the note "Emulated by QEMU, alternatives don't yet work for mips64." MIPS has since been removed from the tree and emulators and virtual machines offer many other, more suitable devices. Reviewed by: brooks Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55516
* METALOG: Order keyword entriesJose Luis Duran2026-01-261-1/+1
| | | | | | | | | | | To facilitate comparison with mtree -C generated output, keep the keywords ordered. No functional change intended. Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54872
* modules: factor out LinuxKPI based wireless drivers and add RISC-VBjoern A. Zeeb2026-01-141-3/+11
| | | | | | | | | | | | | | | | | | | | | | The LinuxKPI based wireless drivers are currently limited to amd64 and arm64 (and until cleaned up i386). Adding RISC-V now as we have a report that iwlwifi(4) works on RISC-V [1]. Factor the LinuxKPI based wireless drivers out into their own block. Given RISC-V has no ACPI support yet (though we fixed #includes in order to keep compiling the drivers without further modifications where possible) we need to take care of rtw89 which fails to compile without ACPI enabled. A quick check at the Linux build files indicates that the depenency is not correctly recorded there either. Disable compiling rtw89 without ACPI (on RISC-V) for the moment until this is fixed. [1] https://mail-archive.freebsd.org/cgi/getmsg.cgi?fetch=5947+0+archive/2026/freebsd-wireless/20260112.freebsd-wireless Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D54693
* asmc(4): Stop building it on i386, as it supports only 64-bit chipsetsOlivier Certner2026-01-121-1/+1
| | | | | | Reported by: ngie Fixes: fde9fe18219f ("i386: Fix kernel compilation after introduction of ASMC_DEBUG option") Sponsored by: The FreeBSD Foundation
* ixl(4): Enable building driver on ARM64Krzysztof Galazka2026-01-091-2/+2
| | | | | | | | | | | | | | | | | | | For consistency with other drivers enable building ixl on ARM64 target. Please be advised that it is only compile tested. Intel will continue to test Ethernet drivers only on x86-64 platforms, and is not going to provide support for issues, which cannot be reproduced in such environment. Signed-off-by: Krzysztof Galazka <krzysztof.galazka@intel.com> Suggested by: Dave Cottlehuber <dch@FreeBSD.org> Reviewed by: manu Approved by: kbowling (mentor) MFC after: 2 weeks Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D54289
* Makefile*: remove powerpcspeMinsoo Choo2026-01-091-5/+3
| | | | | | | | | | | | As reported on the freebsd-announce mailing list[1] FreeBSD is continuing to retire 32-bit support. Remove powerpcspe from build infrastructure. [1] https://lists.freebsd.org/archives/freebsd-announce/2024-February/000117.html Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me> Reviewed by: jhibbits, emaste Pull request: https://github.com/freebsd/freebsd-src/pull/1914
* Build acpi kernel modules on aarch64John Baldwin2025-12-261-1/+1
| | | | | | | | For now, the only kernel module built is acpi_ged.ko. Sponsored by: Netflix Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D54315
* LinuxKPI: bitcount fix builds with gcc and older llvmBjoern A. Zeeb2025-12-191-3/+0
| | | | | | | | | | | | | | | | LLVM before 19 and gcc before 14 do not support __builtin_popcountg(). Use __const_bitcount<n> from sys/bitcount.h as a replacement in these cases. This should still allow drm-kmod to build where the size needs to be known at compile-time. Remove the conditional for gcc around the iwlwifi modules build, which was collateral damage in all this. Sponsored by: The FreeBSD Foundation Fixes: 7cbc4d875971, 5e0a4859f28a MFC after: 3 days Reviewed by: brooks, emaste (without the sys/modules/Makefile change) Differential Revision: https://reviews.freebsd.org/D54297
* aq(4): Build on x86 only for nowEd Maste2025-12-181-1/+2
| | | | | | | | It fails to build on arm64. As it is experimental and in development just limit it to x86 until this is fixed. Reported by: brd Fixes: 75177aebf039 ("aq(4): Add build infrastructure")
* aq(4): Add build infrastructureEd Maste2025-12-181-0/+1
| | | | | | Reviewed by: adrian Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D53839
* if_rge: initial import of if_rge driver from OpenBSD.Adrian Chadd2025-12-151-0/+1
| | | | | | | This is an initial import of the if_rge driver from OpenBSD and adapted to FreeBSD. Differential Revision: https://reviews.freebsd.org/D54101
* arm64: Add Arm SPE supportZachary Leaf2025-11-121-0/+5
| | | | | | | | | | | | | | | | | | | Add support for the Arm Statistical Profiling Extension (SPE). This is an optional extension added in Armv8.1 to provide profiling of software using randomised instruction sampling. This adds the initial driver, and attached it to the hardware tracing framework, hwt(4), in CPU mode to allow tracing of all threads on a given CPU. (commit message by andrew@) Co-authored-by: Sarah Walker <sarah.walker2@arm.com> Co-authored-by: Andrew Turner <andrew@FreeBSD.org> Reviewed by: andrew Sponsored by: Arm Ltd Sponsored by: The FreeBSD Foundation (early driver) Differential Revision: https://reviews.freebsd.org/D46241
* random: remove hifn(4)David E. O'Brien2025-10-281-1/+0
| | | | | | | | | | | | | | | | | The Hifn 7955 & 7956 only supports deprecated & NIST disallowed algorithms (NIST SP800-224idp): SHA1 and SHA1-HMAC. Furthermore the entropy RNG of the Hifn 7751, 7951, 7811, 7955, and 7956 has no NIST Entropy Source Validation (ESV) certificate and cannot be used in a FIPS-140-3 nor Common Criteara environment. Furthermore the most prolific instance for FreeBSD was the Soekris Engineering vpn1201, vpn1211, vpn1401, and vpn1411 offerings. These are all 32-bit only processors. The i386 kernel was de-supported in 15.0. Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D53182
* padlock(4)/nehemiah: move i386-only entropy source to MD filesDavid E. O'Brien2025-10-231-1/+3
| | | | | Reviewed by: khng Differential Revision: https://reviews.freebsd.org/D53309
* random: add RDSEED as a provably unique entropy sourceDavid E. O'Brien2025-10-221-0/+2
| | | | | | | | | | | | | | | | | | | | | | | NIST SP800-90B allows for only a single entropy source to be claimed in a FIPS-140-3 certificate. In addition, only hardware sources that have a NIST Entropy Source Validation (ESV) certificate, backed by a SP800-90B Entropy Assessment Report, are usable. Intel has obtained ESV certificates for several of their processors, so RDSEED is a FIPS-140-3 suitable entropy source. However, even though RDRAND is seeded by RDSEED internally, RDRAND would need a RBG certificate and CAVP testing run on the DRBG in order to use it for FIPS-140-3 (SP800-90B) purposes. So we need to know down in the CSPRNG-subsystem which source the entropy came from. In light of the potential issues surrounding AMD Zen 5 CPU's RDSEED implementation[*], allow RDSEED to be disabled in loader.conf. [*] https://www.phoronix.com/news/AMD-EPYC-Turin-RDSEED-Bug Reviewed by: cem MFC after: 3 days Sponsored by: Juniper Networks Differential Revision: https://reviews.freebsd.org/D53150
* modules: fix some riscv module logicMitchell Horne2025-10-201-9/+3
| | | | | | | | | | | | The change which enabled the sdhci_fdt module build on riscv inadvertently enabled the neta module as well. This driver is not needed on this platform. Move each entry to a respective identical conditional blocks. MFC after: 3 days Sponsored by: The FreeBSD Foundation Fixes: e9dd9f95f82f ("riscv: Add the sdhci_fdt driver to the build")
* arm: tweak imx module build logicMitchell Horne2025-10-201-0/+5
| | | | | | | | | Add the subdirectory in the Makefile, not the config. No functional change intended. MFC after: 3 days Sponsored by: The FreeBSD Foundation
* modules: enable allwinner kmods on riscvMitchell Horne2025-10-201-1/+1
| | | | | | | | | While here, standardize the place they are enabled in the Makefile. For armv7 the module subdirectory was added explicitly in the config file, but this is not idiomatic. MFC after: 3 days Sponsored by: The FreeBSD Foundation
* igc(4): also build module on aarch64Bjoern A. Zeeb2025-10-171-1/+1
| | | | | | | | igc(4) seems to work fine on arm64 for as much as I could test with a 2.5Gbit/s interface on a mPCIe card. Enable the module build so it is available. MFC after: 3 days
* thunderbolt: Import USB4 codeAymeric Wibo2025-09-271-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add initial USB4 code written by Scott Long and originally passed on to HPS (source: https://github.com/hselasky/usb4), minus the ICM code and with some small fixes. For context, older TB chips implemented the connection manager in firmware (ICM) instead of in the OS (HCM), but maintaining the ICM code would be a huge burden for not many chips. Mostly completed work: - Debug/trace framework. - NHI controller driver. - PCIe bridge driver. - Router and config space layer handling (just reading in this commit). Link to the email where Scott shared details about the initial USB4 work: https://lists.freebsd.org/archives/freebsd-hackers/2024-July/003411.html Glanced at by: emaste, imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49450 Event: EuroBSDcon 2025
* iwlwifi: Don't compile for gcc before 14Warner Losh2025-09-151-0/+3
| | | | | | | | | | | | gcc 13 and earlier don't have __builtin_bitcountg. The linux wifi kpi uses this unconditionally. While in this one use, it might not be needed, I opted to not compile iwlwifi when building gcc12 or 13 rather than risk breaking it for everbody else. With this change gcc12 builds the kernel. Maybe this will stop jenkins email for every commit I make. Sponsored by: Netflix
* riscv: Add the sdhci_fdt driver to the buildBojan Novković2025-08-011-1/+2
| | | | | Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D48534
* amdsmu: Initial work on a driver for the AMD SMUAymeric Wibo2025-07-261-0/+2
| | | | | | | | | | | | | | | | | | | Start work on a driver for the AMD SMU (system management unit), which will eventually be used for getting S0ix statistics (e.g. how long the CPU has spent in the deepest - S0i3 - sleep state during the last sleep) as well as letting PMFW (power management firmware, running on the SMU) know when we intend to enter and exit sleep. It is what's responsible for actually turning off the VDD line to the CPU. With this commit, amdsmu is just able to get the SMU's firmware version on AMD Rembrandt, Phoenix, and Strix Point CPUs. This is the equivalent to amd-pmc on Linux. Reviewed by: cem, kib, mckusick Approved by: kib, mckusick Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48683
* hwt(4): Add Intel Processor Trace backendBojan Novković2025-07-161-0/+2
| | | | | Differential Revision: https://reviews.freebsd.org/D46397 Reviewed by: kib, markj, br
* Import the Hardware Trace (HWT) framework.Ruslan Bukin2025-07-031-0/+5
| | | | | | | | | | | | | | | | The HWT framework provides infrastructure for hardware-assisted tracing. It collects detailed information about software execution and records it as "events" in highly compressed format into DRAM. The events cover information about control flow changes of a program, whether branches taken or not, exceptions taken, timing information, cycles elapsed and more. This allows to reconstruct entire program flow of a given application. This comes with separate machine-dependent tracing backends for trace collection, trace decoder libraries and an instrumentation tool. Reviewed by: kib (sys/kern bits) Sponsored by: UKRI Differential Revision: https://reviews.freebsd.org/D40466
* ufshci: Add to build on arm64 and aarch64Warner Losh2025-06-151-0/+5
| | | | | | Add UFS Host Controller Itnerface driver to the build. Sponsored by: Netflix
* buildkernel: fix build for kernels without VIMAGEGleb Smirnoff2025-05-261-1/+4
| | | | Fixes: 9b5ddb2accfc80f70a0da52444008ebabef2a9ee
* wtap(4): Connect to buildLi-Wen Hsu2025-05-201-0/+1
| | | | Sponsored by: The FreeBSD Foundation
* e6000sw: always compile itAdrian Chadd2025-04-271-2/+1
| | | | | | | It now is useful outside of FDT, so add it as a module Differential Revision: https://reviews.freebsd.org/D50028 Reviewed by: imp
* etherswitch: add etherswitch moduleAdrian Chadd2025-04-271-0/+1
| | | | | | | Add the etherswitch module Differential Revision: https://reviews.freebsd.org/D50026 Reviewed by: imp
* miiproxy: add as a moduleAdrian Chadd2025-04-271-0/+1
| | | | | | | Add miiproxy as a module. Differential Revision: https://reviews.freebsd.org/D50025 Reviewed by: imp
* iwlwififw: remove Intel iwlwifi firmware from src.gitBjoern A. Zeeb2025-04-101-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following the example of rtw88 and rtw89 only ship iwlwifi firmware from ports/packages. Users are asked to run fwget(8) to install the firmware needed for their system or build it from ports (see also UPDATING). This is the end of a long story adding wireless support to fwget(8), migrating the firmware for multiple branches into ports, splitting them up into flavors, and updating some install media and the installer to provide firmware. The overall amount for new firmware amongst all drivers would have added more than 100M of binary blobs to src.git for the first import, ignoring future updates which (along with some duplication between multiple drivers) was considered too much. While maintenance within the src tree certainly would have been easier in the longer term this seems to be the better solution and I would like to thank everyone who helped along the path to get there. The iwlwififw.4 man page is to stay (for now) and will likely point at the appropriate firmware package flavor in the future as well so people may find it easier to transition. In the long term this information is likely not needed anymore. Sponsored by: The FreeBSD Foundation Requested by: core (Oct 2022) Reviewed by: thj, jrm (earlier) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D49713
* iwx: Disconnect from the i386 buildMark Johnston2025-04-031-1/+1
| | | | | | | The module fails to compile. Disconnect it until that's resolved one way or another. Reported by: cperciva
* Import iwx as ported from OpenBSD by Future Crew.Tom Jones2025-03-311-0/+2
| | | | | | | | | | | | | | | | | | This driver originates from OpenBSD and was ported to FreeBSD by Future Crew LLC who kindly provided a source release. iwx supports many recent Intel WiFi card and this driver should support running these cards with legacy, HT and VHT rates. There are some issues remaining in the port, but at this point wider testing is sought. To avoid breaking deployed WiFi configurations iwx probes with a lower priority than iwlwifi. This can be changed by blocking iwlwifi with devmatch. Reviewed by: adrian Obtained from: Future Crew LLC Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49259
* net80211: add initial AES-GCMP crypto supportAdrian Chadd2025-03-131-0/+1
| | | | | | | | | | | | | This adds initial AES-GCMP crypto support. It registers for both 128 and 256 bit support, although the 256 bit support will not work without extending the net80211/ioctl keylength. This is not yet enabled by default; drivers will need to opt-in to supporting it in either hardware or software. The AES-GCMP code is BSD licenced code from hostapd.git release 2.11. Differential Revision: https://reviews.freebsd.org/D49161
* Revert "isp: Fix abort issue introduced by previous commit"Alexander Motin2025-01-081-2/+0
| | | | | | This reverts commit 1f7c379c07168029694a9a33bc437b05cdee623e. Leaked unintended changes. I'm sorry.
* isp: Fix abort issue introduced by previous commitAlexander Motin2025-01-081-0/+2
| | | | | | | | | | | Aborting ATIO while its CTIOs are in progress makes impossible to handle their completions, making them stuck forever. Detect this case by checking ctcnt counter and if so instead of aborting just mark the ATIO as dead to block any new CTIOs. It is not perfect since the task id can not be reused for some more time, but not as bad as the task stuck forever. MFC after: 1 week
* iwm: Stop shipping firmware as kernel moduleEmmanuel Vadot2024-12-161-2/+0
| | | | | | | | | Since we can load raw firmware start shipping them as is. This also remove the uuencode format that don't add any value and garbage collect old firmwares version. For pkgbase users they are now in the FreeBSD-firmware-iwm package. Sponsored by: Beckhoff Automation GmbH & Co. KG
* riscv: Add support for building vmm as a kernel moduleMark Johnston2024-11-131-1/+2
| | | | | | | | | - Update sys/modules/vmm/Makefile. - Add some required symbol definitions. - Hook up vmm in sys/modules/Makefile. Reviewed by: br Differential Revision: https://reviews.freebsd.org/D47477
* iwlwifi,rtw88,rtw89: connect to build againBjoern A. Zeeb2024-10-281-3/+3
| | | | | | Sponsored by: The FreeBSD Foundation Fixes: f0b989348fe6 (revert) MFC after: 14 days
* iwlwifi,rtw88,rtw89: temporary disable buildBjoern A. Zeeb2024-10-281-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I tried to use LINUXKPI_VERSION to work out a plan which allows us to compile linuxkpi_wlan and the LinuxKPI based wireless drivers without interruption and flip a switch on the go. I assume, with a lot of extra detours making the linuxkpi_wlan implementation KPI changes compile time dependent would have been possible and might be needed in the future. One problem is that the various drivers currently in main were from different sources or different hashes of the Linux wireless-testing.git repository at last and we have no common base to use and LINUXKPI_VERSION checks seem to slightly overlap. Pulling drivers from official Linux version releases now will avoid that problem and keep all drivers on the same KPI level in the future which should avoid this problem. The other problem is that the merges from the vendor branches are independent and so the first merge will need to have the LinuxKPI changes before but in between the (old) drivers will not compile (unless linuxkpi_wlan can deal with both KPI versions). For this time it was simply not possible to align all the changes and instead we disable building the drivers over the merge window only not to break intermediate builds. After LinuxKPI 802.11 was updated and drivers are merged from vendor branches we will re-attach them to the build. Sponsored by: The FreeBSD Foundation
* rtw89: add man page and hook driver up to the buildBjoern A. Zeeb2024-10-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | After two years, add the initial man page and hook Realteks rtw89 driver up to the build for more people to test given successful reports. devd.conf is already providing support based on the rtw<n+> regex. The driver uses the LinuxKPI compat layer. Firmware is provided by ports: net/wifi-firmware-rtw89-kmod or one of the flavours. People are advised to used fwget(8) to automatically install the correct firmware for their chipset. Please note that for the moment the driver requires a tunable to be set in loader.conf: compat.linuxkpi.skb.mem_limit=1 Many thanks to everyone who in the last two years helped testing, debugged, submitted patches to get the driver to this stage where initial functionality seems working. Sponsored by: The FreeBSD Foundation MFC after: 3 days
* Add dummymbuf module for testing purposesIgor Ostapenko2024-08-151-0/+1
| | | | | Reviewed by: kp Differential Revision: https://reviews.freebsd.org/D45928
* Remove residual blank line at start of MakefileWarner Losh2024-07-151-1/+0
| | | | | | | This is a residual of the $FreeBSD$ removal. MFC After: 3 days (though I'll just run the command on the branches) Sponsored by: Netflix
* ossl: Add support for powerpc64/powerpc64leShawn Anastasio2024-06-211-1/+2
| | | | | | | | | | | | Summary: Add support for building ossl(4) on powerpc64* by implementing ossl_cpuid and other support functions for powerpc. The required assembly files for ppc were already present in-tree. Test Plan: The changes were tested using the in-tree tools/tools/crypto/cryptocheck.c tool on both powerpc64 and powerpc64le on a POWER9 system. Reviewed by: #powerpc, jhibbits, jhb Differential Revision: https://reviews.freebsd.org/D41837
* Add an implementation of the 9P filesystemDoug Rabson2024-06-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is derived from swills@ fork of the Juniper virtfs with many changes by me including bug fixes, style improvements, clearer layering and more consistent logging. The filesystem is renamed to p9fs to better reflect its function and to prevent possible future confusion with virtio-fs. Several updates and fixes from Juniper have been integrated into this version by Val Packett and these contributions along with the original Juniper authors are credited below. To use this with bhyve, add 'virtio_p9fs_load=YES' to loader.conf. The bhyve virtio-9p device allows access from the guest to files on the host by mapping a 'sharename' to a host path. It is possible to use p9fs as a root filesystem by adding this to /boot/loader.conf: vfs.root.mountfrom="p9fs:sharename" for non-root filesystems add something like this to /etc/fstab: sharename /mnt p9fs rw 0 0 In both examples, substitute the share name used on the bhyve command line. The 9P filesystem protocol relies on stateful file opens which map protocol-level FIDs to host file descriptors. The FreeBSD vnode interface doesn't really support this and we use heuristics to guess the right FID to use for file operations. This can be confused by privilege lowering and does not guarantee that the FID created for a given file open is always used for file operations, even if the calling process is using the file descriptor from the original open call. Improving this would involve changes to the vnode interface which is out-of-scope for this import. Differential Revision: https://reviews.freebsd.org/D41844 Reviewed by: kib, emaste, dch MFC after: 3 months Co-authored-by: Val Packett <val@packett.cool> Co-authored-by: Ka Ho Ng <kahon@juniper.net> Co-authored-by: joyu <joyul@juniper.net> Co-authored-by: Kumara Babu Narayanaswamy <bkumara@juniper.net>
* bnxt: Use a simpler test for 32-bit platformsMark Johnston2024-06-141-2/+1
| | | | | Suggested by: jrtc27 Fixes: c867ba72889d ("bnxt: Do not compile on 32-bit platforms")
* bnxt: Do not compile on 32-bit platformsMark Johnston2024-05-281-2/+2
| | | | | | | | | The new bnxt_re driver doesn't compile on any of them (it uses writeq() from the LinuxKPI, which isn't implemented there), and had already been disconnected from the build on i386. Reported by: Jenkins Fixes: acd884dec99a ("RDMA/bnxt_re: Add bnxt_re RoCE driver")
* ipfw: don't build the module if INET not in kernelLexi Winter2024-05-251-1/+1
| | | | | Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1255