Skip site navigation (1)Skip section navigation (2)
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>