Re: [Qemu-devel] [PATCH 1/2] hw/mips/jazz: create ESP device directly via qdev

2018-06-13 Thread Paolo Bonzini
On 13/06/2018 15:06, Mark Cave-Ayland wrote: >> >> Heh, those are disgusting indeed. :)  So I guess it would have to stay, >> only MIPS can use the pure MemoryRegion-based approach. > > The only option I can think of is inserting an AddressSpace between the > esp/ledma device and the IOMMU Address

Re: [Qemu-devel] [PATCH 1/2] hw/mips/jazz: create ESP device directly via qdev

2018-06-13 Thread Mark Cave-Ayland
On 13/06/18 12:19, Paolo Bonzini wrote: On 13/06/2018 12:36, Mark Cave-Ayland wrote: Check out hw/dma/sparc32_dma.c for some ugly examples: espdma_memory_read()/espdma_memory_write() update the DMA address pointer register after each read/write, and ledma_memory_read()/ledma_memory_write() need

Re: [Qemu-devel] [PATCH 1/2] hw/mips/jazz: create ESP device directly via qdev

2018-06-13 Thread Paolo Bonzini
On 13/06/2018 12:36, Mark Cave-Ayland wrote: > Check out hw/dma/sparc32_dma.c for some ugly examples: > espdma_memory_read()/espdma_memory_write() update the DMA address > pointer register after each read/write, and > ledma_memory_read()/ledma_memory_write() need to determine if the pcnet > card ha

Re: [Qemu-devel] [PATCH 1/2] hw/mips/jazz: create ESP device directly via qdev

2018-06-13 Thread Mark Cave-Ayland
On 13/06/18 11:06, Paolo Bonzini wrote: On 13/06/2018 11:47, Mark Cave-Ayland wrote: +dev = qdev_create(NULL, TYPE_ESP); +sysbus_esp = ESP_STATE(dev); +esp = &sysbus_esp->esp; +esp->dma_memory_read = rc4030_dma_read; +esp->dma_memory_write = rc4030_dma_write; +esp->dma_o

Re: [Qemu-devel] [PATCH 1/2] hw/mips/jazz: create ESP device directly via qdev

2018-06-13 Thread Paolo Bonzini
On 13/06/2018 11:47, Mark Cave-Ayland wrote: > +dev = qdev_create(NULL, TYPE_ESP); > +sysbus_esp = ESP_STATE(dev); > +esp = &sysbus_esp->esp; > +esp->dma_memory_read = rc4030_dma_read; > +esp->dma_memory_write = rc4030_dma_write; > +esp->dma_opaque = dmas[0]; Poking at the

[Qemu-devel] [PATCH 1/2] hw/mips/jazz: create ESP device directly via qdev

2018-06-13 Thread Mark Cave-Ayland
MIPS jazz is the last user of the legacy esp_init() function so move creation of the ESP device over to use qdev. Note that the esp_reset and dma_enable qemu_irqs are currently unused and so we do not wire these up and instead remove the variables to prevent the compiler emitting unused variable w