Subversion Repositories HelenOS

Rev

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