From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38818) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aMCNE-0007wn-1a for qemu-devel@nongnu.org; Thu, 21 Jan 2016 05:21:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aMCNA-0007hi-Rq for qemu-devel@nongnu.org; Thu, 21 Jan 2016 05:21:51 -0500 Received: from mx1.redhat.com ([209.132.183.28]:41658) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aMCNA-0007hd-Km for qemu-devel@nongnu.org; Thu, 21 Jan 2016 05:21:48 -0500 References: <1452439498-21098-1-git-send-email-hpoussin@reactos.org> <569FEE9A.6080207@reactos.org> From: Paolo Bonzini Message-ID: <56A0B136.3000002@redhat.com> Date: Thu, 21 Jan 2016 11:21:42 +0100 MIME-Version: 1.0 In-Reply-To: <569FEE9A.6080207@reactos.org> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v2 00/19] ISA DMA controllers cleanup (i8257, i82374) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?Q?Herv=c3=a9_Poussineau?= , qemu-devel@nongnu.org Cc: "Michael S. Tsirkin" On 20/01/2016 21:31, Herv=C3=A9 Poussineau wrote: > Ping. >=20 > Herv=C3=A9 >=20 > Le 10/01/2016 16:24, Herv=C3=A9 Poussineau a =C3=A9crit : >> 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 a 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 9 change i8257 to current standards (structures and >> functions renaming, QOM) >> Patches 10 to 18 create and use a IsaDma interface, to separate >> devices from i8257 >> device implementation. >> Patch 19 removes now unused DMA_* functions. >> >> Herv=C3=A9 >> >> Changes since v1: >> - added patches 4 and 9 >> - simplify patch 12, so that it compiles alone (John Snow) >> - fix warning with clang (John Snow) FWIW, the general idea looks great to me. If John is okay, just send a pull request yourself. Paolo >> Herv=C3=A9 Poussineau (19): >> 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 struct dma_regs to I8257Regs >> i8257: rename functions to start with i8257_ prefix >> i8257: make the DMA running method per controller >> i8257: add missing const >> i8257: QOM'ify >> i8257: move state definition to new independent header >> 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 | 65 +++++--- >> hw/dma/i82374.c | 58 +++---- >> hw/dma/i8257.c | 395 >> ++++++++++++++++++++++++++---------------------- >> 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/isa/i8257.h | 42 +++++ >> include/hw/isa/isa.h | 51 +++++-- >> include/qemu/typedefs.h | 1 + >> 16 files changed, 454 insertions(+), 317 deletions(-) >> create mode 100644 include/hw/isa/i8257.h >> >=20