The Intel chipset specs say that PIC1 uses:
(all hex:) 20-21, 24-25, 28-29, 2c-2d, 30-31, 34-35, 38-39, 3c-3d.
Some of the older chipset specs say that all of these other than
20-21 are just aliases of 20-21 (like the 440MX spec).
Later specs don't say this (as in all of the 800-model ICH0/ICH2
specs).
In either case, port 0x22 should be available for you. What
do you mean by "and following"? What register range does it use?
What fixed IO addresses does the Elan require (consume)?
So in linux/arch/i386/kernel/setup.c, you could modify the
"standard IO resources" table to match your target system's
requirements.
Current table:
struct resource standard_io_resources[] = {
{ "dma1", 0x00, 0x1f, IORESOURCE_BUSY },
{ "pic1", 0x20, 0x3f, IORESOURCE_BUSY },
{ "timer", 0x40, 0x5f, IORESOURCE_BUSY },
{ "keyboard", 0x60, 0x6f, IORESOURCE_BUSY },
{ "dma page reg", 0x80, 0x8f, IORESOURCE_BUSY },
{ "pic2", 0xa0, 0xbf, IORESOURCE_BUSY },
{ "dma2", 0xc0, 0xdf, IORESOURCE_BUSY },
{ "fpu", 0xf0, 0xff, IORESOURCE_BUSY }
};
Just modify the "pic1" and "pic2" entries to be multiple shorter
entries.
~Randy
-
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/