aboutsummaryrefslogtreecommitdiff
path: root/include/hw/dma
diff options
context:
space:
mode:
authorPhilippe Mathieu-Daudé <f4bug@amsat.org>2018-03-08 23:39:23 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2018-03-12 16:12:48 +0100
commit55f613ac25420384b2c4645420fea2f9bab15379 (patch)
tree2a11965b143c9ca18523ae00169cf8123f48c40d /include/hw/dma
parentbb3d5ea858e7f888563a56c8e2d99df47882a4cf (diff)
downloadqemu-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.h49
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