freebsd-dev/sys/conf
Zbigniew Bodek 9b8d05b8ac Add support for Amazon Elastic Network Adapter (ENA) NIC
ENA is a networking interface designed to make good use of modern CPU
features and system architectures.

The ENA device exposes a lightweight management interface with a
minimal set of memory mapped registers and extendable command set
through an Admin Queue.

The driver supports a range of ENA devices, is link-speed independent
(i.e., the same driver is used for 10GbE, 25GbE, 40GbE, etc.), and has
a negotiated and extendable feature set.

Some ENA devices support SR-IOV. This driver is used for both the
SR-IOV Physical Function (PF) and Virtual Function (VF) devices.

ENA devices enable high speed and low overhead network traffic
processing by providing multiple Tx/Rx queue pairs (the maximum number
is advertised by the device via the Admin Queue), a dedicated MSI-X
interrupt vector per Tx/Rx queue pair, and CPU cacheline optimized
data placement.

The ENA driver supports industry standard TCP/IP offload features such
as checksum offload and TCP transmit segmentation offload (TSO).
Receive-side scaling (RSS) is supported for multi-core scaling.

The ENA driver and its corresponding devices implement health
monitoring mechanisms such as watchdog, enabling the device and driver
to recover in a manner transparent to the application, as well as
debug logs.

Some of the ENA devices support a working mode called Low-latency
Queue (LLQ), which saves several more microseconds. This feature will
be implemented for driver in future releases.

Submitted by:	Michal Krawczyk <mk@semihalf.com>
		Jakub Palider <jpa@semihalf.com>
		Jan Medala <jan@semihalf.com>
