These changes are the raw update to qemu-2.6.
[kvmfornfv.git] / qemu / include / hw / isa / i8257.h
1 #ifndef HW_I8257_H
2 #define HW_I8257_H
3
4 #define TYPE_I8257 "i8257"
5
6 typedef struct I8257Regs {
7     int now[2];
8     uint16_t base[2];
9     uint8_t mode;
10     uint8_t page;
11     uint8_t pageh;
12     uint8_t dack;
13     uint8_t eop;
14     IsaDmaTransferHandler transfer_handler;
15     void *opaque;
16 } I8257Regs;
17
18 typedef struct I8257State {
19     /* <private> */
20     ISADevice parent_obj;
21
22     /* <public> */
23     int32_t base;
24     int32_t page_base;
25     int32_t pageh_base;
26     int32_t dshift;
27
28     uint8_t status;
29     uint8_t command;
30     uint8_t mask;
31     uint8_t flip_flop;
32     I8257Regs regs[4];
33     MemoryRegion channel_io;
34     MemoryRegion cont_io;
35
36     QEMUBH *dma_bh;
37     bool dma_bh_scheduled;
38     int running;
39 } I8257State;
40
41 #endif
42