Hi, This patchset is a cleanup of the i8257/i82374 ISA DMA controllers. Global DMA_* functions will be obsoleted and then deleted, and ISA devices will not be tied anymore to i8257 DMA device implementation.
This paves the way to fix support for floppy DMA operations on sparc/sparc64/MIPS Magnum platforms (which don't use i8257 DMA controller), and to support multiple ISA buses on the same machine. Patch 1 cleans up the i82374 DMA controller, by removing device inheritance. Patches 2 to 7 change i8257 to current standards (structures and functions renaming, QOM) Patches 8 to 16 create and use a IsaDma interface, to separate devices from i8257 device implementation. Patch 17 removes now unused DMA_* functions. Hervé Hervé Poussineau (17): i82374: device only existed as ISA device, so simplify device i8257: pass ISA bus to DMA_init() function i8257: rename struct dma_cont to I8257State i8257: rename functions to start with i8257_ prefix i8257: make the DMA running method per controller i8257: add missing const i8257: QOM'ify isa: add an ISA DMA interface, and store it within the ISA bus i8257: implement the IsaDma interface magnum: disable floppy DMA for now sparc: disable floppy DMA sparc64: disable floppy DMA fdc: use IsaDma interface instead of global DMA_* functions cs4231a: use IsaDma interface instead of global DMA_* functions gus: use IsaDma interface instead of global DMA_* functions sb16: use IsaDma interface instead of global DMA_* functions dma: remove now useless DMA_* functions hw/audio/cs4231a.c | 23 +-- hw/audio/gus.c | 20 ++- hw/audio/sb16.c | 23 ++- hw/block/fdc.c | 70 ++++++--- hw/dma/i82374.c | 58 +++----- hw/dma/i8257.c | 366 +++++++++++++++++++++++++++++------------------- hw/i386/pc.c | 2 +- hw/isa/isa-bus.c | 21 +++ hw/mips/mips_fulong2e.c | 2 +- hw/mips/mips_jazz.c | 5 +- hw/mips/mips_malta.c | 2 +- hw/sparc/sun4m.c | 24 +--- hw/sparc64/sun4u.c | 37 ++--- include/hw/block/fdc.h | 2 +- include/hw/isa/isa.h | 51 +++++-- include/qemu/typedefs.h | 1 + 16 files changed, 418 insertions(+), 289 deletions(-) -- 2.1.4