Brad Boyer <flar <at> allandria.com> writes:

> On Mon, Apr 16, 2012 at 07:50:33PM +1200, Michael Schmitz wrote:

> > >So ISA memory space accesses (isa_readX()) are implemented the same as ISA 
I/O
> > >space accesses? That can't work. Or are they not supported?
> > 
> > There's no distinct 'IO' or 'memory' space on the ROM port adapter,
> > it's all memory mapped on ROM port addresses. How does access to ISA
> > card mem regions work on ix86? Different address range, or different
> > instructions?
> 
> The real x86 instruction set has separate instructions to access any
> ports in the IO space (in and out). The instruction also has an access

This maps to different lines being driven on the ISA side, see:
https://upload.wikimedia.org/wikipedia/commons/3/3d/XT_Bus_pins.png

There are I/O read/write and MEM read/write lines (B11‥B14).
So you need these that are actually wired up in the adapter.

Bascially, “PC” I/O ports have a separate 16-bit¹ address space
from the main (originally) 20-bit address space of the main
memory (RAM, ROM) which are addressed with different instructions
and may behave different when accessed as 8-bit vs. 16-bit slots.

① IIRC, only 12 bit were originally wired or used before the era
  of the various Local Buses, although according to the 8086 docs
  that seems to not have been a CPU issue but mainboard design.

bye,
//mirabilos

--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to