target/sh4: introduce DELAY_SLOT_MASK
[qemu/ar7.git] / include / hw / isa / i8257.h
blob88a2766a3f348aa86418fd8ec24224be4105f342
1 #ifndef HW_I8257_H
2 #define HW_I8257_H
4 #define TYPE_I8257 "i8257"
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;
18 typedef struct I8257State {
19 /* <private> */
20 ISADevice parent_obj;
22 /* <public> */
23 int32_t base;
24 int32_t page_base;
25 int32_t pageh_base;
26 int32_t dshift;
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;
36 QEMUBH *dma_bh;
37 bool dma_bh_scheduled;
38 int running;
39 PortioList portio_page;
40 PortioList portio_pageh;
41 } I8257State;
43 #endif