Ejemplo n.º 1
0
void arch_post_smp_init(void)
{
	/* Currently the only supported platform for ia32 is 'pc'. */
	static const char *platform = "pc";

	sysinfo_set_item_data("platform", NULL, (void *) platform,
	    str_size(platform));

#ifdef CONFIG_PC_KBD
	/*
	 * Initialize the i8042 controller. Then initialize the keyboard
	 * module and connect it to i8042. Enable keyboard interrupts.
	 */
	i8042_instance_t *i8042_instance = i8042_init((i8042_t *) I8042_BASE, IRQ_KBD);
	if (i8042_instance) {
		kbrd_instance_t *kbrd_instance = kbrd_init();
		if (kbrd_instance) {
			indev_t *sink = stdin_wire();
			indev_t *kbrd = kbrd_wire(kbrd_instance, sink);
			i8042_wire(i8042_instance, kbrd);
			trap_virtual_enable_irqs(1 << IRQ_KBD);
			trap_virtual_enable_irqs(1 << IRQ_MOUSE);
		}
	}
#endif
	
	if (irqs_info != NULL)
		sysinfo_set_item_val(irqs_info, NULL, true);
}
Ejemplo n.º 2
0
static void raspberrypi_input_init(void)
{
	srln_instance_t *srln_instance = srln_init();
	if (srln_instance) {
		indev_t *sink = stdin_wire();
		indev_t *srln = srln_wire(srln_instance, sink);

		pl011_uart_input_wire(&raspi.uart, srln);
		bcm2835_irc_enable(raspi.irc, BCM2835_UART_IRQ);
	}
}
Ejemplo n.º 3
0
void malta_input_init(void)
{
	(void) stdin_wire();
}