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