Messages in this thread | | | Date | Mon, 26 Jul 1999 18:32:39 +0200 | From | Martin Mares <> | Subject | Re: New kernel/resource.c |
| |
Hi,
> I wonder how many devices decode all 32 bits of an IO address. Maybe they > all do, but it sure hasn't gotten any testing by anybody. Considering that > ISA devices even today often only decode 10 bits for historical reasons, I > wouldn't find it surprising at all if there are PCI devices that only > bother with the low 16 bits - and they'd be really unhappy with any > aliasing...
The PCI specs require all devices to decode 32 bits of I/O address, but they allow upper 16 bits to be hard-wired to zero. It's possible there really are devices ignoring this part of specs, but probably only an experiment can prove it.
Due to ISA address decoding brain-damages, everyone has to assign PCI I/O regions addresses which modulo 0x400 give less than 0x100 or addresses above 64K which are not forwarded to ISA at all. This is problematic when a region has more than 256 bytes of I/O ports -- the PCI specs explicitly forbid such large regions, but I know some such devices anyway.
Have a nice fortnight -- Martin `MJ' Mares <mj@ucw.cz> http://atrey.karlin.mff.cuni.cz/~mj/ Faculty of Math and Physics, Charles University, Prague, Czech Rep., Earth "Hex dump: Where witches put used curses..."
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |