Rev 4346 | Rev 4348 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 4346 | Rev 4347 | ||
|---|---|---|---|
| Line 34... | Line 34... | ||
| 34 | */ |
34 | */ |
| 35 | 35 | ||
| 36 | #include <arch.h> |
36 | #include <arch.h> |
| 37 | #include <config.h> |
37 | #include <config.h> |
| 38 | #include <arch/console.h> |
38 | #include <arch/console.h> |
| 39 | #include <ddi/device.h> |
- | |
| 40 | #include <genarch/fb/fb.h> |
39 | #include <genarch/fb/fb.h> |
| 41 | #include <genarch/fb/visuals.h> |
40 | #include <genarch/fb/visuals.h> |
| 42 | #include <genarch/drivers/dsrln/dsrlnin.h> |
41 | #include <genarch/drivers/dsrln/dsrlnin.h> |
| 43 | #include <genarch/drivers/dsrln/dsrlnout.h> |
42 | #include <genarch/drivers/dsrln/dsrlnout.h> |
| 44 | #include <genarch/srln/srln.h> |
43 | #include <genarch/srln/srln.h> |
| Line 126... | Line 125... | ||
| 126 | * Currently the function is empty because SMP is not supported. |
125 | * Currently the function is empty because SMP is not supported. |
| 127 | */ |
126 | */ |
| 128 | void arch_post_smp_init(void) |
127 | void arch_post_smp_init(void) |
| 129 | { |
128 | { |
| 130 | #ifdef CONFIG_ARM_KBD |
129 | #ifdef CONFIG_ARM_KBD |
| 131 | devno_t devno = device_assign_devno(); |
- | |
| 132 | - | ||
| 133 | /* |
130 | /* |
| 134 | * Initialize the msim/GXemul keyboard port. Then initialize the serial line |
131 | * Initialize the msim/GXemul keyboard port. Then initialize the serial line |
| 135 | * module and connect it to the msim/GXemul keyboard. Enable keyboard interrupts. |
132 | * module and connect it to the msim/GXemul keyboard. Enable keyboard interrupts. |
| 136 | */ |
133 | */ |
| 137 | indev_t *kbrdin = dsrlnin_init((dsrlnin_t *) gxemul_kbd, devno, GXEMUL_KBD_IRQ); |
134 | indev_t *kbrdin = dsrlnin_init((dsrlnin_t *) gxemul_kbd, GXEMUL_KBD_IRQ); |
| 138 | if (kbrdin) |
135 | if (kbrdin) |
| 139 | srln_init(kbrdin); |
136 | srln_init(kbrdin); |
| 140 | 137 | ||
| 141 | /* |
138 | /* |
| 142 | * This is the necessary evil until the userspace driver is entirely |
139 | * This is the necessary evil until the userspace driver is entirely |
| 143 | * self-sufficient. |
140 | * self-sufficient. |
| 144 | */ |
141 | */ |
| 145 | sysinfo_set_item_val("kbd", NULL, true); |
142 | sysinfo_set_item_val("kbd", NULL, true); |
| 146 | sysinfo_set_item_val("kbd.devno", NULL, devno); |
- | |
| 147 | sysinfo_set_item_val("kbd.inr", NULL, GXEMUL_KBD_IRQ); |
143 | sysinfo_set_item_val("kbd.inr", NULL, GXEMUL_KBD_IRQ); |
| 148 | sysinfo_set_item_val("kbd.address.virtual", NULL, (unative_t) gxemul_kbd); |
144 | sysinfo_set_item_val("kbd.address.virtual", NULL, (unative_t) gxemul_kbd); |
| 149 | #endif |
145 | #endif |
| 150 | } |
146 | } |
| 151 | 147 | ||