コード例 #1
0
void *ps2_mouse_init(void (*update_irq)(void *, int), void *update_arg)
{
    PS2MouseState *s = (PS2MouseState *)qemu_mallocz(sizeof(PS2MouseState));

    s->common.update_irq = update_irq;
    s->common.update_arg = update_arg;
    ps2_reset(&s->common);
    register_savevm("ps2mouse", 0, 2, ps2_mouse_save, ps2_mouse_load, s);
    qemu_add_mouse_event_handler(ps2_mouse_event, s, 0, "QEMU PS/2 Mouse");
    qemu_register_reset(ps2_reset, &s->common);
    return s;
}
コード例 #2
0
ファイル: ps2.c プロジェクト: hackndev/qemu
void *ps2_kbd_init(void (*update_irq)(void *, int), void *update_arg)
{
    PS2KbdState *s = (PS2KbdState *)qemu_mallocz(sizeof(PS2KbdState));

    s->common.update_irq = update_irq;
    s->common.update_arg = update_arg;
    ps2_reset(&s->common);
    register_savevm("ps2kbd", 0, 2, ps2_kbd_save, ps2_kbd_load, s);
    qemu_add_kbd_event_handler(ps2_put_keycode, s);
    qemu_register_reset(ps2_reset, &s->common);
    return s;
}
コード例 #3
0
ファイル: interrupt_driver.c プロジェクト: gravufo/INF3995
void init_ps2_int()
{
	// Enregistrement des interrupt du core dans le controlleur d'interrupt
	XIntc_RegisterHandler(XPAR_INTC_0_BASEADDR,
			XPAR_XPS_INTC_0_PS2CORE_0_PS2_INTERRUPT_INTR,
			(XInterruptHandler)ps2_event_handler,
			(void*)0);

	// Initialisation des interrupt dans le core.
	ps2_reset((void*)XPAR_PS2CORE_0_BASEADDR);
	ps2_set_enable_interrupts((void*) XPAR_PS2CORE_0_BASEADDR, 1);
	ps2_set_enable_rx_full_intr((void*) XPAR_PS2CORE_0_BASEADDR, 1);
}
コード例 #4
0
void *ps2_kbd_init(void (*update_irq)(void *, int), void *update_arg)
{
    PS2KbdState *s = (PS2KbdState *)qemu_mallocz(sizeof(PS2KbdState));

    s->common.update_irq = update_irq;
    s->common.update_arg = update_arg;
    s->scancode_set = 2;
    ps2_reset(&s->common);
    register_savevm("ps2kbd", 0, 3, ps2_kbd_save, ps2_kbd_load, s);
    gui_register_dev_key_callback(ps2_put_keycode, s);
    qemu_register_reset(ps2_reset, &s->common);
    return s;
}
コード例 #5
0
ファイル: ps2.c プロジェクト: eugenecartwright/hthreads
Hint ps2_create( ps2_t *ps2, ps2_config_t *config )
{
    ps2->reset      = (Hubyte*)(config->base + PS2_RESET);
    ps2->status     = (Hubyte*)(config->base + PS2_STATUS);
    ps2->send       = (Hubyte*)(config->base + PS2_SEND);
    ps2->recv       = (Hubyte*)(config->base + PS2_RECV);
    ps2->intr       = (Hubyte*)(config->base + PS2_INTERRUPTS);
    ps2->clear      = (Hubyte*)(config->base + PS2_CLEAR);
    ps2->enable     = (Hubyte*)(config->base + PS2_ENABLE);
    ps2->disable    = (Hubyte*)(config->base + PS2_DISABLE);

    ps2_reset( ps2 );
    return SUCCESS;
}