Date: Mon, 11 Apr 2005 07:25:07 -0600 From: Scott Long <scottl@samsco.org> To: Bruce M Simpson <bms@spc.org> Cc: freebsd-hackers@freebsd.org Subject: Re: A question about hot-pluggable PCI. Message-ID: <425A7AB3.7040908@samsco.org> In-Reply-To: <20050411082600.GA735@empiric.icir.org> References: <20050411082600.GA735@empiric.icir.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Bruce M Simpson wrote: > Hi, > > I have acquired a Mobility Electronics EasiDock 5000. As some of you may > already know, this is a device which allows you to connect regular PCI > cards to your laptop, using a device called a 'Split Bridge'. (*) > > Ok. Cool toy, you may be thinking. Indeed. > > But I want to make it work with FreeBSD. (+) > > I'd love to hear from anyone who has plans to implement hot-plug in > a BSD, because this is the missing piece of the puzzle currently. > > It seems that this device is known to work with Linux, with some further > hacking of support which Magma (who acquired Mobility a few years back) > provide on a 'as is' basis. > > So I've begun hacking the pci and pcib drivers from RELENG_5_4 to support > this device. So far, I've been able to probe configuration space. I see > all the devices on the PCI bus inside the expansion chassis. > > However I cannot get drivers to attach properly, because resources have > not been assigned to the cards. Normally the BIOS would do this. But > because BIOSes do not normally explore beyond the CardBus bridges, none > of the devices have had their I/O, memory, or interrupt registers set > to non-default values; everything is the same as a pristine bus reset, > even when I boot with the bridge card in a CardBus slot. > > In order to get this far I've had to add NEWBUS detach methods to both > pci and pcib, as well as some cleanup in pci_pci.c, and some downright > dirty hacks to deal with subordinate bus numbering which rely on the > current behaviour of our CardBus driver. > > I'll post diffs if anyone else is interested; but right now it's pretty > trivial stuff. Asking for 'hotplug support' is pretty generic and non-descriptive. Are you asking for device level hotplug support, where we carefully drain transactions out of a device, device driver, and whatever I/O or network or whatever layers are above it? Or are you talking about PCI hotplug support? If so, which de-facto standard? Compaq? IBM? ACPI? PCI-SIG? Something else? Scott
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?425A7AB3.7040908>