vmport: convert PIO to new memory api read/write
Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
parent
5ec3a23e6c
commit
360d613e52
21
hw/vmport.c
21
hw/vmport.c
@ -54,7 +54,8 @@ void vmport_register(unsigned char command, IOPortReadFunc *func, void *opaque)
|
||||
port_state->opaque[command] = opaque;
|
||||
}
|
||||
|
||||
static uint32_t vmport_ioport_read(void *opaque, uint32_t addr)
|
||||
static uint64_t vmport_ioport_read(void *opaque, hwaddr addr,
|
||||
unsigned size)
|
||||
{
|
||||
VMPortState *s = opaque;
|
||||
CPUX86State *env = cpu_single_env;
|
||||
@ -81,11 +82,12 @@ static uint32_t vmport_ioport_read(void *opaque, uint32_t addr)
|
||||
return s->func[command](s->opaque[command], addr);
|
||||
}
|
||||
|
||||
static void vmport_ioport_write(void *opaque, uint32_t addr, uint32_t val)
|
||||
static void vmport_ioport_write(void *opaque, hwaddr addr,
|
||||
uint64_t val, unsigned size)
|
||||
{
|
||||
CPUX86State *env = cpu_single_env;
|
||||
|
||||
env->regs[R_EAX] = vmport_ioport_read(opaque, addr);
|
||||
env->regs[R_EAX] = vmport_ioport_read(opaque, addr, 4);
|
||||
}
|
||||
|
||||
static uint32_t vmport_cmd_get_version(void *opaque, uint32_t addr)
|
||||
@ -121,13 +123,14 @@ void vmmouse_set_data(const uint32_t *data)
|
||||
env->regs[R_ESI] = data[4]; env->regs[R_EDI] = data[5];
|
||||
}
|
||||
|
||||
static const MemoryRegionPortio vmport_portio[] = {
|
||||
{0, 1, 4, .read = vmport_ioport_read, .write = vmport_ioport_write },
|
||||
PORTIO_END_OF_LIST(),
|
||||
};
|
||||
|
||||
static const MemoryRegionOps vmport_ops = {
|
||||
.old_portio = vmport_portio
|
||||
.read = vmport_ioport_read,
|
||||
.write = vmport_ioport_write,
|
||||
.impl = {
|
||||
.min_access_size = 4,
|
||||
.max_access_size = 4,
|
||||
},
|
||||
.endianness = DEVICE_LITTLE_ENDIAN,
|
||||
};
|
||||
|
||||
static int vmport_initfn(ISADevice *dev)
|
||||
|
Loading…
Reference in New Issue
Block a user