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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html