diff options
author | Philippe Mathieu-Daudé <f4bug@amsat.org> | 2018-03-08 23:39:23 +0100 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2018-03-12 16:12:48 +0100 |
commit | 55f613ac25420384b2c4645420fea2f9bab15379 (patch) | |
tree | 2a11965b143c9ca18523ae00169cf8123f48c40d /include/hw/dma | |
parent | bb3d5ea858e7f888563a56c8e2d99df47882a4cf (diff) | |
download | qemu-55f613ac25420384b2c4645420fea2f9bab15379.zip qemu-55f613ac25420384b2c4645420fea2f9bab15379.tar.gz qemu-55f613ac25420384b2c4645420fea2f9bab15379.tar.bz2 |
hw/dma/i8257: Rename DMA_init() to i8257_dma_init()
- Move the header from hw/isa/ to hw/dma/
- Remove the old i386/pc dependency
- use a bool type for the high_page_enable argument
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20180308223946.26784-3-f4bug@amsat.org>
Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'include/hw/dma')
-rw-r--r-- | include/hw/dma/i8257.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/include/hw/dma/i8257.h b/include/hw/dma/i8257.h new file mode 100644 index 0000000..2cab50b --- /dev/null +++ b/include/hw/dma/i8257.h @@ -0,0 +1,49 @@ +#ifndef HW_I8257_H +#define HW_I8257_H + +#include "hw/hw.h" +#include "hw/isa/isa.h" +#include "exec/ioport.h" + +#define TYPE_I8257 "i8257" + +typedef struct I8257Regs { + int now[2]; + uint16_t base[2]; + uint8_t mode; + uint8_t page; + uint8_t pageh; + uint8_t dack; + uint8_t eop; + IsaDmaTransferHandler transfer_handler; + void *opaque; +} I8257Regs; + +typedef struct I8257State { + /* <private> */ + ISADevice parent_obj; + + /* <public> */ + int32_t base; + int32_t page_base; + int32_t pageh_base; + int32_t dshift; + + uint8_t status; + uint8_t command; + uint8_t mask; + uint8_t flip_flop; + I8257Regs regs[4]; + MemoryRegion channel_io; + MemoryRegion cont_io; + + QEMUBH *dma_bh; + bool dma_bh_scheduled; + int running; + PortioList portio_page; + PortioList portio_pageh; +} I8257State; + +void i8257_dma_init(ISABus *bus, bool high_page_enable); + +#endif |