mirror of https://gitee.com/openkylin/qemu.git
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>
This commit is contained in:
parent
340e19ebf2
commit
f5f19ee2e4
|
@ -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 {
|
||||
|
|
|
@ -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
|
||||
|
Loading…
Reference in New Issue