Re: ISA I/O port programming question...

Tim Wright (timw@sequent.com)
Mon, 13 Jan 1997 11:16:09 PST


Someone replied saying you cannot use the ports above 0x3ff.
They are mistaken.
You cannot use 3/4 of them due to the corner cutting on early cards which
only decoded the lower 10-bits of the address bus, BUT
ports 0x0-0xff are reserved for the motherboard and have been decoded properly
since very early machines, so you can safely use 0x400-0x4ff, 0x800-0x8ff ...
0xfc00-0xffff.
EISA cards use 0xN000-0xN0ff where N = the slot number to access the cards.
A quick look at some of the EISA device drivers will confirm this, so in
a nutshell, you can design a card to use high port numbers safely provided
you remember the above.

t

In message <Pine.BSI.3.95.970112201211.5837A-100000@gold.interlog.com>,Robert E
rlich writes:
> Hello all;
>
> I wonder if there are any of you in kernel land that might be able to help
> me with this, as it is less a kernel question (although it does involve
> creating a driver) and more a hardware question.
>
> I am adapting a servo motor controller board to the ISA buss. (it was
> originally designed for the New Micros NMIS microcontroller family) I
> would like to place it in an I/O space far away from my other periphs.;
> ie. 65535 >= port >=1024.
>
> What is the magic of I/O ports below 0x3FF on the ISA buss? Some texts I
> have read state that only the first 10 bits of the I/O address are decoded
> onto the ISA buss. Is this true? Do addresses that
> are higher wrap around? Are the address lines available to create
> hardware that decodes to a >=1024 I/O address? If not, what happens if I
> outb(0x400, 0xXX)? All these questions....
>
> Thanks in advance
>
> Robert
> ...
>

--
Tim Wright, Worldwide Technical Services,         |  Email: timw@sequent.com
Sequent Computer Systems Inc., 15450,             |
SW Koll Parkway, Beaverton, Oregon 97006          |  Phone: +1-503-578-3822
"Applying computer technology is simply finding the right wrench to pound
in the correct screw"