ioports 0x100-0x3af and iomem 0xd000-0xdffff, 0xa0000000-0xa0ffffff -- safe to use on x86 for pcmcia?

Dominik Brodowski linux at dominikbrodowski.net
Sat Nov 28 11:48:19 EST 2009


Hey,

On Wed, Nov 25, 2009 at 08:56:50PM +0900, Komuro wrote:
> > Do you think it would be safe to enable these areas by (kernel) default on
> > x86? Of course, other entries in /proc/io{mem,ports} would be honoured, there
> > would be a boot option to disable this feature, and some tests are run on the
> > iomem and ioport resource areas.
> 
> The problem you have is that you change the ordering.
> 
> If you load the ne2k ISA driver before pcmcia (as occurs now because of
> it being done from user space) the resources get claimed first. If you do
> it the other way around and test then merely reading an I/O register
> mapped to an NE2K or most NE2K clones crashes the machine.

... and even adding a late_initcall() has its problems.

> Are there any modern systems where the PCI based autoconfig is
> insufficient, or is this just ancient stuff  ?

I'm not familiar with embedded stuff, but usually PCI-based autoconfig
should be sufficient nowadays. Therefore, the only workable way seems to be
an optional module parameter

rsrc_nonstatic.include_io=0x100,0x3af,0x3e0,0x4ff,0x800,0x820,0xc00,0xcf7,0xa00,0xaff
rsrc_nonstatic.include_mem=0xc0000,0xfffff,0xa0000000,0xa0ffffff,0x60000000,0x60ffffff

or something like that. Thanks for the input!

Best,
	Dominik



More information about the linux-pcmcia mailing list