70d85b1cf3
Refactor of /dev/random device. Main points include: * Userland seeding is no longer used. This auto-seeds at boot time on PC/Desktop setups; this may need some tweeking and intelligence from those folks setting up embedded boxes, but the work is believed to be minimal. * An entropy cache is written to /entropy (even during installation) and the kernel uses this at next boot. * An entropy file written to /boot/entropy can be loaded by loader(8) * Hardware sources such as rdrand are fed into Yarrow, and are no longer available raw. ------------------------------------------------------------------------ r256240 | des | 2013-10-09 21:14:16 +0100 (Wed, 09 Oct 2013) | 4 lines Add a RANDOM_RWFILE option and hide the entropy cache code behind it. Rename YARROW_RNG and FORTUNA_RNG to RANDOM_YARROW and RANDOM_FORTUNA. Add the RANDOM_* options to LINT. ------------------------------------------------------------------------ r256239 | des | 2013-10-09 21:12:59 +0100 (Wed, 09 Oct 2013) | 2 lines Define RANDOM_PURE_RNDTEST for rndtest(4). ------------------------------------------------------------------------ r256204 | des | 2013-10-09 18:51:38 +0100 (Wed, 09 Oct 2013) | 2 lines staticize struct random_hardware_source ------------------------------------------------------------------------ r256203 | markm | 2013-10-09 18:50:36 +0100 (Wed, 09 Oct 2013) | 2 lines Wrap some policy-rich code in 'if NOTYET' until we can thresh out what it really needs to do. ------------------------------------------------------------------------ r256184 | des | 2013-10-09 10:13:12 +0100 (Wed, 09 Oct 2013) | 2 lines Re-add /dev/urandom for compatibility purposes. ------------------------------------------------------------------------ r256182 | des | 2013-10-09 10:11:14 +0100 (Wed, 09 Oct 2013) | 3 lines Add missing include guards and move the existing ones out of the implementation namespace. ------------------------------------------------------------------------ r256168 | markm | 2013-10-08 23:14:07 +0100 (Tue, 08 Oct 2013) | 10 lines Fix some just-noticed problems: o Allow this to work with "nodevice random" by fixing where the MALLOC pool is defined. o Fix the explicit reseed code. This was correct as submitted, but in the project branch doesn't need to set the "seeded" bit as this is done correctly in the "unblock" function. o Remove some debug ifdeffing. o Adjust comments. ------------------------------------------------------------------------ r256159 | markm | 2013-10-08 19:48:11 +0100 (Tue, 08 Oct 2013) | 6 lines Time to eat crow for me. I replaced the sx_* locks that Arthur used with regular mutexes; this turned out the be the wrong thing to do as the locks need to be sleepable. Revert this folly. # Submitted by: Arthur Mesh <arthurmesh@gmail.com> (In original diff) ------------------------------------------------------------------------ r256138 | des | 2013-10-08 12:05:26 +0100 (Tue, 08 Oct 2013) | 10 lines Add YARROW_RNG and FORTUNA_RNG to sys/conf/options. Add a SYSINIT that forces a reseed during proc0 setup, which happens fairly late in the boot process. Add a RANDOM_DEBUG option which enables some debugging printf()s. Add a new RANDOM_ATTACH entropy source which harvests entropy from the get_cyclecount() delta across each call to a device attach method. ------------------------------------------------------------------------ r256135 | markm | 2013-10-08 07:54:52 +0100 (Tue, 08 Oct 2013) | 8 lines Debugging. My attempt at EVENTHANDLER(multiuser) was a failure; use EVENTHANDLER(mountroot) instead. This means we can't count on /var being present, so something will need to be done about harvesting /var/db/entropy/... . Some policy now needs to be sorted out, and a pre-sync cache needs to be written, but apart from that we are now ready to go. Over to review. ------------------------------------------------------------------------ r256094 | markm | 2013-10-06 23:45:02 +0100 (Sun, 06 Oct 2013) | 8 lines Snapshot. Looking pretty good; this mostly works now. New code includes: * Read cached entropy at startup, both from files and from loader(8) preloaded entropy. Failures are soft, but announced. Untested. * Use EVENTHANDLER to do above just before we go multiuser. Untested. ------------------------------------------------------------------------ r256088 | markm | 2013-10-06 14:01:42 +0100 (Sun, 06 Oct 2013) | 2 lines Fix up the man page for random(4). This mainly removes no-longer-relevant details about HW RNGs, reseeding explicitly and user-supplied entropy. ------------------------------------------------------------------------ r256087 | markm | 2013-10-06 13:43:42 +0100 (Sun, 06 Oct 2013) | 6 lines As userland writing to /dev/random is no more, remove the "better than nothing" bootstrap mode. Add SWI harvesting to the mix. My box seeds Yarrow by itself in a few seconds! YMMV; more to follow. ------------------------------------------------------------------------ r256086 | markm | 2013-10-06 13:40:32 +0100 (Sun, 06 Oct 2013) | 11 lines Debug run. This now works, except that the "live" sources haven't been tested. With all sources turned on, this unlocks itself in a couple of seconds! That is no my box, and there is no guarantee that this will be the case everywhere. * Cut debug prints. * Use the same locks/mutexes all the way through. * Be a tad more conservative about entropy estimates. ------------------------------------------------------------------------ r256084 | markm | 2013-10-06 13:35:29 +0100 (Sun, 06 Oct 2013) | 5 lines Don't use the "real" assembler mnemonics; older compilers may not understand them (like when building CURRENT on 9.x). # Submitted by: Konstantin Belousov <kostikbel@gmail.com> ------------------------------------------------------------------------ r256081 | markm | 2013-10-06 10:55:28 +0100 (Sun, 06 Oct 2013) | 12 lines SNAPSHOT. Simplify the malloc pools; We only need one for this device. Simplify the harvest queue. Marginally improve the entropy pool hashing, making it a bit faster in the process. Connect up the hardware "live" source harvesting. This is simplistic for now, and will need to be made rate-adaptive. All of the above passes a compile test but needs to be debugged. ------------------------------------------------------------------------ r256042 | markm | 2013-10-04 07:55:06 +0100 (Fri, 04 Oct 2013) | 25 lines Snapshot. This passes the build test, but has not yet been finished or debugged. Contains: * Refactor the hardware RNG CPU instruction sources to feed into the software mixer. This is unfinished. The actual harvesting needs to be sorted out. Modified by me (see below). * Remove 'frac' parameter from random_harvest(). This was never used and adds extra code for no good reason. * Remove device write entropy harvesting. This provided a weak attack vector, was not very good at bootstrapping the device. To follow will be a replacement explicit reseed knob. * Separate out all the RANDOM_PURE sources into separate harvest entities. This adds some secuity in the case where more than one is present. * Review all the code and fix anything obviously messy or inconsistent. Address som review concerns while I'm here, like rename the pseudo-rng to 'dummy'. # Submitted by: Arthur Mesh <arthurmesh@gmail.com> (the first item) ------------------------------------------------------------------------ r255319 | markm | 2013-09-06 18:51:52 +0100 (Fri, 06 Sep 2013) | 4 lines Yarrow wants entropy estimations to be conservative; the usual idea is that if you are certain you have N bits of entropy, you declare N/2. ------------------------------------------------------------------------ r255075 | markm | 2013-08-30 18:47:53 +0100 (Fri, 30 Aug 2013) | 4 lines Remove short-lived idea; thread to harvest (eg) RDRAND enropy into the usual harvest queues. It was a nifty idea, but too heavyweight. # Submitted by: Arthur Mesh <arthurmesh@gmail.com> ------------------------------------------------------------------------ r255071 | markm | 2013-08-30 12:42:57 +0100 (Fri, 30 Aug 2013) | 4 lines Separate out the Software RNG entropy harvesting queue and thread into its own files. # Submitted by: Arthur Mesh <arthurmesh@gmail.com> ------------------------------------------------------------------------ r254934 | markm | 2013-08-26 20:07:03 +0100 (Mon, 26 Aug 2013) | 2 lines Remove the short-lived namei experiment. ------------------------------------------------------------------------ r254928 | markm | 2013-08-26 19:35:21 +0100 (Mon, 26 Aug 2013) | 2 lines Snapshot; Do some running repairs on entropy harvesting. More needs to follow. ------------------------------------------------------------------------ r254927 | markm | 2013-08-26 19:29:51 +0100 (Mon, 26 Aug 2013) | 15 lines Snapshot of current work; 1) Clean up namespace; only use "Yarrow" where it is Yarrow-specific or close enough to the Yarrow algorithm. For the rest use a neutral name. 2) Tidy up headers; put private stuff in private places. More could be done here. 3) Streamline the hashing/encryption; no need for a 256-bit counter; 128 bits will last for long enough. There are bits of debug code lying around; these will be removed at a later stage. ------------------------------------------------------------------------ r254784 | markm | 2013-08-24 14:54:56 +0100 (Sat, 24 Aug 2013) | 39 lines 1) example (partially humorous random_adaptor, that I call "EXAMPLE") * It's not meant to be used in a real system, it's there to show how the basics of how to create interfaces for random_adaptors. Perhaps it should belong in a manual page 2) Move probe.c's functionality in to random_adaptors.c * rename random_ident_hardware() to random_adaptor_choose() 3) Introduce a new way to choose (or select) random_adaptors via tunable "rngs_want" It's a list of comma separated names of adaptors, ordered by preferences. I.e.: rngs_want="yarrow,rdrand" Such setting would cause yarrow to be preferred to rdrand. If neither of them are available (or registered), then system will default to something reasonable (currently yarrow). If yarrow is not present, then we fall back to the adaptor that's first on the list of registered adaptors. 4) Introduce a way where RNGs can play a role of entropy source. This is mostly useful for HW rngs. The way I envision this is that every HW RNG will use this functionality by default. Functionality to disable this is also present. I have an example of how to use this in random_adaptor_example.c (see modload event, and init function) 5) fix kern.random.adaptors from kern.random.adaptors: yarrowpanicblock to kern.random.adaptors: yarrow,panic,block 6) add kern.random.active_adaptor to indicate currently selected adaptor: root@freebsd04:~ # sysctl kern.random.active_adaptor kern.random.active_adaptor: yarrow # Submitted by: Arthur Mesh <arthurmesh@gmail.com> Submitted by: Dag-Erling Smørgrav <des@FreeBSD.org>, Arthur Mesh <arthurmesh@gmail.com> Reviewed by: des@FreeBSD.org Approved by: re (delphij) Approved by: secteam (des,delphij)
559 lines
24 KiB
Plaintext
559 lines
24 KiB
Plaintext
# This file tells config what files go into building a kernel,
|
|
# files marked standard are always included.
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
# The long compile-with and dependency lines are required because of
|
|
# limitations in config: backslash-newline doesn't work in strings, and
|
|
# dependency lines other than the first are silently ignored.
|
|
#
|
|
#
|
|
linux32_genassym.o optional compat_linux32 \
|
|
dependency "$S/amd64/linux32/linux32_genassym.c" \
|
|
compile-with "${CC} ${CFLAGS:N-fno-common} -c ${.IMPSRC}" \
|
|
no-obj no-implicit-rule \
|
|
clean "linux32_genassym.o"
|
|
#
|
|
linux32_assym.h optional compat_linux32 \
|
|
dependency "$S/kern/genassym.sh linux32_genassym.o" \
|
|
compile-with "sh $S/kern/genassym.sh linux32_genassym.o > ${.TARGET}" \
|
|
no-obj no-implicit-rule before-depend \
|
|
clean "linux32_assym.h"
|
|
#
|
|
ia32_genassym.o standard \
|
|
dependency "$S/compat/ia32/ia32_genassym.c" \
|
|
compile-with "${CC} ${CFLAGS:N-fno-common} -c ${.IMPSRC}" \
|
|
no-obj no-implicit-rule \
|
|
clean "ia32_genassym.o"
|
|
#
|
|
ia32_assym.h standard \
|
|
dependency "$S/kern/genassym.sh ia32_genassym.o" \
|
|
compile-with "env NM='${NM}' sh $S/kern/genassym.sh ia32_genassym.o > ${.TARGET}" \
|
|
no-obj no-implicit-rule before-depend \
|
|
clean "ia32_assym.h"
|
|
#
|
|
font.h optional sc_dflt_font \
|
|
compile-with "uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x16.fnt && file2c 'static u_char dflt_font_16[16*256] = {' '};' < ${SC_DFLT_FONT}-8x16 > font.h && uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x14.fnt && file2c 'static u_char dflt_font_14[14*256] = {' '};' < ${SC_DFLT_FONT}-8x14 >> font.h && uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x8.fnt && file2c 'static u_char dflt_font_8[8*256] = {' '};' < ${SC_DFLT_FONT}-8x8 >> font.h" \
|
|
no-obj no-implicit-rule before-depend \
|
|
clean "font.h ${SC_DFLT_FONT}-8x14 ${SC_DFLT_FONT}-8x16 ${SC_DFLT_FONT}-8x8"
|
|
#
|
|
atkbdmap.h optional atkbd_dflt_keymap \
|
|
compile-with "/usr/sbin/kbdcontrol -L ${ATKBD_DFLT_KEYMAP} | sed -e 's/^static keymap_t.* = /static keymap_t key_map = /' -e 's/^static accentmap_t.* = /static accentmap_t accent_map = /' > atkbdmap.h" \
|
|
no-obj no-implicit-rule before-depend \
|
|
clean "atkbdmap.h"
|
|
#
|
|
ukbdmap.h optional ukbd_dflt_keymap \
|
|
compile-with "/usr/sbin/kbdcontrol -L ${UKBD_DFLT_KEYMAP} | sed -e 's/^static keymap_t.* = /static keymap_t key_map = /' -e 's/^static accentmap_t.* = /static accentmap_t accent_map = /' > ukbdmap.h" \
|
|
no-obj no-implicit-rule before-depend \
|
|
clean "ukbdmap.h"
|
|
#
|
|
nvenetlib.o optional nve pci \
|
|
dependency "$S/contrib/dev/nve/amd64/nvenetlib.o.bz2.uu" \
|
|
compile-with "uudecode $S/contrib/dev/nve/amd64/nvenetlib.o.bz2.uu ; bzip2 -df nvenetlib.o.bz2" \
|
|
no-implicit-rule
|
|
#
|
|
os+%DIKED-nve.h optional nve pci \
|
|
dependency "$S/contrib/dev/nve/os.h" \
|
|
compile-with "sed -e 's/^.*#include.*phy\.h.*$$//' $S/contrib/dev/nve/os.h > os+%DIKED-nve.h" \
|
|
no-implicit-rule no-obj before-depend \
|
|
clean "os+%DIKED-nve.h"
|
|
#
|
|
hpt27xx_lib.o optional hpt27xx \
|
|
dependency "$S/dev/hpt27xx/amd64-elf.hpt27xx_lib.o.uu" \
|
|
compile-with "uudecode < $S/dev/hpt27xx/amd64-elf.hpt27xx_lib.o.uu" \
|
|
no-implicit-rule
|
|
#
|
|
hptmvraid.o optional hptmv \
|
|
dependency "$S/dev/hptmv/amd64-elf.raid.o.uu" \
|
|
compile-with "uudecode < $S/dev/hptmv/amd64-elf.raid.o.uu" \
|
|
no-implicit-rule
|
|
#
|
|
hptnr_lib.o optional hptnr \
|
|
dependency "$S/dev/hptnr/amd64-elf.hptnr_lib.o.uu" \
|
|
compile-with "uudecode < $S/dev/hptnr/amd64-elf.hptnr_lib.o.uu" \
|
|
no-implicit-rule
|
|
#
|
|
hptrr_lib.o optional hptrr \
|
|
dependency "$S/dev/hptrr/amd64-elf.hptrr_lib.o.uu" \
|
|
compile-with "uudecode < $S/dev/hptrr/amd64-elf.hptrr_lib.o.uu" \
|
|
no-implicit-rule
|
|
#
|
|
amd64/acpica/acpi_machdep.c optional acpi
|
|
acpi_wakecode.o optional acpi \
|
|
dependency "$S/amd64/acpica/acpi_wakecode.S assym.s" \
|
|
compile-with "${NORMAL_S}" \
|
|
no-obj no-implicit-rule before-depend \
|
|
clean "acpi_wakecode.o"
|
|
acpi_wakecode.bin optional acpi \
|
|
dependency "acpi_wakecode.o" \
|
|
compile-with "${OBJCOPY} -S -O binary acpi_wakecode.o ${.TARGET}" \
|
|
no-obj no-implicit-rule before-depend \
|
|
clean "acpi_wakecode.bin"
|
|
acpi_wakecode.h optional acpi \
|
|
dependency "acpi_wakecode.bin" \
|
|
compile-with "file2c -sx 'static char wakecode[] = {' '};' < acpi_wakecode.bin > ${.TARGET}" \
|
|
no-obj no-implicit-rule before-depend \
|
|
clean "acpi_wakecode.h"
|
|
acpi_wakedata.h optional acpi \
|
|
dependency "acpi_wakecode.o" \
|
|
compile-with '${NM} -n --defined-only acpi_wakecode.o | while read offset dummy what; do echo "#define $${what} 0x$${offset}"; done > ${.TARGET}' \
|
|
no-obj no-implicit-rule before-depend \
|
|
clean "acpi_wakedata.h"
|
|
#
|
|
amd64/amd64/amd64_mem.c optional mem
|
|
#amd64/amd64/apic_vector.S standard
|
|
amd64/amd64/atomic.c standard
|
|
amd64/amd64/autoconf.c standard
|
|
amd64/amd64/bios.c standard
|
|
amd64/amd64/bpf_jit_machdep.c optional bpf_jitter
|
|
amd64/amd64/cpu_switch.S standard
|
|
amd64/amd64/db_disasm.c optional ddb
|
|
amd64/amd64/db_interface.c optional ddb
|
|
amd64/amd64/db_trace.c optional ddb
|
|
amd64/amd64/elf_machdep.c standard
|
|
amd64/amd64/exception.S standard
|
|
amd64/amd64/fpu.c standard
|
|
amd64/amd64/gdb_machdep.c optional gdb
|
|
amd64/amd64/identcpu.c standard
|
|
amd64/amd64/in_cksum.c optional inet | inet6
|
|
amd64/amd64/initcpu.c standard
|
|
amd64/amd64/io.c optional io
|
|
amd64/amd64/locore.S standard no-obj
|
|
amd64/amd64/machdep.c standard
|
|
amd64/amd64/mem.c optional mem
|
|
amd64/amd64/minidump_machdep.c standard
|
|
amd64/amd64/mp_machdep.c optional smp
|
|
amd64/amd64/mp_watchdog.c optional mp_watchdog smp
|
|
amd64/amd64/mpboot.S optional smp
|
|
amd64/amd64/pmap.c standard
|
|
amd64/amd64/prof_machdep.c optional profiling-routine
|
|
amd64/amd64/ptrace_machdep.c standard
|
|
amd64/amd64/sigtramp.S standard
|
|
amd64/amd64/stack_machdep.c optional ddb | stack
|
|
amd64/amd64/support.S standard
|
|
amd64/amd64/sys_machdep.c standard
|
|
amd64/amd64/trap.c standard
|
|
amd64/amd64/uio_machdep.c standard
|
|
amd64/amd64/uma_machdep.c standard
|
|
amd64/amd64/vm_machdep.c standard
|
|
amd64/pci/pci_cfgreg.c optional pci
|
|
cddl/contrib/opensolaris/common/atomic/amd64/opensolaris_atomic.S optional zfs compile-with "${ZFS_S}"
|
|
crypto/aesni/aeskeys_amd64.S optional aesni
|
|
crypto/aesni/aesni.c optional aesni
|
|
aesni_wrap.o optional aesni \
|
|
dependency "$S/crypto/aesni/aesni_wrap.c" \
|
|
compile-with "${CC} -c ${CFLAGS:C/^-O2$/-O3/:N-nostdinc} ${WERROR} ${PROF} -mmmx -msse -maes ${.IMPSRC}" \
|
|
no-implicit-rule \
|
|
clean "aesni_wrap.o"
|
|
crypto/blowfish/bf_enc.c optional crypto | ipsec
|
|
crypto/des/des_enc.c optional crypto | ipsec | netsmb
|
|
crypto/via/padlock.c optional padlock
|
|
crypto/via/padlock_cipher.c optional padlock
|
|
crypto/via/padlock_hash.c optional padlock
|
|
dev/acpica/acpi_if.m standard
|
|
dev/acpi_support/acpi_wmi_if.m standard
|
|
dev/agp/agp_amd64.c optional agp
|
|
dev/agp/agp_i810.c optional agp
|
|
dev/agp/agp_intel.c optional agp
|
|
dev/agp/agp_via.c optional agp
|
|
dev/amdsbwd/amdsbwd.c optional amdsbwd
|
|
dev/amdtemp/amdtemp.c optional amdtemp
|
|
dev/arcmsr/arcmsr.c optional arcmsr pci
|
|
dev/asmc/asmc.c optional asmc isa
|
|
dev/atkbdc/atkbd.c optional atkbd atkbdc
|
|
dev/atkbdc/atkbd_atkbdc.c optional atkbd atkbdc
|
|
dev/atkbdc/atkbdc.c optional atkbdc
|
|
dev/atkbdc/atkbdc_isa.c optional atkbdc isa
|
|
dev/atkbdc/atkbdc_subr.c optional atkbdc
|
|
dev/atkbdc/psm.c optional psm atkbdc
|
|
dev/bxe/bxe.c optional bxe pci
|
|
dev/bxe/bxe_stats.c optional bxe pci
|
|
dev/bxe/bxe_debug.c optional bxe pci
|
|
dev/bxe/ecore_sp.c optional bxe pci
|
|
dev/bxe/bxe_elink.c optional bxe pci
|
|
dev/bxe/57710_init_values.c optional bxe pci
|
|
dev/bxe/57711_init_values.c optional bxe pci
|
|
dev/bxe/57712_init_values.c optional bxe pci
|
|
dev/coretemp/coretemp.c optional coretemp
|
|
dev/cpuctl/cpuctl.c optional cpuctl
|
|
dev/dpms/dpms.c optional dpms
|
|
# There are no systems with isa slots, so all ed isa entries should go..
|
|
dev/ed/if_ed_3c503.c optional ed isa ed_3c503
|
|
dev/ed/if_ed_isa.c optional ed isa
|
|
dev/ed/if_ed_wd80x3.c optional ed isa
|
|
dev/ed/if_ed_hpp.c optional ed isa ed_hpp
|
|
dev/ed/if_ed_sic.c optional ed isa ed_sic
|
|
dev/fb/fb.c optional fb | vga
|
|
dev/fb/s3_pci.c optional s3pci
|
|
dev/fb/vesa.c optional vga vesa
|
|
dev/fb/vga.c optional vga
|
|
dev/ichwd/ichwd.c optional ichwd
|
|
dev/if_ndis/if_ndis.c optional ndis
|
|
dev/if_ndis/if_ndis_pccard.c optional ndis pccard
|
|
dev/if_ndis/if_ndis_pci.c optional ndis cardbus | ndis pci
|
|
dev/if_ndis/if_ndis_usb.c optional ndis usb
|
|
dev/io/iodev.c optional io
|
|
dev/ipmi/ipmi.c optional ipmi
|
|
dev/ipmi/ipmi_acpi.c optional ipmi acpi
|
|
dev/ipmi/ipmi_isa.c optional ipmi isa
|
|
dev/ipmi/ipmi_kcs.c optional ipmi
|
|
dev/ipmi/ipmi_smic.c optional ipmi
|
|
dev/ipmi/ipmi_smbus.c optional ipmi smbus
|
|
dev/ipmi/ipmi_smbios.c optional ipmi
|
|
dev/ipmi/ipmi_ssif.c optional ipmi smbus
|
|
dev/ipmi/ipmi_pci.c optional ipmi pci
|
|
dev/ipmi/ipmi_linux.c optional ipmi compat_linux32
|
|
dev/fdc/fdc.c optional fdc
|
|
dev/fdc/fdc_acpi.c optional fdc
|
|
dev/fdc/fdc_isa.c optional fdc isa
|
|
dev/fdc/fdc_pccard.c optional fdc pccard
|
|
dev/fdt/fdt_x86.c optional fdt
|
|
dev/hpt27xx/hpt27xx_os_bsd.c optional hpt27xx
|
|
dev/hpt27xx/hpt27xx_osm_bsd.c optional hpt27xx
|
|
dev/hpt27xx/hpt27xx_config.c optional hpt27xx
|
|
dev/hptmv/entry.c optional hptmv
|
|
dev/hptmv/mv.c optional hptmv
|
|
dev/hptmv/gui_lib.c optional hptmv
|
|
dev/hptmv/hptproc.c optional hptmv
|
|
dev/hptmv/ioctl.c optional hptmv
|
|
dev/hptnr/hptnr_os_bsd.c optional hptnr
|
|
dev/hptnr/hptnr_osm_bsd.c optional hptnr
|
|
dev/hptnr/hptnr_config.c optional hptnr
|
|
dev/hptrr/hptrr_os_bsd.c optional hptrr
|
|
dev/hptrr/hptrr_osm_bsd.c optional hptrr
|
|
dev/hptrr/hptrr_config.c optional hptrr
|
|
dev/hwpmc/hwpmc_amd.c optional hwpmc
|
|
dev/hwpmc/hwpmc_intel.c optional hwpmc
|
|
dev/hwpmc/hwpmc_core.c optional hwpmc
|
|
dev/hwpmc/hwpmc_uncore.c optional hwpmc
|
|
dev/hwpmc/hwpmc_piv.c optional hwpmc
|
|
dev/hwpmc/hwpmc_tsc.c optional hwpmc
|
|
dev/hwpmc/hwpmc_x86.c optional hwpmc
|
|
dev/hyperv/netvsc/hv_net_vsc.c optional hyperv
|
|
dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c optional hyperv
|
|
dev/hyperv/netvsc/hv_rndis_filter.c optional hyperv
|
|
dev/hyperv/stordisengage/hv_ata_pci_disengage.c optional hyperv
|
|
dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c optional hyperv
|
|
dev/hyperv/utilities/hv_util.c optional hyperv
|
|
dev/hyperv/vmbus/hv_channel.c optional hyperv
|
|
dev/hyperv/vmbus/hv_channel_mgmt.c optional hyperv
|
|
dev/hyperv/vmbus/hv_connection.c optional hyperv
|
|
dev/hyperv/vmbus/hv_hv.c optional hyperv
|
|
dev/hyperv/vmbus/hv_ring_buffer.c optional hyperv
|
|
dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c optional hyperv
|
|
dev/kbd/kbd.c optional atkbd | sc | ukbd
|
|
dev/lindev/full.c optional lindev
|
|
dev/lindev/lindev.c optional lindev
|
|
dev/nfe/if_nfe.c optional nfe pci
|
|
dev/ntb/if_ntb/if_ntb.c optional if_ntb
|
|
dev/ntb/ntb_hw/ntb_hw.c optional if_ntb ntb_hw
|
|
dev/nvd/nvd.c optional nvd nvme
|
|
dev/nve/if_nve.c optional nve pci
|
|
dev/nvme/nvme.c optional nvme
|
|
dev/nvme/nvme_ctrlr.c optional nvme
|
|
dev/nvme/nvme_ctrlr_cmd.c optional nvme
|
|
dev/nvme/nvme_ns.c optional nvme
|
|
dev/nvme/nvme_ns_cmd.c optional nvme
|
|
dev/nvme/nvme_qpair.c optional nvme
|
|
dev/nvme/nvme_sysctl.c optional nvme
|
|
dev/nvme/nvme_test.c optional nvme
|
|
dev/nvme/nvme_util.c optional nvme
|
|
dev/nvram/nvram.c optional nvram isa
|
|
dev/random/ivy.c optional rdrand_rng
|
|
dev/random/nehemiah.c optional padlock_rng
|
|
dev/qlxge/qls_dbg.c optional qlxge pci
|
|
dev/qlxge/qls_dump.c optional qlxge pci
|
|
dev/qlxge/qls_hw.c optional qlxge pci
|
|
dev/qlxge/qls_ioctl.c optional qlxge pci
|
|
dev/qlxge/qls_isr.c optional qlxge pci
|
|
dev/qlxge/qls_os.c optional qlxge pci
|
|
dev/qlxgb/qla_dbg.c optional qlxgb pci
|
|
dev/qlxgb/qla_hw.c optional qlxgb pci
|
|
dev/qlxgb/qla_ioctl.c optional qlxgb pci
|
|
dev/qlxgb/qla_isr.c optional qlxgb pci
|
|
dev/qlxgb/qla_misc.c optional qlxgb pci
|
|
dev/qlxgb/qla_os.c optional qlxgb pci
|
|
dev/qlxgbe/ql_dbg.c optional qlxgbe pci
|
|
dev/qlxgbe/ql_hw.c optional qlxgbe pci
|
|
dev/qlxgbe/ql_ioctl.c optional qlxgbe pci
|
|
dev/qlxgbe/ql_isr.c optional qlxgbe pci
|
|
dev/qlxgbe/ql_misc.c optional qlxgbe pci
|
|
dev/qlxgbe/ql_os.c optional qlxgbe pci
|
|
dev/qlxgbe/ql_reset.c optional qlxgbe pci
|
|
dev/sfxge/common/efx_bootcfg.c optional sfxge inet pci
|
|
dev/sfxge/common/efx_ev.c optional sfxge inet pci
|
|
dev/sfxge/common/efx_filter.c optional sfxge inet pci
|
|
dev/sfxge/common/efx_intr.c optional sfxge inet pci
|
|
dev/sfxge/common/efx_mac.c optional sfxge inet pci
|
|
dev/sfxge/common/efx_mcdi.c optional sfxge inet pci
|
|
dev/sfxge/common/efx_mon.c optional sfxge inet pci
|
|
dev/sfxge/common/efx_nic.c optional sfxge inet pci
|
|
dev/sfxge/common/efx_nvram.c optional sfxge inet pci
|
|
dev/sfxge/common/efx_phy.c optional sfxge inet pci
|
|
dev/sfxge/common/efx_port.c optional sfxge inet pci
|
|
dev/sfxge/common/efx_rx.c optional sfxge inet pci
|
|
dev/sfxge/common/efx_sram.c optional sfxge inet pci
|
|
dev/sfxge/common/efx_tx.c optional sfxge inet pci
|
|
dev/sfxge/common/efx_vpd.c optional sfxge inet pci
|
|
dev/sfxge/common/efx_wol.c optional sfxge inet pci
|
|
dev/sfxge/common/siena_mac.c optional sfxge inet pci
|
|
dev/sfxge/common/siena_mon.c optional sfxge inet pci
|
|
dev/sfxge/common/siena_nic.c optional sfxge inet pci
|
|
dev/sfxge/common/siena_nvram.c optional sfxge inet pci
|
|
dev/sfxge/common/siena_phy.c optional sfxge inet pci
|
|
dev/sfxge/common/siena_sram.c optional sfxge inet pci
|
|
dev/sfxge/common/siena_vpd.c optional sfxge inet pci
|
|
dev/sfxge/sfxge.c optional sfxge inet pci
|
|
dev/sfxge/sfxge_dma.c optional sfxge inet pci
|
|
dev/sfxge/sfxge_ev.c optional sfxge inet pci
|
|
dev/sfxge/sfxge_intr.c optional sfxge inet pci
|
|
dev/sfxge/sfxge_mcdi.c optional sfxge inet pci
|
|
dev/sfxge/sfxge_port.c optional sfxge inet pci
|
|
dev/sfxge/sfxge_rx.c optional sfxge inet pci
|
|
dev/sfxge/sfxge_tx.c optional sfxge inet pci
|
|
dev/sio/sio.c optional sio
|
|
dev/sio/sio_isa.c optional sio isa
|
|
dev/sio/sio_pccard.c optional sio pccard
|
|
dev/sio/sio_pci.c optional sio pci
|
|
dev/sio/sio_puc.c optional sio puc
|
|
dev/speaker/spkr.c optional speaker
|
|
dev/syscons/apm/apm_saver.c optional apm_saver apm
|
|
dev/syscons/scterm-teken.c optional sc
|
|
dev/syscons/scvesactl.c optional sc vga vesa
|
|
dev/syscons/scvgarndr.c optional sc vga
|
|
dev/syscons/scvtb.c optional sc
|
|
dev/tpm/tpm.c optional tpm
|
|
dev/tpm/tpm_acpi.c optional tpm acpi
|
|
dev/tpm/tpm_isa.c optional tpm isa
|
|
dev/uart/uart_cpu_x86.c optional uart
|
|
dev/viawd/viawd.c optional viawd
|
|
dev/vmware/vmxnet3/if_vmx.c optional vmx
|
|
dev/wbwd/wbwd.c optional wbwd
|
|
dev/wpi/if_wpi.c optional wpi
|
|
dev/isci/isci.c optional isci
|
|
dev/isci/isci_controller.c optional isci
|
|
dev/isci/isci_domain.c optional isci
|
|
dev/isci/isci_interrupt.c optional isci
|
|
dev/isci/isci_io_request.c optional isci
|
|
dev/isci/isci_logger.c optional isci
|
|
dev/isci/isci_oem_parameters.c optional isci
|
|
dev/isci/isci_remote_device.c optional isci
|
|
dev/isci/isci_sysctl.c optional isci
|
|
dev/isci/isci_task_request.c optional isci
|
|
dev/isci/isci_timer.c optional isci
|
|
dev/isci/scil/sati.c optional isci
|
|
dev/isci/scil/sati_abort_task_set.c optional isci
|
|
dev/isci/scil/sati_atapi.c optional isci
|
|
dev/isci/scil/sati_device.c optional isci
|
|
dev/isci/scil/sati_inquiry.c optional isci
|
|
dev/isci/scil/sati_log_sense.c optional isci
|
|
dev/isci/scil/sati_lun_reset.c optional isci
|
|
dev/isci/scil/sati_mode_pages.c optional isci
|
|
dev/isci/scil/sati_mode_select.c optional isci
|
|
dev/isci/scil/sati_mode_sense.c optional isci
|
|
dev/isci/scil/sati_mode_sense_10.c optional isci
|
|
dev/isci/scil/sati_mode_sense_6.c optional isci
|
|
dev/isci/scil/sati_move.c optional isci
|
|
dev/isci/scil/sati_passthrough.c optional isci
|
|
dev/isci/scil/sati_read.c optional isci
|
|
dev/isci/scil/sati_read_buffer.c optional isci
|
|
dev/isci/scil/sati_read_capacity.c optional isci
|
|
dev/isci/scil/sati_reassign_blocks.c optional isci
|
|
dev/isci/scil/sati_report_luns.c optional isci
|
|
dev/isci/scil/sati_request_sense.c optional isci
|
|
dev/isci/scil/sati_start_stop_unit.c optional isci
|
|
dev/isci/scil/sati_synchronize_cache.c optional isci
|
|
dev/isci/scil/sati_test_unit_ready.c optional isci
|
|
dev/isci/scil/sati_unmap.c optional isci
|
|
dev/isci/scil/sati_util.c optional isci
|
|
dev/isci/scil/sati_verify.c optional isci
|
|
dev/isci/scil/sati_write.c optional isci
|
|
dev/isci/scil/sati_write_and_verify.c optional isci
|
|
dev/isci/scil/sati_write_buffer.c optional isci
|
|
dev/isci/scil/sati_write_long.c optional isci
|
|
dev/isci/scil/sci_abstract_list.c optional isci
|
|
dev/isci/scil/sci_base_controller.c optional isci
|
|
dev/isci/scil/sci_base_domain.c optional isci
|
|
dev/isci/scil/sci_base_iterator.c optional isci
|
|
dev/isci/scil/sci_base_library.c optional isci
|
|
dev/isci/scil/sci_base_logger.c optional isci
|
|
dev/isci/scil/sci_base_memory_descriptor_list.c optional isci
|
|
dev/isci/scil/sci_base_memory_descriptor_list_decorator.c optional isci
|
|
dev/isci/scil/sci_base_object.c optional isci
|
|
dev/isci/scil/sci_base_observer.c optional isci
|
|
dev/isci/scil/sci_base_phy.c optional isci
|
|
dev/isci/scil/sci_base_port.c optional isci
|
|
dev/isci/scil/sci_base_remote_device.c optional isci
|
|
dev/isci/scil/sci_base_request.c optional isci
|
|
dev/isci/scil/sci_base_state_machine.c optional isci
|
|
dev/isci/scil/sci_base_state_machine_logger.c optional isci
|
|
dev/isci/scil/sci_base_state_machine_observer.c optional isci
|
|
dev/isci/scil/sci_base_subject.c optional isci
|
|
dev/isci/scil/sci_util.c optional isci
|
|
dev/isci/scil/scic_sds_controller.c optional isci
|
|
dev/isci/scil/scic_sds_library.c optional isci
|
|
dev/isci/scil/scic_sds_pci.c optional isci
|
|
dev/isci/scil/scic_sds_phy.c optional isci
|
|
dev/isci/scil/scic_sds_port.c optional isci
|
|
dev/isci/scil/scic_sds_port_configuration_agent.c optional isci
|
|
dev/isci/scil/scic_sds_remote_device.c optional isci
|
|
dev/isci/scil/scic_sds_remote_node_context.c optional isci
|
|
dev/isci/scil/scic_sds_remote_node_table.c optional isci
|
|
dev/isci/scil/scic_sds_request.c optional isci
|
|
dev/isci/scil/scic_sds_sgpio.c optional isci
|
|
dev/isci/scil/scic_sds_smp_remote_device.c optional isci
|
|
dev/isci/scil/scic_sds_smp_request.c optional isci
|
|
dev/isci/scil/scic_sds_ssp_request.c optional isci
|
|
dev/isci/scil/scic_sds_stp_packet_request.c optional isci
|
|
dev/isci/scil/scic_sds_stp_remote_device.c optional isci
|
|
dev/isci/scil/scic_sds_stp_request.c optional isci
|
|
dev/isci/scil/scic_sds_unsolicited_frame_control.c optional isci
|
|
dev/isci/scil/scif_sas_controller.c optional isci
|
|
dev/isci/scil/scif_sas_controller_state_handlers.c optional isci
|
|
dev/isci/scil/scif_sas_controller_states.c optional isci
|
|
dev/isci/scil/scif_sas_domain.c optional isci
|
|
dev/isci/scil/scif_sas_domain_state_handlers.c optional isci
|
|
dev/isci/scil/scif_sas_domain_states.c optional isci
|
|
dev/isci/scil/scif_sas_high_priority_request_queue.c optional isci
|
|
dev/isci/scil/scif_sas_internal_io_request.c optional isci
|
|
dev/isci/scil/scif_sas_io_request.c optional isci
|
|
dev/isci/scil/scif_sas_io_request_state_handlers.c optional isci
|
|
dev/isci/scil/scif_sas_io_request_states.c optional isci
|
|
dev/isci/scil/scif_sas_library.c optional isci
|
|
dev/isci/scil/scif_sas_remote_device.c optional isci
|
|
dev/isci/scil/scif_sas_remote_device_ready_substate_handlers.c optional isci
|
|
dev/isci/scil/scif_sas_remote_device_ready_substates.c optional isci
|
|
dev/isci/scil/scif_sas_remote_device_starting_substate_handlers.c optional isci
|
|
dev/isci/scil/scif_sas_remote_device_starting_substates.c optional isci
|
|
dev/isci/scil/scif_sas_remote_device_state_handlers.c optional isci
|
|
dev/isci/scil/scif_sas_remote_device_states.c optional isci
|
|
dev/isci/scil/scif_sas_request.c optional isci
|
|
dev/isci/scil/scif_sas_smp_activity_clear_affiliation.c optional isci
|
|
dev/isci/scil/scif_sas_smp_io_request.c optional isci
|
|
dev/isci/scil/scif_sas_smp_phy.c optional isci
|
|
dev/isci/scil/scif_sas_smp_remote_device.c optional isci
|
|
dev/isci/scil/scif_sas_stp_io_request.c optional isci
|
|
dev/isci/scil/scif_sas_stp_remote_device.c optional isci
|
|
dev/isci/scil/scif_sas_stp_task_request.c optional isci
|
|
dev/isci/scil/scif_sas_task_request.c optional isci
|
|
dev/isci/scil/scif_sas_task_request_state_handlers.c optional isci
|
|
dev/isci/scil/scif_sas_task_request_states.c optional isci
|
|
dev/isci/scil/scif_sas_timer.c optional isci
|
|
dev/virtio/virtio.c optional virtio
|
|
dev/virtio/virtqueue.c optional virtio
|
|
dev/virtio/virtio_bus_if.m optional virtio
|
|
dev/virtio/virtio_if.m optional virtio
|
|
dev/virtio/pci/virtio_pci.c optional virtio_pci
|
|
dev/virtio/network/if_vtnet.c optional vtnet
|
|
dev/virtio/block/virtio_blk.c optional virtio_blk
|
|
dev/virtio/balloon/virtio_balloon.c optional virtio_balloon
|
|
dev/virtio/scsi/virtio_scsi.c optional virtio_scsi
|
|
isa/syscons_isa.c optional sc
|
|
isa/vga_isa.c optional vga
|
|
kern/kern_clocksource.c standard
|
|
kern/link_elf_obj.c standard
|
|
#
|
|
# IA32 binary support
|
|
#
|
|
#amd64/ia32/ia32_exception.S optional compat_freebsd32
|
|
amd64/ia32/ia32_reg.c optional compat_freebsd32
|
|
amd64/ia32/ia32_signal.c optional compat_freebsd32
|
|
amd64/ia32/ia32_sigtramp.S optional compat_freebsd32
|
|
amd64/ia32/ia32_syscall.c optional compat_freebsd32
|
|
amd64/ia32/ia32_misc.c optional compat_freebsd32
|
|
compat/ia32/ia32_sysvec.c optional compat_freebsd32
|
|
compat/linprocfs/linprocfs.c optional linprocfs
|
|
compat/linsysfs/linsysfs.c optional linsysfs
|
|
#
|
|
# Linux/i386 binary support
|
|
#
|
|
amd64/linux32/linux32_dummy.c optional compat_linux32
|
|
amd64/linux32/linux32_locore.s optional compat_linux32 \
|
|
dependency "linux32_assym.h"
|
|
amd64/linux32/linux32_machdep.c optional compat_linux32
|
|
amd64/linux32/linux32_support.s optional compat_linux32 \
|
|
dependency "linux32_assym.h"
|
|
amd64/linux32/linux32_sysent.c optional compat_linux32
|
|
amd64/linux32/linux32_sysvec.c optional compat_linux32
|
|
compat/linux/linux_emul.c optional compat_linux32
|
|
compat/linux/linux_file.c optional compat_linux32
|
|
compat/linux/linux_fork.c optional compat_linux32
|
|
compat/linux/linux_futex.c optional compat_linux32
|
|
compat/linux/linux_getcwd.c optional compat_linux32
|
|
compat/linux/linux_ioctl.c optional compat_linux32
|
|
compat/linux/linux_ipc.c optional compat_linux32
|
|
compat/linux/linux_mib.c optional compat_linux32
|
|
compat/linux/linux_misc.c optional compat_linux32
|
|
compat/linux/linux_signal.c optional compat_linux32
|
|
compat/linux/linux_socket.c optional compat_linux32
|
|
compat/linux/linux_stats.c optional compat_linux32
|
|
compat/linux/linux_sysctl.c optional compat_linux32
|
|
compat/linux/linux_time.c optional compat_linux32
|
|
compat/linux/linux_uid16.c optional compat_linux32
|
|
compat/linux/linux_util.c optional compat_linux32
|
|
dev/amr/amr_linux.c optional compat_linux32 amr
|
|
dev/mfi/mfi_linux.c optional compat_linux32 mfi
|
|
#
|
|
# Windows NDIS driver support
|
|
#
|
|
compat/ndis/kern_ndis.c optional ndisapi pci
|
|
compat/ndis/kern_windrv.c optional ndisapi pci
|
|
compat/ndis/subr_hal.c optional ndisapi pci
|
|
compat/ndis/subr_ndis.c optional ndisapi pci
|
|
compat/ndis/subr_ntoskrnl.c optional ndisapi pci
|
|
compat/ndis/subr_pe.c optional ndisapi pci
|
|
compat/ndis/subr_usbd.c optional ndisapi pci
|
|
compat/ndis/winx64_wrap.S optional ndisapi pci
|
|
#
|
|
libkern/memmove.c standard
|
|
libkern/memset.c standard
|
|
#
|
|
# x86 real mode BIOS emulator, required by atkbdc/dpms/vesa
|
|
#
|
|
compat/x86bios/x86bios.c optional x86bios | atkbd | dpms | vesa
|
|
contrib/x86emu/x86emu.c optional x86bios | atkbd | dpms | vesa
|
|
#
|
|
# bvm console
|
|
#
|
|
dev/bvm/bvm_console.c optional bvmconsole
|
|
dev/bvm/bvm_dbg.c optional bvmdebug
|
|
#
|
|
# x86 shared code between IA32, AMD64 and PC98 architectures
|
|
#
|
|
x86/acpica/OsdEnvironment.c optional acpi
|
|
x86/acpica/acpi_apm.c optional acpi
|
|
x86/acpica/acpi_wakeup.c optional acpi
|
|
x86/acpica/madt.c optional acpi
|
|
x86/acpica/srat.c optional acpi
|
|
x86/bios/smbios.c optional smbios
|
|
x86/bios/vpd.c optional vpd
|
|
x86/cpufreq/powernow.c optional cpufreq
|
|
x86/cpufreq/est.c optional cpufreq
|
|
x86/cpufreq/hwpstate.c optional cpufreq
|
|
x86/cpufreq/p4tcc.c optional cpufreq
|
|
x86/isa/atpic.c optional atpic isa
|
|
x86/isa/atrtc.c standard
|
|
x86/isa/clock.c standard
|
|
x86/isa/elcr.c optional atpic isa | mptable
|
|
x86/isa/isa.c standard
|
|
x86/isa/isa_dma.c standard
|
|
x86/isa/nmi.c standard
|
|
x86/isa/orm.c optional isa
|
|
x86/pci/pci_bus.c optional pci
|
|
x86/pci/qpi.c optional pci
|
|
x86/x86/busdma_machdep.c standard
|
|
x86/x86/dump_machdep.c standard
|
|
x86/x86/fdt_machdep.c optional fdt
|
|
x86/x86/intr_machdep.c standard
|
|
x86/x86/io_apic.c standard
|
|
x86/x86/legacy.c standard
|
|
x86/x86/local_apic.c standard
|
|
x86/x86/mca.c standard
|
|
x86/x86/mptable.c optional mptable
|
|
x86/x86/mptable_pci.c optional mptable pci
|
|
x86/x86/msi.c optional pci
|
|
x86/x86/nexus.c standard
|
|
x86/x86/tsc.c standard
|
|
x86/xen/hvm.c optional xenhvm
|
|
x86/xen/xen_intr.c optional xen | xenhvm
|