On 12/06/17 23:27, Laszlo Ersek wrote: > It turns out that we introduced the "iobase" and "dma_iobase" properties > *solely* so that we could pass arguments to fw_cfg_io_realize(). But > fw_cfg_io_realize() only needed those parameters for the *wrong* purpose > (namely calling sysbus_add_io()). By eliminating the sysbus_add_io() > calls from fw_cfg_io_realize(), the related properties become > unnecessary too. > > (NB, setting the "dma_enabled" property in fw_cfg_init_io_dma(), and > setting "data_width" and "dma_enabled" in fw_cfg_init_mem_wide(), remain > necessary, because those aren't related to region mapping.) > > What do you think?
Yeah, I like the sound of this approach much better since it keeps the functionality similar between both the memory and ioport instances. I've got something basic going but I don't think I'm going to have time to finish it tonight. ATB, Mark.