qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 00/19] ISA DMA controllers cleanup (i8257, i8


From: John Snow
Subject: Re: [Qemu-devel] [PATCH v2 00/19] ISA DMA controllers cleanup (i8257, i82374)
Date: Tue, 26 Jan 2016 15:26:31 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0


On 01/10/2016 10:24 AM, Hervé 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 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é
> 
> 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é 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' failed
make: *** [vl.o] Error 1

>   i8257: implement the IsaDma interface

Fixes itself here.

>   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 ‘sun4uv_init’:
/home/bos/jhuston/src/qemu/hw/sparc64/sun4u.c:862:9: error: implicit
declaration of function ‘qdev_prop_set_drive_nofail’
[-Werror=implicit-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 ‘qdev_prop_set_drive_nofail’ [-Werror=nested-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....

>   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
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]