Commit 93342807901077d49c098b7b4d5897674d8c17c7
1 parent
591a6d62
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
Showing
2 changed files
with
4 additions
and
15 deletions
hw/pc.c
hw/vmmouse.c
... | ... | @@ -39,7 +39,6 @@ |
39 | 39 | |
40 | 40 | #define VMMOUSE_QUEUE_SIZE 1024 |
41 | 41 | |
42 | -#define VMMOUSE_MAGIC 0x564D5868 | |
43 | 42 | #define VMMOUSE_VERSION 0x3442554a |
44 | 43 | |
45 | 44 | #ifdef DEBUG_VMMOUSE |
... | ... | @@ -58,13 +57,6 @@ typedef struct _VMMouseState |
58 | 57 | void *ps2_mouse; |
59 | 58 | } VMMouseState; |
60 | 59 | |
61 | -static uint32_t vmmouse_get_version(VMMouseState *s, uint32_t *magic) | |
62 | -{ | |
63 | - DPRINTF("vmmouse_get_version(%x)\n", *magic); | |
64 | - *magic = VMMOUSE_MAGIC; | |
65 | - return VMMOUSE_VERSION; | |
66 | -} | |
67 | - | |
68 | 60 | static uint32_t vmmouse_get_status(VMMouseState *s) |
69 | 61 | { |
70 | 62 | DPRINTF("vmmouse_get_status()\n"); |
... | ... | @@ -201,15 +193,10 @@ static uint32_t vmmouse_ioport_read(void *opaque, uint32_t addr) |
201 | 193 | uint16_t command; |
202 | 194 | |
203 | 195 | vmmouse_get_data(data); |
204 | - if (data[0] != VMMOUSE_MAGIC) | |
205 | - goto error; | |
206 | 196 | |
207 | 197 | command = data[2] & 0xFFFF; |
208 | 198 | |
209 | 199 | switch (command) { |
210 | - case VMMOUSE_GETVERSION: | |
211 | - data[0] = vmmouse_get_version(s, &data[1]); | |
212 | - break; | |
213 | 200 | case VMMOUSE_STATUS: |
214 | 201 | data[0] = vmmouse_get_status(s); |
215 | 202 | break; |
... | ... | @@ -240,7 +227,6 @@ static uint32_t vmmouse_ioport_read(void *opaque, uint32_t addr) |
240 | 227 | break; |
241 | 228 | } |
242 | 229 | |
243 | -error: | |
244 | 230 | vmmouse_set_data(data); |
245 | 231 | return data[0]; |
246 | 232 | } |
... | ... | @@ -292,7 +278,9 @@ void *vmmouse_init(void *m) |
292 | 278 | s->status = 0xffff; |
293 | 279 | s->ps2_mouse = m; |
294 | 280 | |
295 | - register_ioport_read(0x5658, 1, 4, vmmouse_ioport_read, s); | |
281 | + vmport_register(VMMOUSE_STATUS, vmmouse_ioport_read, s); | |
282 | + vmport_register(VMMOUSE_COMMAND, vmmouse_ioport_read, s); | |
283 | + vmport_register(VMMOUSE_DATA, vmmouse_ioport_read, s); | |
296 | 284 | register_savevm("vmmouse", 0, 0, vmmouse_save, vmmouse_load, s); |
297 | 285 | |
298 | 286 | return s; | ... | ... |