vmport: Disentangle read handler type from portio

In case the latter may vanish one day, make sure the vmport read handler
type will remain unaffected. This is also conceptually cleaner.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Jan Kiszka 2013-06-22 08:07:06 +02:00 committed by Paolo Bonzini
parent 0659097de2
commit d67f679d99
2 changed files with 6 additions and 4 deletions

View File

@ -43,13 +43,13 @@ typedef struct VMPortState
ISADevice parent_obj; ISADevice parent_obj;
MemoryRegion io; MemoryRegion io;
IOPortReadFunc *func[VMPORT_ENTRIES]; VMPortReadFunc *func[VMPORT_ENTRIES];
void *opaque[VMPORT_ENTRIES]; void *opaque[VMPORT_ENTRIES];
} VMPortState; } VMPortState;
static VMPortState *port_state; static VMPortState *port_state;
void vmport_register(unsigned char command, IOPortReadFunc *func, void *opaque) void vmport_register(unsigned char command, VMPortReadFunc *func, void *opaque)
{ {
if (command >= VMPORT_ENTRIES) if (command >= VMPORT_ENTRIES)
return; return;

View File

@ -3,7 +3,6 @@
#include "qemu-common.h" #include "qemu-common.h"
#include "exec/memory.h" #include "exec/memory.h"
#include "exec/ioport.h"
#include "hw/isa/isa.h" #include "hw/isa/isa.h"
#include "hw/block/fdc.h" #include "hw/block/fdc.h"
#include "net/net.h" #include "net/net.h"
@ -56,11 +55,14 @@ typedef struct GSIState {
void gsi_handler(void *opaque, int n, int level); void gsi_handler(void *opaque, int n, int level);
/* vmport.c */ /* vmport.c */
typedef uint32_t (VMPortReadFunc)(void *opaque, uint32_t address);
static inline void vmport_init(ISABus *bus) static inline void vmport_init(ISABus *bus)
{ {
isa_create_simple(bus, "vmport"); isa_create_simple(bus, "vmport");
} }
void vmport_register(unsigned char command, IOPortReadFunc *func, void *opaque);
void vmport_register(unsigned char command, VMPortReadFunc *func, void *opaque);
void vmmouse_get_data(uint32_t *data); void vmmouse_get_data(uint32_t *data);
void vmmouse_set_data(const uint32_t *data); void vmmouse_set_data(const uint32_t *data);