On Fri, 29 Apr 2022, William Breathitt Gray wrote: > > Good question. As far as I can see most (all?) of these have "select > > ISA_BUS_API" which is "def_bool ISA". Now "config ISA" seems to > > currently be repeated in architectures and doesn't have an explicit > > HAS_IOPORT dependency (it maybe should have one). But it does only make > > sense on architectures with HAS_IOPORT set. > > There is such a thing as ISA DMA, but you'll still need to initialize > the device via the IO Port bus first, so perhaps setting HAS_IOPORT for > "config ISA" is the right thing to do: all ISA devices are expected to > communicate in some way via ioport. Strictly speaking you can make an ISA device that only does MMIO (and I believe in the early PC days there used to be ISA memory expansion cards along with the EMS standard) which is also why the host memory area in the 15-16MiB range, the top 1MiB addressable on 16-bit ISA, can be excluded from decoding to DRAM and accesses made there forwarded to ISA in I believe all chipsets that provide actual ISA bus circuitry (rather than just a degenerate form like LPC). That's an exception rather than the rule though, nearly all ISA devices do decode in the port I/O space. After all I/O is what the port I/O address space has been invented for. FWIW, Maciej