On 20/01/2016 21:31, Hervé Poussineau wrote:
> Ping.
> 
> Hervé
> 
> Le 10/01/2016 16:24, Hervé Poussineau a écrit :
>> 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)

FWIW, the general idea looks great to me.  If John is okay, just send a
pull request yourself.

Paolo

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

Reply via email to