Commit e41c0f263f0daefa338812f161bd59de5a94ccb6

Authored by balrog
1 parent 52ccc5e0

Enhance PC kbd debugging (patch from Hervé Poussineau)


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3972 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 9 additions and 6 deletions
hw/pckbd.c
... ... @@ -30,9 +30,6 @@
30 30 /* debug PC keyboard */
31 31 //#define DEBUG_KBD
32 32  
33   -/* debug PC keyboard : only mouse */
34   -//#define DEBUG_MOUSE
35   -
36 33 /* Keyboard Controller Commands */
37 34 #define KBD_CCMD_READ_MODE 0x20 /* Read mode bits */
38 35 #define KBD_CCMD_WRITE_MODE 0x60 /* Write mode bits */
... ... @@ -283,11 +280,17 @@ static void kbd_write_command(void *opaque, uint32_t addr, uint32_t val)
283 280 static uint32_t kbd_read_data(void *opaque, uint32_t addr)
284 281 {
285 282 KBDState *s = opaque;
  283 + uint32_t val;
286 284  
287 285 if (s->pending == KBD_PENDING_AUX)
288   - return ps2_read_data(s->mouse);
  286 + val = ps2_read_data(s->mouse);
  287 + else
  288 + val = ps2_read_data(s->kbd);
289 289  
290   - return ps2_read_data(s->kbd);
  290 +#if defined(DEBUG_KBD)
  291 + printf("kbd: read data=0x%02x\n", val);
  292 +#endif
  293 + return val;
291 294 }
292 295  
293 296 static void kbd_write_data(void *opaque, uint32_t addr, uint32_t val)
... ... @@ -439,7 +442,7 @@ void i8042_mm_init(qemu_irq kbd_irq, qemu_irq mouse_irq,
439 442 kbd_reset(s);
440 443 register_savevm("pckbd", 0, 3, kbd_save, kbd_load, s);
441 444 s_io_memory = cpu_register_io_memory(0, kbd_mm_read, kbd_mm_write, s);
442   - cpu_register_physical_memory(base, 8 << it_shift, s_io_memory);
  445 + cpu_register_physical_memory(base, 2 << it_shift, s_io_memory);
443 446  
444 447 s->kbd = ps2_kbd_init(kbd_update_kbd_irq, s);
445 448 s->mouse = ps2_mouse_init(kbd_update_aux_irq, s);
... ...