[PATCHES] 11-pcmciaresource

Matthew Wilcox willy at debian.org
Sun Mar 28 18:44:08 BST 2004

On Sat, Mar 27, 2004 at 09:54:19AM +0000, Russell King wrote:
> Again, as I've said previously, think about VGA cards with their
> resources scattered about the place in an undefined way.  They always
> appear in the top 768 bytes of every 1K of IO space.
> It all comes from the dim distant past of PC hardware design, when
> designers were lazy and only decoded 10 bits of the address bus.  This
> meant multiples of devices in the top 768 bytes were duplicated
> throughout the IO space.  When these devices got integrated into PC
> chipsets, they got fixed to decode 16 bits, and VGA cards decided they
> could use the space instead.  And then PCI came along, and they found
> they had to continue to support this, so bridges ended up with a bit
> to enable the top 768 bytes of each 1K so that legacy stuff continued
> to work as expected.

Just to amplify on what Russell wrote; io ports 0x00 to 0xff were reserved
"for the motherboard", so cards were using 0x100 to 0x3ff (decoding
12 bits, not 10).  When EISA came along, they were fully aware of this
problem with legacy ISA devices, so they assigned 0x400-0x4ff to EISA
slot 1, 0x800-0x8ff to EISA slot 2, 0xc00 to 0xcff to EISA slot 3, and
so on.  So the usable ranges are often referred to as EISA ioport space,
and the unusable ones as ISA alias ioport space.

> Welcome to your legacy-stuffed PC. 8)

$ cat /proc/ioports 
00000000-00003fff : PCI Bus 0000:00
  000003c0-000003df : vga+
00004000-00009fff : PCI Bus 0000:80
  00004000-000040ff : sym53c8xx
  00004100-000041ff : sym53c8xx
0000a000-0000bfff : PCI Bus 0000:a0
  0000a000-0000a07f : FM801
  0000a080-0000a0bf : e1000
  0000a0d0-0000a0d7 : ide0
  0000a0d8-0000a0df : ide1
  0000a0e0-0000a0e7 : ide1
  0000a0f2-0000a0f2 : ide1
0000c000-0000ffff : PCI Bus 0000:c0

fortunately my legacy-free ia64 desktop has no ISA to worry about ;-)

... until I plug in a pci-to-pcmcia bridge, of course ;-)

"Next the statesmen will invent cheap lies, putting the blame upon 
the nation that is attacked, and every man will be glad of those
conscience-soothing falsities, and will diligently study them, and refuse
to examine any refutations of them; and thus he will by and by convince 
himself that the war is just, and will thank God for the better sleep 
he enjoys after this process of grotesque self-deception." -- Mark Twain

More information about the linux-pcmcia mailing list