sys: Remove $FreeBSD$: one-line sh patternRemove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
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 acpi_if.h to SRCS so we have it when building ahci_generic.c with ACPI.Obtained from: ABT Systems LtdSponsored by: The FreeBSD Foundation
ahci_generic.c needs ofw_bus_if.h, add it to the module.
Add ahci_generic to the ahci module on arm64.Pointed out by: kib
Separate out PCI attachment from the main AHCI driver. Move checks ofPCI IDs into quirks, which mostly fit (though you'd get no argumentfrom me that AHCI_Q_SATA1_UNIT0 is oddly specific). Set these
Separate out PCI attachment from the main AHCI driver. Move checks ofPCI IDs into quirks, which mostly fit (though you'd get no argumentfrom me that AHCI_Q_SATA1_UNIT0 is oddly specific). Set these quirksin the PCI attachment. Make some shared functions public so that PCIand possibly other bus attachments can use them.The split isn't perfect yet, but it is functional. The split will beperfected as other bus attachments for AHCI are written.Sponsored by: NetflixReviewed by: kan, mavDifferential Revision: https://reviews.freebsd.org/D699
show more ...
Refactor enclosure manegement support in ahci(4). Move it out into separatesubdevice ahciem. Emulate SEMB SES device from AHCI LED interface to exposeit to users in form of ses(4) CAM device. If we
Refactor enclosure manegement support in ahci(4). Move it out into separatesubdevice ahciem. Emulate SEMB SES device from AHCI LED interface to exposeit to users in form of ses(4) CAM device. If we ever see AHCI controllerssupporting SES of SAF-TE over I2C as described by specification, they shouldfit well into this new picture.Sponsored by: iXsystems, Inc.
Separate the parallel scsi knowledge out of the core of the XPT, andmodularize it so that new transports can be created.Add a transport for SATAAdd a periph+protocol layer for ATAAdd a driver
Separate the parallel scsi knowledge out of the core of the XPT, andmodularize it so that new transports can be created.Add a transport for SATAAdd a periph+protocol layer for ATAAdd a driver for AHCI-compliant hardware.Add a maxio field to CAM so that drivers can advertise their maxI/O capability. Modify various drivers so that they are insulatedfrom the value of MAXPHYS.The new ATA/SATA code supports AHCI-compliant hardware, and will overridethe classic ATA driver if it is loaded as a module at boot time or compiledinto the kernel. The stack now support NCQ (tagged queueing) for increasedperformance on modern SATA drives. It also supports port multipliers.ATA drives are accessed via 'ada' device nodes. ATAPI drives areaccessed via 'cd' device nodes. They can all be enumerated and manipulatedvia camcontrol, just like SCSI drives. SCSI commands are not translated totheir ATA equivalents; ATA native commands are used throughout the entirestack, including camcontrol. See the camcontrol manpage for furtherdetails. Testing this code may require that you update your fstab, andpossibly modify your BIOS to enable AHCI functionality, if available.This code is very experimental at the moment. The userland ABI/API haschanged, so applications will need to be recompiled. It may changefurther in the near future. The 'ada' device name may also change asmore infrastructure is completed in this project. The goal is toeventually put all CAM busses and devices until newbus, allowing forinteresting topology and management options.Few functional changes will be seen with existing SCSI/SAS/FC drivers,though the userland ABI has still changed. In the future, transportsspecific modules for SAS and FC may appear in order to better supportthe topologies and capabilities of these technologies.The modularization of CAM and the addition of the ATA/SATA modules ismeant to break CAM out of the mold of being specific to SCSI, letting itgrow to be a framework for arbitrary transports and protocols. It alsoallows drivers to be written to support discrete hardware withoutjeopardizing the stability of non-related hardware. While only an AHCIdriver is provided now, a Silicon Image driver is also in the works.Drivers for ICH1-4, ICH5-6, PIIX, classic IDE, and any other hardwareis possible and encouraged. Help with new transports is also encouraged.Submitted by: scottl, mavApproved by: re