BSDCon 2002 Abstract
Problems updating FreeBSD's card system from ISA to PCI
M. Warner Losh
Timing Solutions, Inc
FreeBSD's 16-bit PC Card implementation has used the ISA legacy
interface. PCI support was added by making PCI-CardBus and PCI-PCMCIA
bridges behave in ISA compatibility mode. While this technique worked
in laptops, it made support of add-in PCI cards with CardBus or PCMCIA
bridges impossible. PCI-PC Card bridges are unlike traditional
devices because they can have connections to multiple busses, offering
both ISA and PCI interrupt routing for them and any devices connected
to them. Expanding support to add-in PCI cards with 16-bit PC Cards
connected exposed weaknesses in the PC Card implementation of FreeBSD
as well as other parts of the system. Vendor BIOS quality, variance
in hardware implementation details from standard and weaknesses in the
FreeBSD development model made incorporation of these improvements
into FreeBSD 4.4-RELEASE difficult. Lessons learned will be
incorporated into the 32-bit CardBus support forthcoming in FreeBSD
- View the full text of this paper in
PostScript. Until February 2003, you will need your USENIX membership identification in order to access the full papers.
The Proceedings are published as a collective work, © 2002 by the USENIX Association. All Rights Reserved. Rights to individual papers remain with the author or the author's employer. Permission is granted for the noncommercial reproduction of the complete work for educational or research purposes. USENIX acknowledges all trademarks within this paper.
- If you need the latest Adobe Acrobat Reader, you can download it from Adobe's site.
- To become a USENIX Member, please see our Membership Information.