static void vmmouse_reset(void *opaque) { VMMouseState *s = opaque; s->status = 0xffff; s->queue_size = VMMOUSE_QUEUE_SIZE; vmmouse_disable(s); }
static void vmmouse_reset(DeviceState *d) { VMMouseState *s = container_of(d, VMMouseState, dev.qdev); s->status = 0xffff; s->queue_size = VMMOUSE_QUEUE_SIZE; vmmouse_disable(s); }
static uint32_t vmmouse_ioport_read(void *opaque, uint32_t addr) { VMMouseState *s = opaque; uint32_t data[6]; uint16_t command; vmmouse_get_data(data); if (data[0] != VMMOUSE_MAGIC) goto error; command = data[2] & 0xFFFF; switch (command) { case VMMOUSE_GETVERSION: data[0] = vmmouse_get_version(s, &data[1]); break; case VMMOUSE_STATUS: data[0] = vmmouse_get_status(s); break; case VMMOUSE_COMMAND: switch (data[1]) { case VMMOUSE_DISABLE: vmmouse_disable(s); break; case VMMOUSE_READ_ID: vmmouse_read_id(s); break; case VMMOUSE_REQUEST_RELATIVE: vmmouse_request_relative(s); break; case VMMOUSE_REQUEST_ABSOLUTE: vmmouse_request_absolute(s); break; default: printf("vmmouse: unknown command %x\n", data[1]); break; } break; case VMMOUSE_DATA: vmmouse_data(s, data, data[1]); break; default: printf("vmmouse: unknown command %x\n", command); break; } error: vmmouse_set_data(data); return data[0]; }