Rev 3963 | Rev 4017 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 3963 | Rev 3982 | ||
|---|---|---|---|
| Line 61... | Line 61... | ||
| 61 | #include <arch/debugger.h> |
61 | #include <arch/debugger.h> |
| 62 | #include <syscall/syscall.h> |
62 | #include <syscall/syscall.h> |
| 63 | #include <console/console.h> |
63 | #include <console/console.h> |
| 64 | #include <ddi/irq.h> |
64 | #include <ddi/irq.h> |
| 65 | #include <ddi/device.h> |
65 | #include <ddi/device.h> |
| - | 66 | #include <sysinfo/sysinfo.h> |
|
| 66 | 67 | ||
| 67 | 68 | ||
| 68 | /** Disable I/O on non-privileged levels |
69 | /** Disable I/O on non-privileged levels |
| 69 | * |
70 | * |
| 70 | * Clean IOPL(12,13) and NT(14) flags in EFLAGS register |
71 | * Clean IOPL(12,13) and NT(14) flags in EFLAGS register |
| Line 171... | Line 172... | ||
| 171 | } |
172 | } |
| 172 | } |
173 | } |
| 173 | 174 | ||
| 174 | void arch_post_smp_init(void) |
175 | void arch_post_smp_init(void) |
| 175 | { |
176 | { |
| - | 177 | devno_t devno = device_assign_devno(); |
|
| 176 | /* keyboard controller */ |
178 | /* keyboard controller */ |
| 177 | (void) i8042_init((i8042_t *) I8042_BASE, device_assign_devno(), |
179 | (void) i8042_init((i8042_t *) I8042_BASE, devno, IRQ_KBD); |
| - | 180 | ||
| - | 181 | /* |
|
| - | 182 | * This is the necessary evil until the userspace driver is entirely |
|
| 178 | IRQ_KBD); |
183 | * self-sufficient. |
| - | 184 | */ |
|
| - | 185 | sysinfo_set_item_val("kbd", NULL, true); |
|
| - | 186 | sysinfo_set_item_val("kbd.devno", NULL, devno); |
|
| - | 187 | sysinfo_set_item_val("kbd.inr", NULL, IRQ_KBD); |
|
| 179 | } |
188 | } |
| 180 | 189 | ||
| 181 | void calibrate_delay_loop(void) |
190 | void calibrate_delay_loop(void) |
| 182 | { |
191 | { |
| 183 | i8254_calibrate_delay_loop(); |
192 | i8254_calibrate_delay_loop(); |