Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 1944 → Rev 1945

/trunk/kernel/arch/ia64/include/ski/ski.h
45,12 → 45,12
extern chardev_t ski_uconsole;
 
extern void ski_init_console(void);
extern void ski_set_console_sysinfo(void);
extern void poll_keyboard(void);
 
extern void ski_kbd_grab(void);
extern void ski_kbd_release(void);
 
extern void kkbdpoll(void *arg);
 
#endif
 
/** @}
/trunk/kernel/arch/ia64/src/ia64.c
86,7 → 86,6
irq_init(INR_COUNT, INR_COUNT);
ski_init_console();
it_init();
ski_set_console_sysinfo();
}
 
void arch_post_cpu_init(void)
99,6 → 98,17
 
void arch_post_smp_init(void)
{
thread_t *t;
 
if (config.cpu_active == 1) {
/*
* Create thread that polls keyboard.
*/
t = thread_create(kkbdpoll, NULL, TASK, 0, "kkbdpoll");
if (!t)
panic("cannot create kkbdpoll\n");
thread_ready(t);
}
}
 
/** Enter userspace and never return. */
/trunk/kernel/arch/ia64/src/ski/ski.c
42,6 → 42,7
#include <ddi/device.h>
#include <ddi/irq.h>
#include <ipc/irq.h>
#include <proc/thread.h>
#include <synch/spinlock.h>
#include <arch/asm.h>
 
123,7 → 124,7
}
 
/** Ask keyboard if a key was pressed. */
void poll_keyboard(void)
static void poll_keyboard(void)
{
char ch;
static char last;
224,16 → 225,6
ski_kbd_irq.claim = ski_kbd_claim;
irq_register(&ski_kbd_irq);
 
}
 
/** Setup console sysinfo (i.e. Keyboard IRQ)
*
* Because sysinfo neads memory allocation/dealocation
* this functions should be called separetely from init.
*
*/
void ski_set_console_sysinfo(void)
{
sysinfo_set_item_val("kbd", NULL, true);
sysinfo_set_item_val("kbd.inr", NULL, SKI_KBD_INR);
sysinfo_set_item_val("kbd.devno", NULL, ski_kbd_devno);
258,5 → 249,17
interrupts_restore(ipl);
}
 
 
#define POLL_INTERVAL 50000 /* 50 ms */
 
/** Kernel thread for polling keyboard. */
void kkbdpoll(void *arg)
{
while (1) {
poll_keyboard();
thread_usleep(POLL_INTERVAL);
}
}
 
/** @}
*/
/trunk/kernel/arch/ia64/src/drivers/it.c
35,7 → 35,6
/** Interval Timer driver. */
#include <arch/drivers/it.h>
#include <arch/ski/ski.h>
#include <arch/interrupt.h>
#include <arch/register.h>
#include <arch/asm.h>
116,12 → 115,6
srlz_d(); /* propagate changes */
clock();
/*
* This one is a good candidate for moving to a separate
* kernel thread private to ski.c
*/
poll_keyboard();
}
 
/** @}