Rev 3964 | Rev 4015 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 3964 | Rev 3982 | ||
|---|---|---|---|
| Line 60... | Line 60... | ||
| 60 | #include <arch/debugger.h> |
60 | #include <arch/debugger.h> |
| 61 | #include <proc/thread.h> |
61 | #include <proc/thread.h> |
| 62 | #include <syscall/syscall.h> |
62 | #include <syscall/syscall.h> |
| 63 | #include <console/console.h> |
63 | #include <console/console.h> |
| 64 | #include <ddi/device.h> |
64 | #include <ddi/device.h> |
| - | 65 | #include <sysinfo/sysinfo.h> |
|
| 65 | 66 | ||
| 66 | #ifdef CONFIG_SMP |
67 | #ifdef CONFIG_SMP |
| 67 | #include <arch/smp/apic.h> |
68 | #include <arch/smp/apic.h> |
| 68 | #endif |
69 | #endif |
| 69 | 70 | ||
| Line 122... | Line 123... | ||
| 122 | } |
123 | } |
| 123 | } |
124 | } |
| 124 | 125 | ||
| 125 | void arch_post_smp_init(void) |
126 | void arch_post_smp_init(void) |
| 126 | { |
127 | { |
| 127 | devno_t kbd = device_assign_devno(); |
128 | devno_t devno = device_assign_devno(); |
| 128 | /* keyboard controller */ |
129 | /* keyboard controller */ |
| 129 | (void) i8042_init((i8042_t *) I8042_BASE, kbd, IRQ_KBD); |
130 | (void) i8042_init((i8042_t *) I8042_BASE, devno, IRQ_KBD); |
| - | 131 | ||
| - | 132 | /* |
|
| - | 133 | * This is the necessary evil until the userspace driver is entirely |
|
| - | 134 | * self-sufficient. |
|
| - | 135 | */ |
|
| - | 136 | sysinfo_set_item_val("kbd", NULL, true); |
|
| - | 137 | sysinfo_set_item_val("kbd.devno", NULL, devno); |
|
| - | 138 | sysinfo_set_item_val("kbd.inr", NULL, IRQ_KBD); |
|
| 130 | } |
139 | } |
| 131 | 140 | ||
| 132 | void calibrate_delay_loop(void) |
141 | void calibrate_delay_loop(void) |
| 133 | { |
142 | { |
| 134 | i8254_calibrate_delay_loop(); |
143 | i8254_calibrate_delay_loop(); |