Commit e41c0f263f0daefa338812f161bd59de5a94ccb6
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); | ... | ... |