From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57942) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aDpHn-0003B0-Kn for qemu-devel@nongnu.org; Tue, 29 Dec 2015 03:05:42 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aDpHj-0001bJ-J1 for qemu-devel@nongnu.org; Tue, 29 Dec 2015 03:05:39 -0500 Received: from smtp5-g21.free.fr ([2a01:e0c:1:1599::14]:55383) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aDpHj-0001ag-Cv for qemu-devel@nongnu.org; Tue, 29 Dec 2015 03:05:35 -0500 From: =?UTF-8?q?Herv=C3=A9=20Poussineau?= Date: Tue, 29 Dec 2015 09:04:37 +0100 Message-Id: <1451376295-28834-1-git-send-email-hpoussin@reactos.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PATCH 00/17] ISA DMA controllers cleanup (i8257, i82374) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Paolo Bonzini , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , "Michael S. Tsirkin" Hi, This patchset is a cleanup of the i8257/i82374 ISA DMA controllers. Global DMA_* functions will be obsoleted and then deleted, and ISA device= s will not be tied anymore to i8257 DMA device implementation. This paves the way to fix support for floppy DMA operations on sparc/spar= c64/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 inheritan= ce. Patches 2 to 7 change i8257 to current standards (structures and function= s renaming, QOM) Patches 8 to 16 create and use a IsaDma interface, to separate devices fr= om i8257 device implementation. Patch 17 removes now unused DMA_* functions. Herv=C3=A9 Herv=C3=A9 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(-) --=20 2.1.4