On 21/09/2020 18:14, Mark Cave-Ayland wrote: > On 21/09/2020 18:03, Mark Cave-Ayland wrote: > >> The lance and esp devices are embedded within ledma and espdma devices >> respectively, >> but are actually sysbus devices because they can be used by other machines. >> I'm not >> sure if lance is used anywhere else, but esp certainly is. Hence they are >> mapped >> after the dma device is realised as it feels odd to attach devices to sysbus >> outside >> of a machine init function. > > Actually I have a better idea for this: use sysbus_mmio_get_region() within > the > sparc32-dma device to attach the lance and esp memory regions to its own > container > memory region: then the single sysbus_mmio_map() for the sparc32-dma device > will just > work on its own.
(goes and looks) Ah now I remember - the DMA control registers and the lance/ESP devices are mapped to 2 different memory locations. So I think the current solution is the best one here. ATB, Mark.