diff options
author | Hervé Poussineau <hpoussin@reactos.org> | 2016-02-03 11:28:56 -0500 |
---|---|---|
committer | John Snow <jsnow@redhat.com> | 2016-02-03 11:28:56 -0500 |
commit | f5f19ee2e448a8442f1974ca1a0b8864486ed25b (patch) | |
tree | e229b1713013323c077597deabb397f106f45fe6 /include/hw | |
parent | 340e19ebf2103317206b6910cd065bdbdea0d2e0 (diff) | |
download | qemu-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 'include/hw')
-rw-r--r-- | include/hw/isa/i8257.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/include/hw/isa/i8257.h b/include/hw/isa/i8257.h new file mode 100644 index 0000000..8d34ed1 --- /dev/null +++ b/include/hw/isa/i8257.h @@ -0,0 +1,42 @@ +#ifndef HW_I8257_H +#define HW_I8257_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; + DMA_transfer_handler 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; +} I8257State; + +#endif + |