From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59402) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aMHaf-0006zj-UC for qemu-devel@nongnu.org; Thu, 21 Jan 2016 10:56:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aMHad-0001Zz-8R for qemu-devel@nongnu.org; Thu, 21 Jan 2016 10:56:05 -0500 Received: from mx1.redhat.com ([209.132.183.28]:39686) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aMHad-0001Zs-0X for qemu-devel@nongnu.org; Thu, 21 Jan 2016 10:56:03 -0500 References: <1452439498-21098-1-git-send-email-hpoussin@reactos.org> <569FEE9A.6080207@reactos.org> <56A0B136.3000002@redhat.com> From: John Snow Message-ID: <56A0FF91.3040507@redhat.com> Date: Thu, 21 Jan 2016 10:56:01 -0500 MIME-Version: 1.0 In-Reply-To: <56A0B136.3000002@redhat.com> 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: Paolo Bonzini , =?UTF-8?Q?Herv=c3=a9_Poussineau?= , qemu-devel@nongnu.org Cc: "Michael S. Tsirkin" On 01/21/2016 05:21 AM, Paolo Bonzini wrote: > On 20/01/2016 21:31, Herv=C3=A9 Poussineau wrote: >> Ping. >> >> Herv=C3=A9 >> >> 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) >=20 > FWIW, the general idea looks great to me. If John is okay, just send a > pull request yourself. >=20 > Paolo >=20 Oh, yes, I'm good. Acked-by: John Snow >>> 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