sys: Remove $FreeBSD$: one-line sh patternRemove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
Stop adding -Wredundant-decls to CWARNFLAGS.clang doesn't implement it, and Linux doesn't enforce it. As aresult, new instances keep cropping up both in FreeBSD's code and inupstream sources fro
Stop adding -Wredundant-decls to CWARNFLAGS.clang doesn't implement it, and Linux doesn't enforce it. As aresult, new instances keep cropping up both in FreeBSD's code and inupstream sources from vendors.Reviewed by: emasteDifferential Revision: https://reviews.freebsd.org/D34144
show more ...
Disable new clang 10.0.0 warnings about misleading indentation insys/contrib/ncsw/Peripherals/FM/fman_ncsw.c.This is horribly formatted contributed code, and fixing it is not worththe effort.
powerpc: Re-add -Wno-redundant-decls to DPAA build flagsSince the DPAA code is from a third party, with minimal edits, there is nointent to fix these specific warnings at this time. Hide these wa
powerpc: Re-add -Wno-redundant-decls to DPAA build flagsSince the DPAA code is from a third party, with minimal edits, there is nointent to fix these specific warnings at this time. Hide these warnings toprevent the noise from hiding real warnings.
Add support for building Book-E kernels with clang/lld.This involved several changes:* Since lld does not like text relocations, replace SMP boot page text relocsin booke/locore.S with position-
Add support for building Book-E kernels with clang/lld.This involved several changes:* Since lld does not like text relocations, replace SMP boot page text relocsin booke/locore.S with position-independent math, and track the virtual basein the SMP boot page header.* As some SPRs are interpreted differently on clang due to the way it handlesplatform-specific SPRs, switch m*dear and m*esr mnemonics out for regularm*spr. Add both forms of SPR_DEAR to spr.h so the correct encoding is selected.* Change some hardcoded 32 bit things in the boot page to be pointer-sized, andfix alignment.* Fix 64-bit build of booke/pmap.c when enabling pmap debugging.Additionally, I took the opportunity to document how the SMP boot page works.Approved by: jhibbits (mentor)Differential Revision: https://reviews.freebsd.org/D21999
Fix bogusly declared WERRORs in kernel buildMany arm kernel configs bogusly specified WERROR=-Werror. There's noreason for this because the default is that and there's no reason tooverride. These
Fix bogusly declared WERRORs in kernel buildMany arm kernel configs bogusly specified WERROR=-Werror. There's noreason for this because the default is that and there's no reason tooverride. These date from a time when we needed to add additionalwarning->error suppression. They are obsolete and were cut and pastepropagated from file to file.Comment out all the WERROR=.... lines in powerpc. They aren't bogus,but were appropriate for the old defaults for gcc4.2.1. Now that we'vemade the policy decision to suppress -Werror by default on theseplatforms, it is appropriate to comment these out. People wishing tofix these errors can still un-comment them out, or say WERROR=-Werroron the command line.Fix two instances (cut and paste propagation) of hard-coded -Werrorin x86 code. Replace with ${WERROR} instead. This is a no-op changeexcept for people who build WERROR=-Wno-error :).This should fix tinderbox / CI breakage.
sys: Remove DEV_RANDOM device optionRemove 'device random' from kernel configurations that reference it (most).Replace perhaps mistaken 'nodevice random' in two MIPS configs with 'optionsRANDOM_L
sys: Remove DEV_RANDOM device optionRemove 'device random' from kernel configurations that reference it (most).Replace perhaps mistaken 'nodevice random' in two MIPS configs with 'optionsRANDOM_LOADABLE' instead. Document removal in UPDATING; update NOTES andrandom.4.Reviewed by: delphij, markm (previous version)Approved by: secteam(delphij)Differential Revision: https://reviews.freebsd.org/D19918
Make iflib a loadable module.iflib is already a module, but it is unconditionally compiled into thekernel. There are drivers which do not need iflib(4), and there aresituations where somebody mi
Make iflib a loadable module.iflib is already a module, but it is unconditionally compiled into thekernel. There are drivers which do not need iflib(4), and there aresituations where somebody might not want iflib in kernel because ofusing the corresponding driver as module.Reviewed by: mariusDiscussed with: erjSponsored by: The FreeBSD FoundationMFC after: 2 weeksDifferential revision: https://reviews.freebsd.org/D19041
Rename a couple files to not conflict with ZFS filenamesNow a kernel can be built with both ZFS and DPAA compiled in.
Update DPAA SDK to SDK 2.0This adds some support for ARM as well as 64-bit. 64-bit on PowerPC iscurrently not working, and ARM support has not been completed or tested on theFreeBSD side.As th
Update DPAA SDK to SDK 2.0This adds some support for ARM as well as 64-bit. 64-bit on PowerPC iscurrently not working, and ARM support has not been completed or tested on theFreeBSD side.As this was imported from a Linux tree, it includes some Linux-isms(ioread/iowrite), so compile with the LinuxKPI for now. This may change in thefuture.
Make dpaa work with only slightly modified Linux device trees.Linux has a slightly different device tree definition for DPAA than originallydone in the FreeBSD driver. This changes the driver to
Make dpaa work with only slightly modified Linux device trees.Linux has a slightly different device tree definition for DPAA than originallydone in the FreeBSD driver. This changes the driver to be mostly compatiblewith the Linux device tree definitions. Currently the differences are:bman-portals: compatible = "fsl,bman-portals" (Linux is "simple-bus")qman-portals: compatible = "fsl,qman-portals" (Linux is "simple-bus")fman: compatible = "fsl,fman" (Linux is "simple-bus")The Linux device tree doesn't specify anything for rgmii in the mdio. Thischange still requires the device tree to specify the phy-handle, and doesn't yetsupport tbi.
Remove a hack requiring dtsec0 to always be enabled for mdio.Instead replace it with a different hack, that turns fman into a simplebussubclass, and maps its children within its address space.Si
Remove a hack requiring dtsec0 to always be enabled for mdio.Instead replace it with a different hack, that turns fman into a simplebussubclass, and maps its children within its address space.Since all PHY communication is done through dtsec0's mdio space, the FDTcontains a reference to the dtsec0 mdio handle in all nodes that need it.Instead of using Freescale's implementation for MII access, use our own (copiedloosely from the eTSEC driver, and could possibly be merged eventually). Thislets us access the registers directly rather than needing a full dtsec interfacejust to access the registers.Future directions will include turning fman into more of a simplebus, and notmapping the region and playing games. This will require changes to the dtsecdriver to make it a child of fman, and possibly other drivers as well.
Merge MPC85XX and QorIQ config optionsSummary:MPC85XX and QorIQ are very similar. When the DPAA dTSEC driver wasadded, QORIQ_DPAA was brought in as a config option to support the differencesin
Merge MPC85XX and QorIQ config optionsSummary:MPC85XX and QorIQ are very similar. When the DPAA dTSEC driver wasadded, QORIQ_DPAA was brought in as a config option to support the differencesin hardware register settings between QorIQ (e500mc-, e5500- based) SoCs andQUICC (e500v1/e500v2-based) SoCs, particularly in the Local Access Window (LAW)target settings.Unify these settings using macros to hide details and ease porting, and use anew function (mpc85xx_is_qoriq()) to distinguish between QorIQ and QUICC SoCs atruntime.An alternative to using the function could be to use a variable initialized atplatform attach time, which may incur less overhead at runtime. Since it's notin the critical path once booted, this optimization doesn't seem necessary atfirst pass.Reviewed by: nwhitehornMFC after: 1 weekDifferential Revision: https://reviews.freebsd.org/D7294
Remove SoC-specific integrations from dTSEC, to make it SoC agnostic.This will allow a single kernel to run on all SoCs supported by the dTSEC driver.Approved by: re@(gjb)
Add support for the Freescale dTSEC DPAA-based ethernet controller.Freescale's QorIQ line includes a new ethernet controller, based on theirDatapath Acceleration Architecture (DPAA). This uses a
Add support for the Freescale dTSEC DPAA-based ethernet controller.Freescale's QorIQ line includes a new ethernet controller, based on theirDatapath Acceleration Architecture (DPAA). This uses a combination of a Framemanager, Buffer manager, and Queue manager to improve performance across allinterfaces by being able to pass data directly between hardware accelerationinterfaces.As part of this import, Freescale's Netcomm Software (ncsw) driver is imported.This was an attempt by Freescale to create an OS-agnostic sub-driver formanaging the hardware, using shims to interface to the OS-specific APIs. Thiswork was abandoned, and Freescale's primary work is in the Linux driver (dualBSD/GPL license). Hence, this was imported directly to sys/contrib, rather thangoing through the vendor area. Going forward, FreeBSD-specific changes may bemade to the ncsw code, diverging from the upstream in potentially incompatibleways. An alternative could be to import the Linux driver itself, using thelinuxKPI layer, as that would maintain parity with the vendor-maintained driver.However, the Linux driver has not been evaluated for reliability yet, and mayhave issues with the import, whereas the ncsw-based driver in this commit wascompleted by Semihalf 4 years ago, and is very stable.Other SoC modules based on DPAA, which could be added in the future:* Security and Encryption engine (SEC4.x, SEC5.x)* RAID engineAdditional work to be done:* Implement polling mode* Test vlan support* Add support for the Pattern Matching Engine, which can do regular expression matching on packets.This driver has been tested on the P5020 QorIQ SoC. Others listed in thedtsec(4) manual page are expected to work as the same DPAA engine is included inall.Obtained from: SemihalfRelnotes: YesSponsored by: Alex Perez/Inertial Computing