Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 4342 → Rev 4343

/branches/dynload/kernel/arch/ia64/src/ia64.c
148,36 → 148,13
{
}
 
 
#ifdef I460GX
#define POLL_INTERVAL 50000 /* 50 ms */
/** Kernel thread for polling keyboard. */
static void i8042_kkbdpoll(void *arg)
{
while (1) {
#ifdef CONFIG_NS16550
#ifndef CONFIG_NS16550_INTERRUPT_DRIVEN
ns16550_poll();
#endif
#else
#ifndef CONFIG_I8042_INTERRUPT_DRIVEN
i8042_poll();
#endif
#endif
thread_usleep(POLL_INTERVAL);
}
}
#endif
 
void arch_post_smp_init(void)
{
thread_t *t;
 
/*
* Create thread that polls keyboard.
*/
#ifdef SKI
t = thread_create(kkbdpoll, NULL, TASK, 0, "kkbdpoll", true);
thread_t *t = thread_create(kkbdpoll, NULL, TASK, 0, "kkbdpoll", true);
if (!t)
panic("Cannot create kkbdpoll.");
thread_ready(t);
192,10 → 169,6
devno_t mouse = device_assign_devno();
i8042_init(kbd, IRQ_KBD, mouse, IRQ_MOUSE);
#endif
t = thread_create(i8042_kkbdpoll, NULL, TASK, 0, "kkbdpoll", true);
if (!t)
panic("Cannot create kkbdpoll.");
thread_ready(t);
#endif
 
sysinfo_set_item_val("ia64_iospace", NULL, true);
276,7 → 249,7
 
void arch_reboot(void)
{
outb(0x64, 0xfe);
pio_write_8(0x64, 0xfe);
while (1)
;
}
/branches/dynload/kernel/arch/ia64/src/ski/ski.c
186,7 → 186,7
*
* @return Always IRQ_DECLINE.
*/
static irq_ownership_t ski_kbd_claim(void)
static irq_ownership_t ski_kbd_claim(void *instance)
{
return IRQ_DECLINE;
}
/branches/dynload/kernel/arch/ia64/src/mm/frame.c
51,6 → 51,7
#define MINCONF 1
 
uintptr_t last_frame = 0;
uintptr_t end_frame = 0;
 
void frame_arch_init(void)
{
/branches/dynload/kernel/arch/ia64/src/mm/page.c
274,5 → 274,11
return PA2KA(physaddr);
}
 
void hw_area(uintptr_t *physaddr, pfn_t *frames)
{
*physaddr = end_frame;
*frames = ADDR2PFN(0x7fffffffffffffffUL - end_frame);
}
 
/** @}
*/
/branches/dynload/kernel/arch/ia64/src/interrupt.c
266,7 → 266,7
case INTERRUPT_TIMER:
irq = irq_dispatch_and_lock(ivr.vector);
if (irq) {
irq->handler(irq, irq->arg);
irq->handler(irq);
spinlock_unlock(&irq->lock);
} else {
panic("Unhandled Internal Timer Interrupt (%d).",
283,7 → 283,7
/* Send EOI before processing the interrupt */
end_of_local_irq();
}
irq->handler(irq, irq->arg);
irq->handler(irq);
if (!irq->preack)
end_of_local_irq();
spinlock_unlock(&irq->lock);
/branches/dynload/kernel/arch/ia64/src/drivers/it.c
56,8 → 56,8
 
static irq_t it_irq;
 
static irq_ownership_t it_claim(void);
static void it_interrupt(irq_t *irq, void *arg, ...);
static irq_ownership_t it_claim(void *);
static void it_interrupt(irq_t *irq);
 
/** Initialize Interval Timer. */
void it_init(void)
104,13 → 104,13
*
* @return Always IRQ_ACCEPT.
*/
irq_ownership_t it_claim(void)
irq_ownership_t it_claim(void *instance)
{
return IRQ_ACCEPT;
}
 
/** Process Interval Timer interrupt. */
void it_interrupt(irq_t *irq, void *arg, ...)
void it_interrupt(irq_t *irq)
{
int64_t c;
int64_t m;