Re: Exposing ROM's though sysfs

From: Vojtech Pavlik
Date: Fri Jul 30 2004 - 14:48:46 EST


On Fri, Jul 30, 2004 at 12:30:11PM -0700, Jon Smirl wrote:
> --- Matthew Wilcox <willy@xxxxxxxxxx> wrote:
>
> > My problem is with this is the following passage from PCI 2.2 and PCI
> > 2.3:
> >
> > In order to minimize the number of address decoders needed, a
> > device
> > may share a decoder between the Expansion ROM Base Address register
> > and
> > other Base Address registers. When expansion ROM decode is
> > enabled, ...
> >
> > On Fri, Jul 30, 2004 at 11:59:21AM -0700, Jon Smirl wrote:
> > > Alan Cox knows more about this, but I believe there is only one PCI
> > > card in existence that does this.
> >
> > Strange; he was the one who pointed out this requirement to me in the
> > first place and he hinted that many devices did this.
>
> Alan, what's the answer here?
>
> > Shutting off interrupts isn't nearly enough. Any other CPU could
> > access the device, or indeed any device capable of DMA could
>
> Another idea, it's ok to read the ROM when there is no device driver
> loaded. When the driver for one of these card loads it could trigger a
> copy of the ROM into RAM and cache it in a PCI structure.

I think this is a good idea.

It could either be done as a part of pci_enable_device(), or, which I
believe would be better, as a separate function, say
pci_copy_rom(char *dest), that the driver would call before
pci_enable_device().

Of course, in this case the ROM wouldn't be automatically exported
through sysfs, although the driver should be able to export it itself
rather easily.

--
Vojtech Pavlik
SuSE Labs, SuSE CR
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/