diff options
author | ths <ths@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-08-26 17:46:38 +0000 |
---|---|---|
committer | ths <ths@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-08-26 17:46:38 +0000 |
commit | 93342807901077d49c098b7b4d5897674d8c17c7 (patch) | |
tree | 93040e3109fa95ea34130aad36ce269ffa0fa58f | |
parent | 591a6d627995ce00b0db8d7360ad4032eeb77b9c (diff) |
Use the framework for the VMware mouse emulation, by Herve Poussineau.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3150 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r-- | hw/pc.c | 1 | ||||
-rw-r--r-- | hw/vmmouse.c | 18 |
2 files changed, 4 insertions, 15 deletions
@@ -692,6 +692,7 @@ static void pc_init1(int ram_size, int vga_ram_size, int boot_device, if (pci_enabled) { apic_init(env); } + vmport_init(env); } /* allocate RAM */ diff --git a/hw/vmmouse.c b/hw/vmmouse.c index c10c26e2dd..52c8e0c78d 100644 --- a/hw/vmmouse.c +++ b/hw/vmmouse.c @@ -39,7 +39,6 @@ #define VMMOUSE_QUEUE_SIZE 1024 -#define VMMOUSE_MAGIC 0x564D5868 #define VMMOUSE_VERSION 0x3442554a #ifdef DEBUG_VMMOUSE @@ -58,13 +57,6 @@ typedef struct _VMMouseState void *ps2_mouse; } VMMouseState; -static uint32_t vmmouse_get_version(VMMouseState *s, uint32_t *magic) -{ - DPRINTF("vmmouse_get_version(%x)\n", *magic); - *magic = VMMOUSE_MAGIC; - return VMMOUSE_VERSION; -} - static uint32_t vmmouse_get_status(VMMouseState *s) { DPRINTF("vmmouse_get_status()\n"); @@ -201,15 +193,10 @@ static uint32_t vmmouse_ioport_read(void *opaque, uint32_t addr) 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; @@ -240,7 +227,6 @@ static uint32_t vmmouse_ioport_read(void *opaque, uint32_t addr) break; } -error: vmmouse_set_data(data); return data[0]; } @@ -292,7 +278,9 @@ void *vmmouse_init(void *m) s->status = 0xffff; s->ps2_mouse = m; - register_ioport_read(0x5658, 1, 4, vmmouse_ioport_read, s); + vmport_register(VMMOUSE_STATUS, vmmouse_ioport_read, s); + vmport_register(VMMOUSE_COMMAND, vmmouse_ioport_read, s); + vmport_register(VMMOUSE_DATA, vmmouse_ioport_read, s); register_savevm("vmmouse", 0, 0, vmmouse_save, vmmouse_load, s); return s; |