> On Wed, Sep 18, 2002 at 05:37:50PM -0400, Bloch, Jack wrote:
> > At the moment, I only support removal. The way it works is as follows.
> >
> > Upon system start up my device driver detects all of the boards which are
> > present (I support up to six). For each board it allocates the necessary I/O
> > lists memory needed for operation. All addresses are then mapped to user
> > space with a mmap interface. Now, all HW is accessible from user space. For
> > each device, an ISR is installed. As soon as the ejector handle for a
> > particular device is opened, the board (which is a Motorola 68060 based
> > board) issues an interrupt to me. I will shut this board down and
> > de-allocate any of the previously reserved resources. What is not so easy is
> > to perform the insert. I thought about allocating memory becessary for a
> > maximum configuration, but I would still need to get the insertion event.
> > But anyway since our device (even though it has multiple boards internally)
> > is seen as a monolithic device from the main controlling host, the loss of a
> > single board causes it to be taken out of service.
>
> Hm, you might want to take a look at the cPCI patches from Scott Murray,
> he has a solution for the resource and insertion problem that will
> probably work for you. You can find the patches on the pcihpd-discuss
> mailing list, and I think they were also posted to lkml in the past too.
> He's working on cleaning them up a bit for inclusion in the main kernel
> tree.
compliant with the PICMG 2.1 cPCI hotswap specification. That means
that it will probably take quite a bit of hardware and software hacking
to make insertion work. My patches should provide a bit of basis for
further hacking if you do want to try and build something yourself, but
if reliable hotplugging is important to your project, I'd suggest
considering a switch to a PCI controller or bridge that is PICMG 2.1
hotswap compliant.
Scott
-- Scott Murray SOMA Networks, Inc. Toronto, Ontario e-mail: scottm@somanetworks.com
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/