From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57865) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aOAwU-00051q-Oq for qemu-devel@nongnu.org; Tue, 26 Jan 2016 16:14:28 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aOAwQ-0005jY-N0 for qemu-devel@nongnu.org; Tue, 26 Jan 2016 16:14:26 -0500 Received: from smtp2-g21.free.fr ([212.27.42.2]:7542) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aOAwQ-0005ig-7L for qemu-devel@nongnu.org; Tue, 26 Jan 2016 16:14:22 -0500 References: <1452439498-21098-1-git-send-email-hpoussin@reactos.org> <56A7D677.5090807@redhat.com> From: =?UTF-8?Q?Herv=c3=a9_Poussineau?= Message-ID: <56A7E1A8.1080800@reactos.org> Date: Tue, 26 Jan 2016 22:14:16 +0100 MIME-Version: 1.0 In-Reply-To: <56A7D677.5090807@redhat.com> Content-Type: text/plain; charset=utf-8; format=flowed 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: John Snow , qemu-devel@nongnu.org Cc: Paolo Bonzini , "Michael S. Tsirkin" Le 26/01/2016 21:26, John Snow a =C3=A9crit : > > > On 01/10/2016 10:24 AM, Herv=C3=A9 Poussineau wrote: >> Hi, >> >> This patchset is a cleanup of the i8257/i82374 ISA DMA controllers. >> Global DMA_* functions will be obsoleted and then deleted, and ISA dev= ices will not >> be tied anymore to i8257 DMA device implementation. >> >> This paves the way to fix support for floppy DMA operations on sparc/s= parc64/MIPS Magnum >> platforms (which don't use a i8257 DMA controller), and to support mul= tiple ISA buses on >> the same machine. >> >> Patch 1 cleans up the i82374 DMA controller, by removing device inheri= tance. >> Patches 2 to 9 change i8257 to current standards (structures and funct= ions renaming, QOM) >> Patches 10 to 18 create and use a IsaDma interface, to separate device= s 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) >> >> 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 > > Build failure happens here: > > /home/bos/jhuston/src/qemu/rules.mak:57: recipe for target > 'hw/9pfs/9p.o' failed > make: *** [hw/9pfs/9p.o] Error 1 > In file included from /home/bos/jhuston/src/qemu/include/hw/i386/pc.h:8= :0, > from /home/bos/jhuston/src/qemu/vl.c:67: > /home/bos/jhuston/src/qemu/include/hw/isa/isa.h:48:1: error: useless > storage class specifier in empty declaration [-Werror] > }; > ^ > cc1: all warnings being treated as errors > /home/bos/jhuston/src/qemu/rules.mak:57: recipe for target 'vl.o' faile= d > make: *** [vl.o] Error 1 > >> i8257: implement the IsaDma interface > > Fixes itself here. Small problem between v1 and v2, when trying to fix build with clang. > >> magnum: disable floppy DMA for now >> sparc: disable floppy DMA >> sparc64: disable floppy DMA > > Another build error arises here. > > CC sparc64-softmmu/hw/sparc64/sun4u.o > /home/bos/jhuston/src/qemu/hw/sparc64/sun4u.c: In function =E2=80=98sun= 4uv_init=E2=80=99: > /home/bos/jhuston/src/qemu/hw/sparc64/sun4u.c:862:9: error: implicit > declaration of function =E2=80=98qdev_prop_set_drive_nofail=E2=80=99 > [-Werror=3Dimplicit-function-declaration] > qdev_prop_set_drive_nofail(dev, "driveA", > blk_by_legacy_dinfo(fd[0])); > ^ > /home/bos/jhuston/src/qemu/hw/sparc64/sun4u.c:862:9: error: nested > extern declaration of =E2=80=98qdev_prop_set_drive_nofail=E2=80=99 [-We= rror=3Dnested-externs] > cc1: all warnings being treated as errors > /home/bos/jhuston/src/qemu/rules.mak:57: recipe for target > 'hw/sparc64/sun4u.o' failed > make[1]: *** [hw/sparc64/sun4u.o] Error 1 > Makefile:186: recipe for target 'subdir-sparc64-softmmu' failed > make: *** [subdir-sparc64-softmmu] Error 2 > make: *** Waiting for unfinished jobs.... This is a conflict with a recently committed patch ("hw: Inline the qdev_= prop_set_drive_nofail() wrapper"). I'll rebase and send a v3 shortly. Herv=C3=A9