Remove residual blank line at start of MakefileThis is a residual of the $FreeBSD$ removal.MFC After: 3 days (though I'll just run the command on the branches)Sponsored by: Netflix
sys: Remove $FreeBSD$: one-line sh patternRemove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
mii: Add opt_platform.h to all miibus driversmiivar.h includes opt_platform.h. Make sure all the drivers that use themiibus_if.h interface file have opt_platform.h as well. While some ofthese may
mii: Add opt_platform.h to all miibus driversmiivar.h includes opt_platform.h. Make sure all the drivers that use themiibus_if.h interface file have opt_platform.h as well. While some ofthese may not, strictly speaking, need it, it's easier to include ituniversally for miibus.Sponsored by: Netflix
show more ...
sys/modules: normalize .CURDIR-relative paths to SRCTOPThis simplifies make output/logicTested with: `cd sys/modules; make ALL_MODULES=` on amd64MFC after: 1 monthSponsored by: Dell EMC Isilon
Add ale(4), a driver for Atheros AR8121/AR8113/AR8114 PCIe ethernetcontroller. The controller is also known as L1E(AR8121) andL2E(AR8113/AR8114). Unlike its predecessor Attansic L1,AR8121/AR8113/A
Add ale(4), a driver for Atheros AR8121/AR8113/AR8114 PCIe ethernetcontroller. The controller is also known as L1E(AR8121) andL2E(AR8113/AR8114). Unlike its predecessor Attansic L1,AR8121/AR8113/AR8114 uses completely different Rx logic such thatit requires separate driver. Datasheet for AR81xx is not availableto open source driver writers but it shares large part of Tx andPHY logic of L1. I still don't understand some part of registermeaning and some MAC statistics counters but the driver seems tohave no critical issues for performance and stability.The AR81xx requires copy operation to pass received frames to upperstack such that ale(4) consumes a lot of CPU cycles than that ofother controller. A couple of silicon bugs also adds more CPUcycles to address the known hardware bug. However, if you have fastCPU you can still saturate the link.Currently ale(4) supports the following hardware features. - MSI. - TCP Segmentation offload. - Hardware VLAN tag insertion/stripping with checksum offload. - Tx TCP/UDP checksum offload and Rx IP/TCP/UDP checksum offload. - Tx/Rx interrupt moderation. - Hardware statistics counters. - Jumbo frame. - WOL.AR81xx PCIe ethernet controllers are mainly found on ASUS EeePC orP5Q series of ASUS motherboards. Special thanks to Jeremy Chadwickwho sent the hardware to me. Without his donation writing a driverfor AR81xx would never have been possible. Big thanks to all peoplewho reported feedback or tested patches.HW donated by: koitsuTested by: bsam, Joao Barros <joao.barros <> gmail DOT com > Jan Henrik Sylvester <me <> janh DOT de > Ivan Brawley < ivan <> brawley DOT id DOT au >, CURRENT ML