Followup to: <200011171656.QAA01320@raistlin.arm.linux.org.uk>
By author: Russell King <rmk@arm.linux.org.uk>
In newsgroup: linux.dev.kernel
>
> Brian Gerst writes:
> > This is an artifact from the ISA 10-bit IO bus. Many ISA cards do not
> > decode all 16 address bits so you get aliases of the 0x100-0x3ff region
> > throughout IO space. PCI cards should only use the first 256 ports of
> > any 1k block to avoid aliases unless they claim the base alias. For
> > example, all the xxe8 addresses for the S3 are aliases of 0x02e8 to an
> > ISA card. Video cards are an exception to the general rule because they
> > have to support all the legacy VGA crap.
>
> No. All xxe8 addresses access specific registers. For example:
>
> 0x9ea8 is the drawing command
> 0xa2e8 is the background colour register
> 0xa6e8 is the foreground colour register
>
> So, as you see they aren't aliases.
>
They aren't, but because early ISA cards did use these as aliases,
board manufacturers said "hey, we only need to allocate the bottom 10
bits, and we can use the remaining 6 address lines as we please."
Sigh.
-hpa
-- <hpa@transmeta.com> at work, <hpa@zytor.com> in private! "Unix gives you enough rope to shoot yourself in the foot." http://www.zytor.com/~hpa/puzzle.txt - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Thu Nov 23 2000 - 21:00:13 EST