Commit 93342807901077d49c098b7b4d5897674d8c17c7

Authored by ths
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
@@ -692,6 +692,7 @@ static void pc_init1(int ram_size, int vga_ram_size, int boot_device, @@ -692,6 +692,7 @@ static void pc_init1(int ram_size, int vga_ram_size, int boot_device,
692 if (pci_enabled) { 692 if (pci_enabled) {
693 apic_init(env); 693 apic_init(env);
694 } 694 }
  695 + vmport_init(env);
695 } 696 }
696 697
697 /* allocate RAM */ 698 /* allocate RAM */
hw/vmmouse.c
@@ -39,7 +39,6 @@ @@ -39,7 +39,6 @@
39 39
40 #define VMMOUSE_QUEUE_SIZE 1024 40 #define VMMOUSE_QUEUE_SIZE 1024
41 41
42 -#define VMMOUSE_MAGIC 0x564D5868  
43 #define VMMOUSE_VERSION 0x3442554a 42 #define VMMOUSE_VERSION 0x3442554a
44 43
45 #ifdef DEBUG_VMMOUSE 44 #ifdef DEBUG_VMMOUSE
@@ -58,13 +57,6 @@ typedef struct _VMMouseState @@ -58,13 +57,6 @@ typedef struct _VMMouseState
58 void *ps2_mouse; 57 void *ps2_mouse;
59 } VMMouseState; 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 static uint32_t vmmouse_get_status(VMMouseState *s) 60 static uint32_t vmmouse_get_status(VMMouseState *s)
69 { 61 {
70 DPRINTF("vmmouse_get_status()\n"); 62 DPRINTF("vmmouse_get_status()\n");
@@ -201,15 +193,10 @@ static uint32_t vmmouse_ioport_read(void *opaque, uint32_t addr) @@ -201,15 +193,10 @@ static uint32_t vmmouse_ioport_read(void *opaque, uint32_t addr)
201 uint16_t command; 193 uint16_t command;
202 194
203 vmmouse_get_data(data); 195 vmmouse_get_data(data);
204 - if (data[0] != VMMOUSE_MAGIC)  
205 - goto error;  
206 196
207 command = data[2] & 0xFFFF; 197 command = data[2] & 0xFFFF;
208 198
209 switch (command) { 199 switch (command) {
210 - case VMMOUSE_GETVERSION:  
211 - data[0] = vmmouse_get_version(s, &data[1]);  
212 - break;  
213 case VMMOUSE_STATUS: 200 case VMMOUSE_STATUS:
214 data[0] = vmmouse_get_status(s); 201 data[0] = vmmouse_get_status(s);
215 break; 202 break;
@@ -240,7 +227,6 @@ static uint32_t vmmouse_ioport_read(void *opaque, uint32_t addr) @@ -240,7 +227,6 @@ static uint32_t vmmouse_ioport_read(void *opaque, uint32_t addr)
240 break; 227 break;
241 } 228 }
242 229
243 -error:  
244 vmmouse_set_data(data); 230 vmmouse_set_data(data);
245 return data[0]; 231 return data[0];
246 } 232 }
@@ -292,7 +278,9 @@ void *vmmouse_init(void *m) @@ -292,7 +278,9 @@ void *vmmouse_init(void *m)
292 s->status = 0xffff; 278 s->status = 0xffff;
293 s->ps2_mouse = m; 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 register_savevm("vmmouse", 0, 0, vmmouse_save, vmmouse_load, s); 284 register_savevm("vmmouse", 0, 0, vmmouse_save, vmmouse_load, s);
297 285
298 return s; 286 return s;