Subversion Repositories HelenOS-historic

Rev

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

Rev 894 Rev 895
Line 29... Line 29...
29
#include <arch/console.h>
29
#include <arch/console.h>
30
#include <arch/types.h>
30
#include <arch/types.h>
31
#include <typedefs.h>
31
#include <typedefs.h>
32
#include <genarch/fb/fb.h>
32
#include <genarch/fb/fb.h>
33
#include <arch/drivers/fb.h>
33
#include <arch/drivers/fb.h>
34
#include <arch/drivers/keyboard.h>
34
#include <arch/drivers/i8042.h>
-
 
35
#include <genarch/i8042/i8042.h>
35
#include <genarch/ofw/ofw.h>
36
#include <genarch/ofw/ofw.h>
36
#include <console/chardev.h>
37
#include <console/chardev.h>
37
#include <console/console.h>
38
#include <console/console.h>
38
#include <arch/asm.h>
39
#include <arch/asm.h>
39
#include <arch/register.h>
40
#include <arch/register.h>
40
#include <proc/thread.h>
41
#include <proc/thread.h>
41
#include <synch/mutex.h>
42
#include <synch/mutex.h>
42
 
43
 
-
 
44
#define KEYBOARD_POLL_PAUSE 50000   /* 50ms */
-
 
45
 
43
static void ofw_sparc64_putchar(chardev_t *d, const char ch);
46
static void ofw_sparc64_putchar(chardev_t *d, const char ch);
44
static char ofw_sparc64_getchar(chardev_t *d);
47
static char ofw_sparc64_getchar(chardev_t *d);
45
static void ofw_sparc64_suspend(chardev_t *d);
48
static void ofw_sparc64_suspend(chardev_t *d);
46
static void ofw_sparc64_resume(chardev_t *d);
49
static void ofw_sparc64_resume(chardev_t *d);
47
 
50
 
Line 71... Line 74...
71
void standalone_sparc64_console_init(void)
74
void standalone_sparc64_console_init(void)
72
{
75
{
73
    ofw_console_active = 0;
76
    ofw_console_active = 0;
74
    stdin = NULL;
77
    stdin = NULL;
75
    fb_init(FB_VIRT_ADDRESS, FB_X_RES, FB_Y_RES, FB_COLOR_DEPTH/8);
78
    fb_init(FB_VIRT_ADDRESS, FB_X_RES, FB_Y_RES, FB_COLOR_DEPTH/8);
-
 
79
    i8042_init();
76
}
80
}
77
 
81
 
78
/** Write one character using OpenFirmware.
82
/** Write one character using OpenFirmware.
79
 *
83
 *
80
 * @param d Character device (ignored).
84
 * @param d Character device (ignored).
Line 153... Line 157...
153
        if (ch) {
157
        if (ch) {
154
            if (ch == '\r')
158
            if (ch == '\r')
155
                ch = '\n';
159
                ch = '\n';
156
            chardev_push_character(&ofw_sparc64_console, ch);
160
            chardev_push_character(&ofw_sparc64_console, ch);
157
        }
161
        }
158
        thread_usleep(25000);
162
        thread_usleep(KEYBOARD_POLL_PAUSE);
-
 
163
    }
-
 
164
}
-
 
165
 
-
 
166
/** Kernel thread for polling keyboard.
-
 
167
 *
-
 
168
 * @param arg Ignored.
-
 
169
 */
-
 
170
void kkbdpoll(void *arg)
-
 
171
{
-
 
172
    while (1) {
-
 
173
        i8042_poll();      
-
 
174
        thread_usleep(KEYBOARD_POLL_PAUSE);
159
    }
175
    }
160
}
176
}