Obtained from: Semihalf
Sponsored by: Amazon.com Inc.
Differential revision: https://reviews.freebsd.org/D10427
2017-05-22 14:46:13 +00:00
..
config.mk Remove the NATM framework including the en(4), fatm(4), hatm(4), and 2017-04-24 21:21:49 +00:00
dtb.mk Honor LINKS=x y in dtb modules. We need this for compatibility links 2017-01-28 05:07:53 +00:00
files Add support for Amazon Elastic Network Adapter (ENA) NIC 2017-05-22 14:46:13 +00:00
files.amd64 hyperv/vmbus: Reorganize vmbus device tree 2017-05-10 05:28:14 +00:00
files.arm Add the early hypervisor code needed on 32-bit ARMv7. This will be used 2017-03-22 14:30:02 +00:00
files.arm64 armv8 has support for optional CRC32C instructions. This patch checks if they are 2017-04-27 17:53:05 +00:00
files.i386 hyperv/vmbus: Reorganize vmbus device tree 2017-05-10 05:28:14 +00:00
files.mips Merge projects/ipsec into head/. 2017-02-06 08:49:57 +00:00
files.powerpc Add Freescale eSPI driver found on QorIQ SoCs 2017-04-02 01:21:35 +00:00
files.riscv Merge projects/ipsec into head/. 2017-02-06 08:49:57 +00:00
files.sparc64 Merge projects/ipsec into head/. 2017-02-06 08:49:57 +00:00
kern.mk Fix the linker emulation setting for riscv. 2017-04-05 18:59:58 +00:00
kern.opts.mk Add MK_TESTS to kern.opts.mk to support r31800 2017-05-09 05:03:35 +00:00
kern.post.mk Support skipping 'make obj' tree-walk. 2017-05-09 20:21:38 +00:00
kern.pre.mk Support skipping 'make obj' tree-walk. 2017-05-09 20:21:38 +00:00
kmod_syms.awk
kmod.mk Support assym.s in DPSRCS to depend on it but not link it in. 2017-04-05 17:56:17 +00:00
ldscript.amd64 use INT3 instead of NOP for x86 binary padding 2017-03-19 00:22:13 +00:00
ldscript.arm remove CONSTRUCTORS from kernel linker scripts 2016-07-28 13:54:46 +00:00
ldscript.arm64 Explicitly include all .rodata.* sections in the kernel .rodata. This 2016-09-03 17:23:24 +00:00
ldscript.i386 use INT3 instead of NOP for x86 binary padding 2017-03-19 00:22:13 +00:00
ldscript.mips remove CONSTRUCTORS from kernel linker scripts 2016-07-28 13:54:46 +00:00
ldscript.mips.cfe remove CONSTRUCTORS from kernel linker scripts 2016-07-28 13:54:46 +00:00
ldscript.mips.mips64 remove CONSTRUCTORS from kernel linker scripts 2016-07-28 13:54:46 +00:00
ldscript.mips.octeon1 remove CONSTRUCTORS from kernel linker scripts 2016-07-28 13:54:46 +00:00
ldscript.powerpc remove CONSTRUCTORS from kernel linker scripts 2016-07-28 13:54:46 +00:00
ldscript.powerpc64 remove CONSTRUCTORS from kernel linker scripts 2016-07-28 13:54:46 +00:00
ldscript.powerpcspe Create a new MACHINE_ARCH for Freescale PowerPC e500v2 2016-10-22 01:57:15 +00:00
ldscript.riscv o Remove operation in machine mode. 2016-08-10 12:41:36 +00:00
ldscript.sparc64 remove CONSTRUCTORS from kernel linker scripts 2016-07-28 13:54:46 +00:00
Makefile.amd64 Clang's 3.5 integrated assembler now handles these files correctly (it 2015-01-05 12:28:22 +00:00
Makefile.arm Always pass the linker emulation via -m when linking modules and kernels. 2017-04-05 03:05:04 +00:00
Makefile.arm64 Build changes that allow the modules on arm64. 2015-10-08 17:42:08 +00:00
Makefile.i386 Clang's 3.5 integrated assembler now handles these files correctly (it 2015-01-05 12:28:22 +00:00
Makefile.mips Compile trampoline with soft-float on MIPS, to match the rest of the kernel 2016-11-16 03:24:20 +00:00
Makefile.powerpc Don't pass -Wa,-many through clang, the integrated as doesn't support it. 2017-01-22 06:00:05 +00:00
Makefile.riscv Set dependencies for genassym.c. 2016-05-24 16:30:05 +00:00
Makefile.sparc64 Bump the version of config to the latest (3 year old, so upgrade 2014-02-04 18:24:25 +00:00
makeLINT.mk Migrate e1000 to the IFLIB framework: 2017-01-10 03:23:22 +00:00
makeLINT.sed
newvers.sh newvers.sh: consider as modified SVN mixed revision and other cases 2016-12-19 17:31:34 +00:00
NOTES Add a driver for the Chelsio T6 crypto accelerator engine. 2017-05-17 22:13:07 +00:00
options Remove the NATM framework including the en(4), fatm(4), hatm(4), and 2017-04-24 21:21:49 +00:00
options.amd64 Remove SVR4 (System V Release 4) binary compatibility support. 2017-02-28 05:14:42 +00:00
options.arm Remove code for Marvell SoCs that lack a kernel config. 2017-03-17 12:59:16 +00:00
options.arm64 Call the PSCI reset from cpu_reset on arm64. When rebooting from DDB the 2017-04-24 11:06:10 +00:00
options.i386 Remove SVR4 (System V Release 4) binary compatibility support. 2017-02-28 05:14:42 +00:00
options.mips [mips] [rt2880] Add oldest Ralink MIPS SOC RT2880 support code. 2017-05-06 06:20:34 +00:00
options.powerpc Create a new MACHINE_ARCH for Freescale PowerPC e500v2 2016-10-22 01:57:15 +00:00
options.riscv Add full softfloat and hardfloat support for RISC-V. 2016-11-16 15:21:32 +00:00
options.sparc64
systags.sh Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
WITHOUT_SOURCELESS
WITHOUT_SOURCELESS_HOST Retire the nve(4) driver; nfe(4) has been the default driver for NVIDIA 2014-02-16 12:22:43 +00:00
WITHOUT_SOURCELESS_UCODE rtwn(4), urtwn(4): merge common code, add support for 11ac devices. 2016-10-17 20:38:24 +00:00