Exemplo n.º 1
0
static void vmmouse_reset(void *opaque)
{
    VMMouseState *s = opaque;

    s->status = 0xffff;
    s->queue_size = VMMOUSE_QUEUE_SIZE;

    vmmouse_disable(s);
}
Exemplo n.º 2
0
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);
}
Exemplo n.º 3
0
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];
}