Rev 3964 | Rev 4022 | 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(); |