197ff4c35b
AES-CBC OpenSSL assembly is used underneath. The glue layer(ossl_aes.c) is based on CHACHA20 implementation. Contrary to the SHA and CHACHA20, AES OpenSSL assembly logic does not have a fallback implementation in case CPU doesn't support required instructions. Because of that CPU caps are checked during initialization and AES support is advertised only if available. The feature is available on all architectures that ossl supports: i386, amd64, arm64. The biggest advantage of this patch over existing solutions (aesni(4) and armv8crypto(4)) is that it supports SHA, allowing for ETA operations. Sponsored by: Stormshield Obtained from: Semihalf Reviewed by: jhb (previous version) Differential revision: https://reviews.freebsd.org/D32099
174 lines
6.6 KiB
Plaintext
174 lines
6.6 KiB
Plaintext
# This file tells config what files go into building a kernel,
|
|
# files marked standard are always included.
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
# common files stuff between i386 and amd64
|
|
include "conf/files.x86"
|
|
|
|
# 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.
|
|
#
|
|
cddl/dev/dtrace/i386/dtrace_asm.S optional dtrace compile-with "${DTRACE_S}"
|
|
cddl/dev/dtrace/i386/dtrace_subr.c optional dtrace compile-with "${DTRACE_C}"
|
|
crypto/aesni/aeskeys_i386.S optional aesni
|
|
crypto/des/arch/i386/des_enc.S optional netsmb
|
|
crypto/openssl/i386/aesni-x86.S optional ossl
|
|
crypto/openssl/i386/chacha-x86.S optional ossl
|
|
crypto/openssl/i386/poly1305-x86.S optional ossl
|
|
crypto/openssl/i386/sha1-586.S optional ossl
|
|
crypto/openssl/i386/sha256-586.S optional ossl
|
|
crypto/openssl/i386/sha512-586.S optional ossl
|
|
dev/agp/agp_ali.c optional agp
|
|
dev/agp/agp_amd.c optional agp
|
|
dev/agp/agp_amd64.c optional agp
|
|
dev/agp/agp_ati.c optional agp
|
|
dev/agp/agp_i810.c optional agp
|
|
dev/agp/agp_intel.c optional agp
|
|
dev/agp/agp_nvidia.c optional agp
|
|
dev/agp/agp_sis.c optional agp
|
|
dev/agp/agp_via.c optional agp
|
|
dev/ce/ceddk.c optional ce
|
|
dev/ce/if_ce.c optional ce
|
|
dev/ce/tau32-ddk.c optional ce \
|
|
compile-with "${NORMAL_C} ${NO_WCONSTANT_CONVERSION} ${NO_WMISLEADING_INDENTATION}"
|
|
dev/glxiic/glxiic.c optional glxiic
|
|
dev/glxsb/glxsb.c optional glxsb
|
|
dev/glxsb/glxsb_hash.c optional glxsb
|
|
dev/hyperv/vmbus/i386/hyperv_machdep.c optional hyperv
|
|
dev/le/if_le_isa.c optional le isa
|
|
dev/nctgpio/nctgpio.c optional nctgpio
|
|
dev/nfe/if_nfe.c optional nfe pci
|
|
dev/ntb/if_ntb/if_ntb.c optional if_ntb
|
|
dev/ntb/ntb_transport.c optional ntb_transport | if_ntb
|
|
dev/ntb/ntb.c optional ntb | ntb_transport | if_ntb | ntb_hw_amd | ntb_hw_intel | ntb_hw_plx | ntb_hw
|
|
dev/ntb/ntb_if.m optional ntb | ntb_transport | if_ntb | ntb_hw_amd | ntb_hw_intel | ntb_hw_plx | ntb_hw
|
|
dev/ntb/ntb_hw/ntb_hw_amd.c optional ntb_hw_amd | ntb_hw
|
|
dev/ntb/ntb_hw/ntb_hw_intel.c optional ntb_hw_intel | ntb_hw
|
|
dev/ntb/ntb_hw/ntb_hw_plx.c optional ntb_hw_plx | ntb_hw
|
|
dev/ntb/test/ntb_tool.c optional ntb_tool
|
|
dev/nvram/nvram.c optional nvram isa
|
|
dev/ofw/ofw_pcib.c optional fdt pci
|
|
dev/pcf/pcf_isa.c optional pcf
|
|
dev/random/ivy.c optional rdrand_rng !random_loadable
|
|
dev/random/nehemiah.c optional padlock_rng !random_loadable
|
|
dev/sbni/if_sbni.c optional sbni
|
|
dev/sbni/if_sbni_isa.c optional sbni isa
|
|
dev/sbni/if_sbni_pci.c optional sbni pci
|
|
dev/speaker/spkr.c optional speaker
|
|
dev/superio/superio.c optional superio isa
|
|
dev/syscons/scvesactl.c optional sc vga vesa
|
|
dev/syscons/scvgarndr.c optional sc vga
|
|
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/vmd/vmd.c optional vmd
|
|
dev/acpi_support/acpi_wmi_if.m standard
|
|
dev/wbwd/wbwd.c optional wbwd
|
|
i386/acpica/acpi_machdep.c optional acpi
|
|
i386/acpica/acpi_wakeup.c optional acpi
|
|
acpi_wakecode.o optional acpi \
|
|
dependency "$S/i386/acpica/acpi_wakecode.S assym.inc" \
|
|
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"
|
|
#
|
|
i386/bios/smapi.c optional smapi
|
|
i386/bios/smapi_bios.S optional smapi
|
|
#i386/i386/apic_vector.s optional apic
|
|
i386/i386/bios.c standard
|
|
i386/i386/bioscall.s standard
|
|
i386/i386/bpf_jit_machdep.c optional bpf_jitter
|
|
i386/i386/copyout.c standard
|
|
i386/i386/db_disasm.c optional ddb
|
|
i386/i386/db_interface.c optional ddb
|
|
i386/i386/db_trace.c optional ddb
|
|
i386/i386/exec_machdep.c standard
|
|
i386/i386/elan-mmcr.c optional cpu_elan | cpu_soekris
|
|
i386/i386/elf_machdep.c standard
|
|
i386/i386/exception.s standard
|
|
i386/i386/gdb_machdep.c optional gdb
|
|
i386/i386/geode.c optional cpu_geode
|
|
i386/i386/in_cksum.c optional inet | inet6
|
|
i386/i386/initcpu.c standard
|
|
i386/i386/io.c optional io
|
|
i386/i386/k6_mem.c optional mem
|
|
i386/i386/locore.s standard no-obj
|
|
i386/i386/longrun.c optional cpu_enable_longrun
|
|
i386/i386/machdep.c standard
|
|
i386/i386/mem.c optional mem
|
|
i386/i386/minidump_machdep.c standard
|
|
i386/i386/minidump_machdep_pae.c standard
|
|
i386/i386/minidump_machdep_nopae.c standard
|
|
i386/i386/mp_clock.c optional smp
|
|
i386/i386/mp_machdep.c optional smp
|
|
i386/i386/mpboot.s optional smp
|
|
i386/i386/npx.c standard
|
|
i386/i386/perfmon.c optional perfmon
|
|
i386/i386/pmap_base.c standard
|
|
i386/i386/pmap_nopae.c standard
|
|
i386/i386/pmap_pae.c standard
|
|
i386/i386/ptrace_machdep.c standard
|
|
i386/i386/sigtramp.s standard
|
|
i386/i386/support.s standard
|
|
i386/i386/swtch.s standard
|
|
i386/i386/sys_machdep.c standard
|
|
i386/i386/trap.c standard
|
|
i386/i386/uio_machdep.c standard
|
|
i386/i386/vm86.c standard
|
|
i386/i386/vm_machdep.c standard
|
|
i386/pci/pci_cfgreg.c optional pci
|
|
i386/pci/pci_pir.c optional pci
|
|
isa/syscons_isa.c optional sc
|
|
isa/vga_isa.c optional vga
|
|
kern/imgact_aout.c optional compat_aout
|
|
kern/subr_sfbuf.c standard
|
|
libkern/divdi3.c standard
|
|
libkern/ffsll.c standard
|
|
libkern/flsll.c standard
|
|
libkern/memcmp.c standard
|
|
libkern/memset.c standard
|
|
libkern/moddi3.c standard
|
|
libkern/qdivrem.c standard
|
|
libkern/strlen.c standard
|
|
libkern/ucmpdi2.c standard
|
|
libkern/udivdi3.c standard
|
|
libkern/umoddi3.c standard
|
|
#
|
|
# x86 real mode BIOS support, required by dpms/pci/vesa
|
|
#
|
|
compat/x86bios/x86bios.c optional x86bios | dpms | pci | vesa
|
|
# Common files where we currently configure the system differently, but perhaps shouldn't
|
|
# config(8) doesn't have a way to force standard options, so we've been inconsistent
|
|
# about marking non-optional things 'standard'.
|
|
x86/acpica/madt.c optional acpi apic
|
|
x86/cpufreq/smist.c optional cpufreq
|
|
x86/isa/atpic.c optional atpic
|
|
x86/isa/elcr.c optional atpic | apic
|
|
x86/isa/isa.c optional isa
|
|
x86/isa/isa_dma.c optional isa
|
|
x86/x86/io_apic.c optional apic
|
|
x86/x86/local_apic.c optional apic
|
|
x86/x86/mptable.c optional apic
|
|
x86/x86/mptable_pci.c optional apic pci
|
|
x86/x86/msi.c optional apic pci
|