39,7 → 39,7 |
#include <config.h> |
|
#include <proc/thread.h> |
#include <arch/drivers/ega.h> |
#include <genarch/drivers/legacy/ia32/io.h> |
#include <genarch/drivers/ega/ega.h> |
#include <arch/drivers/vesa.h> |
#include <genarch/kbd/i8042.h> |
63,6 → 63,7 |
#include <console/console.h> |
#include <ddi/irq.h> |
#include <ddi/device.h> |
#include <sysinfo/sysinfo.h> |
|
|
/** Disable I/O on non-privileged levels |
173,8 → 174,17 |
|
void arch_post_smp_init(void) |
{ |
devno_t devno = device_assign_devno(); |
/* keyboard controller */ |
i8042_init(device_assign_devno(), IRQ_KBD, device_assign_devno(), IRQ_MOUSE); |
(void) i8042_init((i8042_t *) I8042_BASE, devno, IRQ_KBD); |
|
/* |
* This is the necessary evil until the userspace driver is entirely |
* self-sufficient. |
*/ |
sysinfo_set_item_val("kbd", NULL, true); |
sysinfo_set_item_val("kbd.devno", NULL, devno); |
sysinfo_set_item_val("kbd.inr", NULL, IRQ_KBD); |
} |
|
void calibrate_delay_loop(void) |
214,8 → 224,6 |
#else |
ega_redraw(); |
#endif |
|
i8042_grab(); |
} |
|
/** Return console to userspace |
223,7 → 231,6 |
*/ |
void arch_release_console(void) |
{ |
i8042_release(); |
} |
|
/** Construct function pointer |