Revision d7d02e3c hw/pckbd.c

b/hw/pckbd.c
139 139
} KBDState;
140 140

  
141 141
KBDState kbd_state;
142
int reset_requested;
143 142

  
144 143
/* update irq and KBD_STAT_[MOUSE_]OBF */
145 144
/* XXX: not generating the irqs if KBD_MODE_DISABLE_KBD is set may be
......
274 273
        break;
275 274
#endif
276 275
    case KBD_CCMD_RESET:
277
        reset_requested = 1;
278
        cpu_interrupt(cpu_single_env, CPU_INTERRUPT_EXIT);
276
        qemu_system_reset_request();
279 277
        break;
280 278
    case 0xff:
281 279
        /* ignore that - I don't know what is its use */
......
617 615
        cpu_x86_set_a20(cpu_single_env, (val >> 1) & 1);
618 616
#endif
619 617
        if (!(val & 1)) {
620
            reset_requested = 1;
621
            cpu_interrupt(cpu_single_env, CPU_INTERRUPT_EXIT);
618
            qemu_system_reset_request();
622 619
        }
623 620
        break;
624 621
    case KBD_CCMD_WRITE_MOUSE:
......
630 627
    s->write_cmd = 0;
631 628
}
632 629

  
633
void kbd_reset(KBDState *s)
630
static void kbd_reset(void *opaque)
634 631
{
632
    KBDState *s = opaque;
635 633
    KBDQueue *q;
636 634

  
637 635
    s->kbd_write_cmd = -1;
......
656 654

  
657 655
    qemu_add_kbd_event_handler(pc_kbd_put_keycode, s);
658 656
    qemu_add_mouse_event_handler(pc_kbd_mouse_event, s);
657
    qemu_register_reset(kbd_reset, s);
659 658
}

Also available in: Unified diff