Re: [PATCH] comedi: Fix driver module dependencies since HAS_IOPORT changes

From: Maciej W. Rozycki
Date: Mon Oct 09 2023 - 20:02:16 EST


On Mon, 4 Sep 2023, Arnd Bergmann wrote:

> Yes, I think that will always be a safe assumption, ISA without port I/O
> is just not a sensible configuration. A few of the later ISA devices use
> PCI style memory mapped I/O, but I can't think of any driver that doesn't
> also require port I/O, and you wouldn't find ISA slots in a system that
> lacks support for port I/O.

FWIW for the 8086 CPU as it was designed back in 1970s (and borrowing
from the 8080/8085) and consequently IBM PC systems of 1980s memory and
I/O bus cycles were meant for resource accesses as the respective names
implied, there was no concept of MMIO for those systems back then, which
came later from CPU architectures that only have a single address space.

With those ISA option cards memory bus cycles were typically decoded by
an option ROM where implemented (for system BIOS expansion), sometimes
socketed (e.g. for a network card's optional boot ROM), and video adapters
(graphics or text-only such as the MDA) also decoded memory bus cycles to
video RAM. There were also ISA memory expansion cards, exceedingly rare,
which decoded memory bus cycles to onboard RAM.

For anything else I/O bus cycles were used, so for the purpose of our
consideration ISA pretty much equals I/O and the presence of ISA implies a
way to generate 8086 bus I/O cycles in a system, regardless of what native
bus protocols the host CPU might implement.

Maciej