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:
Hervé Poussineau 2016-02-03 11:28:56 -05:00 committed by John Snow
parent 340e19ebf2
commit f5f19ee2e4
2 changed files with 43 additions and 34 deletions

View File

@ -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 {

42
include/hw/isa/i8257.h Normal file
View File

@ -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