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 |