]>
Commit | Line | Data |
---|---|---|
f5f19ee2 HP |
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; | |
bd36a618 | 14 | IsaDmaTransferHandler transfer_handler; |
f5f19ee2 HP |
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; | |
e305a165 MAL |
39 | PortioList portio_page; |
40 | PortioList portio_pageh; | |
f5f19ee2 HP |
41 | } I8257State; |
42 | ||
43 | #endif |