Fix some modules to export more used symbols(cherry picked from commit 5bb3134a8c21cb87b30e135ef168483f0333dabb)
pccard: Remove ata(4) PC Card attachemntRemove ata PC Card attachment.Relnotes: Yes
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
Remove more pc98 support.
Remove pc98 support completely.I thank all developers and contributors for pc98.Relnotes: yes
Remove from legacy ata(4) driver support for hardware, supported by newerand more functional drivers ahci(4), siis(4) and mvs(4).This removes about 3400 lines of code, unused since FreeBSD 9.0 rel
Remove from legacy ata(4) driver support for hardware, supported by newerand more functional drivers ahci(4), siis(4) and mvs(4).This removes about 3400 lines of code, unused since FreeBSD 9.0 release.
show more ...
Fix a typo in r249213; the second bus_if.h should have been isa_if.h.
isa_if.h is indirectly included.Depend on it to unbreak pc98 builds.
Remove atadevel(4), it no longer builds with ATA_CAM and it's unlikelythat support for new lines of ATA controllers will be added to ata(4).
- With the demise of !ATA_CAM, ATA_STATIC_ID is the only ata(4) related option left but actually consumed by ada(4), so move it to opt_ada.h and get rid of opt_ata.h.- Fix stand-alone build of a
- With the demise of !ATA_CAM, ATA_STATIC_ID is the only ata(4) related option left but actually consumed by ada(4), so move it to opt_ada.h and get rid of opt_ata.h.- Fix stand-alone build of atacore(4) by adding opt_cam.h.- Use __FBSDID.- Use DEVMETHOD_END.- Use NULL instead of 0 for pointers.
- Make ata_str2mode() static, it's not used outside of ata-all.c.- Move ata_timeout() to ata-all.c so we don't need to expose both this function and ata_cam_end_transaction() but only the former.
- Make ata_str2mode() static, it's not used outside of ata-all.c.- Move ata_timeout() to ata-all.c so we don't need to expose both this function and ata_cam_end_transaction() but only the former.- Move ata_cmd2str() from ata-queue.c to ata-all.c so we can get rid of the former.- Add some missing prototypes.MFC after: 3 days
Remove all legacy ATA code parts, not used since options ATA_CAM enabled inmost kernels before FreeBSD 9.0. Remove such modules and respective kerneloptions: atadisk, ataraid, atapicd, atapifd, at
Remove all legacy ATA code parts, not used since options ATA_CAM enabled inmost kernels before FreeBSD 9.0. Remove such modules and respective kerneloptions: atadisk, ataraid, atapicd, atapifd, atapist, atapicam. Remove theatacontrol utility and some man pages. Remove useless now options ATA_CAM.No objections: current@, stable@MFC after: never
pci_if.h is required to build atacore.
At least on sparc64 these modules require ata_machdep.c.MFC after: 3 days
Drop USB mass storage devices support from ata(4). It is out of the build aslong as I remember, and completely superseded by better maintained umass(4).It's main idea was to optionally avoid CAM de
Drop USB mass storage devices support from ata(4). It is out of the build aslong as I remember, and completely superseded by better maintained umass(4).It's main idea was to optionally avoid CAM dependency for such devices, butwith move ATA to CAM, it is not actual any more.No objections: hselasky@, thompsa@, arch@
Move the uaudio and ata-usb drivers into their correct locations.
This is the roumored ATA modulerisation works, and it needs a little explanation.If you just config KERNEL as usual there should be no apparent changes, you'll get all chipset support code compiled
This is the roumored ATA modulerisation works, and it needs a little explanation.If you just config KERNEL as usual there should be no apparent changes, you'll get all chipset support code compiled in.However there is now a way to only compile in code for chipsets needed on a pr vendor basis. ATA now has the following "device" entries:atacore: ATA core functionality, always needed for any ATA setupatacard: CARDBUS supportatacbus: PC98 cbus supportataisa: ISA bus supportatapci: PCI bus support only generic chipset support.ataahci: AHCI support, also pulled in by some vendor modules.ataacard, ataacerlabs, ataadaptec, ataamd, ataati, atacenatek, atacypress, atacyrix, atahighpoint, ataintel, ataite, atajmicron, atamarvell, atamicron, atanational, atanetcell, atanvidia, atapromise, ataserverworks, atasiliconimage, atasis, atavia; Vendor support, ie atavia for VIA chipsetsatadisk: ATA disk driverataraid: ATA softraid driveratapicd: ATAPI cd/dvd driveratapifd: ATAPI floppy/flashdisk driveratapist: ATAPI tape driveratausb: ATA<>USB bridgeatapicam: ATA<>CAM bridgeThis makes it possible to config a kernel with just VIA chipset support by having the following ATA lines in the kernel config file:device atacoredevice atapcidevice ataviaAnd then you need the atadisk, atapicd etc lines in there just as usual.If you use ATA as modules loaded at boot there is few changes except the rename of the "ata" module to "atacore", things looks just as usual.However under atapci you now have a whole bunch of vendor specific drivers, that you can kldload individually depending on you needs. Drivers have the same names as used in the kernel config explained above.
Remove debug flag.Spotted by: ru@
Add atausb module
Connect the atapicam module to the build.
Add a Makefile for atapi-cam.
This is the much rumoured ATA mkIII update that I've been working on.o ATA is now fully newbus'd and split into modules. This means that on a modern system you just load "atapci and a
This is the much rumoured ATA mkIII update that I've been working on.o ATA is now fully newbus'd and split into modules. This means that on a modern system you just load "atapci and ata" to get the base support, and then one or more of the device subdrivers "atadisk atapicd atapifd atapist ataraid". All can be loaded/unloaded anytime, but for obvious reasons you dont want to unload atadisk when you have mounted filesystems.o The device identify part of the probe has been rewritten to fix the problems with odd devices the old had, and to try to remove so of the long delays some HW could provoke. Also probing is done without the need for interrupts, making earlier probing possible.o SATA devices can be hot inserted/removed and devices will be created/ removed in /dev accordingly. NOTE: only supported on controllers that has this feature: Promise and Silicon Image for now. On other controllers the usual atacontrol detach/attach dance is still needed.o Support for "atomic" composite ATA requests used for RAID.o ATA RAID support has been rewritten and and now supports these metadata formats: "Adaptec HostRAID" "Highpoint V2 RocketRAID" "Highpoint V3 RocketRAID" "Intel MatrixRAID" "Integrated Technology Express" "LSILogic V2 MegaRAID" "LSILogic V3 MegaRAID" "Promise FastTrak" "Silicon Image Medley" "FreeBSD PseudoRAID"o Update the ioctl API to match new RAID levels etc.o Update atacontrol to know about the new RAID levels etc NOTE: you need to recompile atacontrol with the new sys/ata.h, make world will take care of that. NOTE2: that rebuild is done differently from the old system as the rebuild is now done piggybacked on read requests to the array, so atacontrol simply starts a background "dd" to rebuild the array.o The reinit code has been worked over to be much more robust.o The timeout code has been overhauled for races.o Support of new chipsets.o Lots of fixes for bugs found while doing the modulerization and reviewing the old code.Missing or changed features from current ATA:o atapi-cd no longer has support for ATAPI changers. Todays its much cheaper and alot faster to copy those CD images to disk and serve them from there. Besides they dont seem to be made anymore, maybe for that exact reason.o ATA RAID can only read metadata from all the above metadata formats, not write all of them (Promise and Highpoint V2 so far). This means that arrays can be picked up from the BIOS, but they cannot be created from FreeBSD. There is more to it than just the missing write metadata support, those formats are not unique to a given controller like Promise and Highpoint formats, instead they exist for several types, and even worse, some controllers can have different formats and its impossible to tell which one. The outcome is that we cannot reliably create the metadata of those formats and be sure the controller BIOS will understand it. However write support is needed to update/fail/rebuild the arrays properly so it sits fairly high on the TODO list.o So far atapicam is not supported with these changes. When/if this will change is up to the maintainer of atapi-cam so go there for questions.HW donated by: Webveveriet ASHW donated by: Frode NordahlHW donated by: Yahoo!HW donated by: SentexPatience by: Vife and my boys (and even the cats)