Subversion Repositories HelenOS

Rev

Rev 3947 | Rev 3963 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3947 Rev 3958
Line 47... Line 47...
47
#include <arch.h>
47
#include <arch.h>
48
#include <console/chardev.h>
48
#include <console/chardev.h>
49
#include <console/console.h>
49
#include <console/console.h>
50
#include <interrupt.h>
50
#include <interrupt.h>
51
#include <sysinfo/sysinfo.h>
51
#include <sysinfo/sysinfo.h>
52
#include <ipc/irq.h>
-
 
53
 
52
 
54
i8042_instance_t lgcy_i8042_instance = {
53
i8042_instance_t lgcy_i8042_instance = {
55
    .i8042 = (i8042_t *) I8042_BASE,
54
    .i8042 = (i8042_t *) I8042_BASE,
56
};
55
};
57
 
56
 
Line 154... Line 153...
154
    trap_virtual_enable_irqs(1 << kbd_inr);
153
    trap_virtual_enable_irqs(1 << kbd_inr);
155
    trap_virtual_enable_irqs(1 << mouse_inr);
154
    trap_virtual_enable_irqs(1 << mouse_inr);
156
   
155
   
157
    /*
156
    /*
158
     * Clear input buffer.
157
     * Clear input buffer.
159
     * Number of iterations is limited to prevent infinite looping.
-
 
160
     */
158
     */
161
    int i;
-
 
162
    for (i = 0; (pio_read_8(&dev->status) & i8042_BUFFER_FULL_MASK) &&
159
    while (pio_read_8(&dev->status) & i8042_BUFFER_FULL_MASK)
163
        i < 100; i++) {
-
 
164
        (void) pio_read_8(&dev->data);
160
        (void) pio_read_8(&dev->data);
165
    }
-
 
166
   
161
   
-
 
162
    /*
-
 
163
     * This is the necessary evil until the userspace driver is entirely
-
 
164
     * self-sufficient.
-
 
165
     */
167
    sysinfo_set_item_val("kbd", NULL, true);
166
    sysinfo_set_item_val("kbd", NULL, true);
168
    sysinfo_set_item_val("kbd.devno", NULL, kbd_devno);
167
    sysinfo_set_item_val("kbd.devno", NULL, kbd_devno);
169
    sysinfo_set_item_val("kbd.inr", NULL, kbd_inr);
168
    sysinfo_set_item_val("kbd.inr", NULL, kbd_inr);
170
#ifdef KBD_LEGACY
169
#ifdef KBD_LEGACY
171
    sysinfo_set_item_val("kbd.type", NULL, KBD_LEGACY);
170
    sysinfo_set_item_val("kbd.type", NULL, KBD_LEGACY);