aboutsummaryrefslogtreecommitdiff
path: root/hw/dma
diff options
context:
space:
mode:
authorHervé Poussineau <hpoussin@reactos.org>2016-02-03 11:28:56 -0500
committerJohn Snow <jsnow@redhat.com>2016-02-03 11:28:56 -0500
commitf5f19ee2e448a8442f1974ca1a0b8864486ed25b (patch)
treee229b1713013323c077597deabb397f106f45fe6 /hw/dma
parent340e19ebf2103317206b6910cd065bdbdea0d2e0 (diff)
downloadqemu-f5f19ee2e448a8442f1974ca1a0b8864486ed25b.zip
qemu-f5f19ee2e448a8442f1974ca1a0b8864486ed25b.tar.gz
qemu-f5f19ee2e448a8442f1974ca1a0b8864486ed25b.tar.bz2
i8257: move state definition to new independent header
We will now be able to embed the i8257 interrupt controller in another object. Signed-off-by: Hervé Poussineau <hpoussin@reactos.org> Message-id: 1453843944-26833-10-git-send-email-hpoussin@reactos.org Signed-off-by: John Snow <jsnow@redhat.com>
Diffstat (limited to 'hw/dma')
-rw-r--r--hw/dma/i8257.c35
1 files changed, 1 insertions, 34 deletions
diff --git a/hw/dma/i8257.c b/hw/dma/i8257.c
index bd6bcb5..35ca8a4 100644
--- a/hw/dma/i8257.c
+++ b/hw/dma/i8257.c
@@ -24,10 +24,10 @@
#include "qemu/osdep.h"
#include "hw/hw.h"
#include "hw/isa/isa.h"
+#include "hw/isa/i8257.h"
#include "qemu/main-loop.h"
#include "trace.h"
-#define TYPE_I8257 "i8257"
#define I8257(obj) \
OBJECT_CHECK(I8257State, (obj), TYPE_I8257)
@@ -42,42 +42,9 @@
#define ldebug(...)
#endif
-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;
- DMA_transfer_handler transfer_handler;
- void *opaque;
-} I8257Regs;
-
#define ADDR 0
#define COUNT 1
-typedef struct I8257State {
- ISADevice parent_obj;
-
- 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;
-} I8257State;
-
static I8257State *dma_controllers[2];
enum {