Runtime services require special execution environment for the call. Besides that, OS must inform firmware about runtime virtual memory map which will be active during the calls, with the SetVirtualAddressMap() runtime call, done while the 1:1 mapping is still used. There are two complication: the SetVirtualAddressMap() effectively must be done from loader, which needs to know kernel address map in advance. More, despite not explicitely mentioned in the specification, both 1:1 and the map passed to SetVirtualAddressMap() must be active during the SetVirtualAddressMap() call. Second, there are buggy BIOSes which require both mappings active during runtime calls as well, most likely because they fail to identify all relocations to perform. On amd64, we can get rid of both problems by providing 1:1 mapping for the duration of runtime calls, by temprorary remapping user addresses. As result, we avoid the need for loader to know about future kernel address map, and avoid bugs in BIOSes. Typically BIOS only maps something in low 4G. If not runtime bugs, we would take advantage of the DMAP, as previous versions of this patch did. Similar but more complicated trick can be used even for i386 and 32bit runtime, if and when the EFI boot on i386 is supported. We would need a trampoline page, since potentially whole 4G of VA would be switched on calls, instead of only userspace portion on amd64. Context switches are disabled for the duration of the call, FPU access is granted, and interrupts are not disabled. The later is possible because kernel is mapped during calls. To test, the sysctl mib debug.efi_time is provided, setting it to 1 makes one call to EFI get_time() runtime service, on success the efitm structure is printed to the control terminal. Load efirt.ko, or add EFIRT option to the kernel config, to enable code. Discussed with: emaste, imp Tested by: emaste (mac, qemu) Sponsored by: The FreeBSD Foundation MFC after: 2 weeks
672 lines
30 KiB
Plaintext
672 lines
30 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.
|
|
#
|
|
#
|
|
cloudabi32_vdso.o optional compat_cloudabi32 \
|
|
dependency "$S/contrib/cloudabi/cloudabi_vdso_i686_on_64bit.S" \
|
|
compile-with "${CC} -x assembler-with-cpp -m32 -shared -nostdinc -nostdlib -Wl,-T$S/compat/cloudabi/cloudabi_vdso.lds $S/contrib/cloudabi/cloudabi_vdso_i686_on_64bit.S -o ${.TARGET}" \
|
|
no-obj no-implicit-rule \
|
|
clean "cloudabi32_vdso.o"
|
|
#
|
|
cloudabi32_vdso_blob.o optional compat_cloudabi32 \
|
|
dependency "cloudabi32_vdso.o" \
|
|
compile-with "${OBJCOPY} --input-target binary --output-target elf64-x86-64-freebsd --binary-architecture i386 cloudabi32_vdso.o ${.TARGET}" \
|
|
no-implicit-rule \
|
|
clean "cloudabi32_vdso_blob.o"
|
|
#
|
|
cloudabi64_vdso.o optional compat_cloudabi64 \
|
|
dependency "$S/contrib/cloudabi/cloudabi_vdso_x86_64.S" \
|
|
compile-with "${CC} -x assembler-with-cpp -shared -nostdinc -nostdlib -Wl,-T$S/compat/cloudabi/cloudabi_vdso.lds $S/contrib/cloudabi/cloudabi_vdso_x86_64.S -o ${.TARGET}" \
|
|
no-obj no-implicit-rule \
|
|
clean "cloudabi64_vdso.o"
|
|
#
|
|
cloudabi64_vdso_blob.o optional compat_cloudabi64 \
|
|
dependency "cloudabi64_vdso.o" \
|
|
compile-with "${OBJCOPY} --input-target binary --output-target elf64-x86-64-freebsd --binary-architecture i386 cloudabi64_vdso.o ${.TARGET}" \
|
|
no-implicit-rule \
|
|
clean "cloudabi64_vdso_blob.o"
|
|
#
|
|
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"
|
|
#
|
|
linux32_locore.o optional compat_linux32 \
|
|
dependency "linux32_assym.h $S/amd64/linux32/linux32_locore.s" \
|
|
compile-with "${CC} -x assembler-with-cpp -DLOCORE -m32 -shared -s -pipe -I. -I$S -Werror -Wall -fno-common -nostdinc -nostdlib -Wl,-T$S/amd64/linux32/linux32_vdso.lds.s -Wl,-soname=linux32_vdso.so,--eh-frame-hdr,-fPIC,-warn-common ${.IMPSRC} -o ${.TARGET}" \
|
|
no-obj no-implicit-rule \
|
|
clean "linux32_locore.o"
|
|
#
|
|
linux32_vdso.so optional compat_linux32 \
|
|
dependency "linux32_locore.o" \
|
|
compile-with "${OBJCOPY} --input-target binary --output-target elf64-x86-64-freebsd --binary-architecture i386 linux32_locore.o ${.TARGET}" \
|
|
no-implicit-rule \
|
|
clean "linux32_vdso.so"
|
|
#
|
|
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}' NMFLAGS='${NMFLAGS}' 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 "kbdcontrol -P ${S:S/sys$/share/}/vt/keymaps -P ${S:S/sys$/share/}/syscons/keymaps -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 "kbdcontrol -P ${S:S/sys$/share/}/vt/keymaps -P ${S:S/sys$/share/}/syscons/keymaps -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"
|
|
#
|
|
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/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/efirt.c optional efirt
|
|
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/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/xen-locore.S optional xenhvm
|
|
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/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/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/cloudabi32/cloudabi32_sysvec.c optional compat_cloudabi32
|
|
amd64/cloudabi64/cloudabi64_sysvec.c optional compat_cloudabi64
|
|
amd64/pci/pci_cfgreg.c optional pci
|
|
cddl/contrib/opensolaris/common/atomic/amd64/opensolaris_atomic.S optional zfs | dtrace compile-with "${ZFS_S}"
|
|
cddl/dev/dtrace/amd64/dtrace_asm.S optional dtrace compile-with "${DTRACE_S}"
|
|
cddl/dev/dtrace/amd64/dtrace_subr.c optional dtrace compile-with "${DTRACE_C}"
|
|
cddl/dev/fbt/x86/fbt_isa.c optional dtrace_fbt | dtraceall compile-with "${FBT_C}"
|
|
cddl/dev/dtrace/x86/dis_tables.c optional dtrace_fbt | dtraceall compile-with "${DTRACE_C}"
|
|
cddl/dev/dtrace/x86/instr_size.c optional dtrace_fbt | dtraceall compile-with "${DTRACE_C}"
|
|
crypto/aesni/aeskeys_amd64.S optional aesni
|
|
crypto/aesni/aesni.c optional aesni
|
|
aesni_ghash.o optional aesni \
|
|
dependency "$S/crypto/aesni/aesni_ghash.c" \
|
|
compile-with "${CC} -c ${CFLAGS:C/^-O2$/-O3/:N-nostdinc} ${WERROR} ${NO_WCAST_QUAL} ${PROF} -mmmx -msse -msse4 -maes -mpclmul ${.IMPSRC}" \
|
|
no-implicit-rule \
|
|
clean "aesni_ghash.o"
|
|
aesni_wrap.o optional aesni \
|
|
dependency "$S/crypto/aesni/aesni_wrap.c" \
|
|
compile-with "${CC} -c ${CFLAGS:C/^-O2$/-O3/:N-nostdinc} ${WERROR} ${NO_WCAST_QUAL} ${PROF} -mmmx -msse -msse4 -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/acpica/acpi_hpet.c optional acpi
|
|
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_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/ioat/ioat.c optional ioat pci
|
|
dev/ioat/ioat_test.c optional ioat pci
|
|
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/ixl/if_ixl.c optional ixl pci \
|
|
compile-with "${NORMAL_C} -I$S/dev/ixl"
|
|
dev/ixl/ixl_pf_main.c optional ixl pci \
|
|
compile-with "${NORMAL_C} -I$S/dev/ixl"
|
|
dev/ixl/ixl_pf_qmgr.c optional ixl pci \
|
|
compile-with "${NORMAL_C} -I$S/dev/ixl"
|
|
dev/ixl/ixl_pf_iov.c optional ixl pci \
|
|
compile-with "${NORMAL_C} -I$S/dev/ixl"
|
|
dev/ixl/if_ixlv.c optional ixlv pci \
|
|
compile-with "${NORMAL_C} -I$S/dev/ixl"
|
|
dev/ixl/ixlvc.c optional ixlv pci \
|
|
compile-with "${NORMAL_C} -I$S/dev/ixl"
|
|
dev/ixl/ixl_txrx.c optional ixl pci | ixlv pci \
|
|
compile-with "${NORMAL_C} -I$S/dev/ixl"
|
|
dev/ixl/i40e_osdep.c optional ixl pci | ixlv pci \
|
|
compile-with "${NORMAL_C} -I$S/dev/ixl"
|
|
dev/ixl/i40e_lan_hmc.c optional ixl pci | ixlv pci \
|
|
compile-with "${NORMAL_C} -I$S/dev/ixl"
|
|
dev/ixl/i40e_hmc.c optional ixl pci | ixlv pci \
|
|
compile-with "${NORMAL_C} -I$S/dev/ixl"
|
|
dev/ixl/i40e_common.c optional ixl pci | ixlv pci \
|
|
compile-with "${NORMAL_C} -I$S/dev/ixl"
|
|
dev/ixl/i40e_nvm.c optional ixl pci | ixlv pci \
|
|
compile-with "${NORMAL_C} -I$S/dev/ixl"
|
|
dev/ixl/i40e_adminq.c optional ixl pci | ixlv pci \
|
|
compile-with "${NORMAL_C} -I$S/dev/ixl"
|
|
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/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_heartbeat.c optional hyperv
|
|
dev/hyperv/utilities/hv_kvp.c optional hyperv
|
|
dev/hyperv/utilities/hv_shutdown.c optional hyperv
|
|
dev/hyperv/utilities/hv_timesync.c optional hyperv
|
|
dev/hyperv/utilities/hv_util.c optional hyperv
|
|
dev/hyperv/vmbus/hyperv.c optional hyperv
|
|
dev/hyperv/vmbus/hyperv_busdma.c optional hyperv
|
|
dev/hyperv/vmbus/vmbus.c optional hyperv
|
|
dev/hyperv/vmbus/vmbus_br.c optional hyperv
|
|
dev/hyperv/vmbus/vmbus_chan.c optional hyperv
|
|
dev/hyperv/vmbus/vmbus_et.c optional hyperv
|
|
dev/hyperv/vmbus/vmbus_if.m optional hyperv
|
|
dev/hyperv/vmbus/vmbus_xact.c optional hyperv
|
|
dev/hyperv/vmbus/amd64/hyperv_machdep.c optional hyperv
|
|
dev/hyperv/vmbus/amd64/vmbus_vector.S optional hyperv
|
|
dev/nfe/if_nfe.c optional nfe pci
|
|
dev/ntb/if_ntb/if_ntb.c optional if_ntb
|
|
dev/ntb/ntb_transport.c optional if_ntb
|
|
dev/ntb/ntb.c optional if_ntb | ntb_hw
|
|
dev/ntb/ntb_if.m optional if_ntb | ntb_hw
|
|
dev/ntb/ntb_hw/ntb_hw.c optional ntb_hw
|
|
dev/nvd/nvd.c optional nvd nvme
|
|
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_sim.c optional nvme scbus !nvd
|
|
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/ef10_ev.c optional sfxge pci
|
|
dev/sfxge/common/ef10_filter.c optional sfxge pci
|
|
dev/sfxge/common/ef10_intr.c optional sfxge pci
|
|
dev/sfxge/common/ef10_mac.c optional sfxge pci
|
|
dev/sfxge/common/ef10_mcdi.c optional sfxge pci
|
|
dev/sfxge/common/ef10_nic.c optional sfxge pci
|
|
dev/sfxge/common/ef10_nvram.c optional sfxge pci
|
|
dev/sfxge/common/ef10_phy.c optional sfxge pci
|
|
dev/sfxge/common/ef10_rx.c optional sfxge pci
|
|
dev/sfxge/common/ef10_tx.c optional sfxge pci
|
|
dev/sfxge/common/ef10_vpd.c optional sfxge pci
|
|
dev/sfxge/common/efx_bootcfg.c optional sfxge pci
|
|
dev/sfxge/common/efx_crc32.c optional sfxge pci
|
|
dev/sfxge/common/efx_ev.c optional sfxge pci
|
|
dev/sfxge/common/efx_filter.c optional sfxge pci
|
|
dev/sfxge/common/efx_hash.c optional sfxge pci
|
|
dev/sfxge/common/efx_intr.c optional sfxge pci
|
|
dev/sfxge/common/efx_lic.c optional sfxge pci
|
|
dev/sfxge/common/efx_mac.c optional sfxge pci
|
|
dev/sfxge/common/efx_mcdi.c optional sfxge pci
|
|
dev/sfxge/common/efx_mon.c optional sfxge pci
|
|
dev/sfxge/common/efx_nic.c optional sfxge pci
|
|
dev/sfxge/common/efx_nvram.c optional sfxge pci
|
|
dev/sfxge/common/efx_phy.c optional sfxge pci
|
|
dev/sfxge/common/efx_port.c optional sfxge pci
|
|
dev/sfxge/common/efx_rx.c optional sfxge pci
|
|
dev/sfxge/common/efx_sram.c optional sfxge pci
|
|
dev/sfxge/common/efx_tx.c optional sfxge pci
|
|
dev/sfxge/common/efx_vpd.c optional sfxge pci
|
|
dev/sfxge/common/efx_wol.c optional sfxge pci
|
|
dev/sfxge/common/hunt_nic.c optional sfxge pci
|
|
dev/sfxge/common/hunt_phy.c optional sfxge pci
|
|
dev/sfxge/common/mcdi_mon.c optional sfxge pci
|
|
dev/sfxge/common/medford_nic.c optional sfxge pci
|
|
dev/sfxge/common/siena_mac.c optional sfxge pci
|
|
dev/sfxge/common/siena_mcdi.c optional sfxge pci
|
|
dev/sfxge/common/siena_nic.c optional sfxge pci
|
|
dev/sfxge/common/siena_nvram.c optional sfxge pci
|
|
dev/sfxge/common/siena_phy.c optional sfxge pci
|
|
dev/sfxge/common/siena_sram.c optional sfxge pci
|
|
dev/sfxge/common/siena_vpd.c optional sfxge pci
|
|
dev/sfxge/sfxge.c optional sfxge pci
|
|
dev/sfxge/sfxge_dma.c optional sfxge pci
|
|
dev/sfxge/sfxge_ev.c optional sfxge pci
|
|
dev/sfxge/sfxge_intr.c optional sfxge pci
|
|
dev/sfxge/sfxge_mcdi.c optional sfxge pci
|
|
dev/sfxge/sfxge_nvram.c optional sfxge pci
|
|
dev/sfxge/sfxge_port.c optional sfxge pci
|
|
dev/sfxge/sfxge_rx.c optional sfxge pci
|
|
dev/sfxge/sfxge_tx.c optional sfxge 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/xen/pci/xen_acpi_pci.c optional xenhvm
|
|
dev/xen/pci/xen_pci.c optional xenhvm
|
|
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
|
|
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_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_mmap.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_timer.c optional compat_linux32
|
|
compat/linux/linux_uid16.c optional compat_linux32
|
|
compat/linux/linux_util.c optional compat_linux32
|
|
compat/linux/linux_vdso.c optional compat_linux32
|
|
compat/linux/linux_common.c optional compat_linux32
|
|
compat/linux/linux_event.c optional compat_linux32
|
|
compat/linux/linux.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 dpms/pci/vesa
|
|
#
|
|
compat/x86bios/x86bios.c optional x86bios | dpms | pci | vesa
|
|
contrib/x86emu/x86emu.c optional x86bios | dpms | pci | 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/iommu/busdma_dmar.c optional acpi acpi_dmar pci
|
|
x86/iommu/intel_ctx.c optional acpi acpi_dmar pci
|
|
x86/iommu/intel_drv.c optional acpi acpi_dmar pci
|
|
x86/iommu/intel_fault.c optional acpi acpi_dmar pci
|
|
x86/iommu/intel_gas.c optional acpi acpi_dmar pci
|
|
x86/iommu/intel_idpgtbl.c optional acpi acpi_dmar pci
|
|
x86/iommu/intel_intrmap.c optional acpi acpi_dmar pci
|
|
x86/iommu/intel_qi.c optional acpi acpi_dmar pci
|
|
x86/iommu/intel_quirks.c optional acpi acpi_dmar pci
|
|
x86/iommu/intel_utils.c optional acpi acpi_dmar pci
|
|
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/autoconf.c standard
|
|
x86/x86/bus_machdep.c standard
|
|
x86/x86/busdma_bounce.c standard
|
|
x86/x86/busdma_machdep.c standard
|
|
x86/x86/cpu_machdep.c standard
|
|
x86/x86/dump_machdep.c standard
|
|
x86/x86/fdt_machdep.c optional fdt
|
|
x86/x86/identcpu.c standard
|
|
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/mp_x86.c optional smp
|
|
x86/x86/mp_watchdog.c optional mp_watchdog smp
|
|
x86/x86/msi.c optional pci
|
|
x86/x86/nexus.c standard
|
|
x86/x86/pvclock.c standard
|
|
x86/x86/stack_machdep.c optional ddb | stack
|
|
x86/x86/tsc.c standard
|
|
x86/x86/delay.c standard
|
|
x86/xen/hvm.c optional xenhvm
|
|
x86/xen/xen_intr.c optional xenhvm
|
|
x86/xen/pv.c optional xenhvm
|
|
x86/xen/pvcpu_enum.c optional xenhvm
|
|
x86/xen/xen_apic.c optional xenhvm
|
|
x86/xen/xenpv.c optional xenhvm
|
|
x86/xen/xen_nexus.c optional xenhvm
|
|
x86/xen/xen_msi.c optional xenhvm
|
|
x86/xen/xen_pci_bus.c optional xenhvm
|