Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 575 → Rev 576

/kernel/trunk/arch/ia32/src/drivers/i8259.c
32,6 → 32,7
#include <arch/asm.h>
#include <arch.h>
#include <print.h>
#include <interrupt.h>
 
/*
* This is the PIC driver.
38,6 → 39,8
* Programmable Interrupt Controller for UP systems.
*/
 
static void pic_spurious(int n, void *stack);
 
void i8259_init(void)
{
/* ICW1: this is ICW1, ICW4 to follow */
67,7 → 70,7
/*
* Register interrupt handler for the PIC spurious interrupt.
*/
trap_register(VECTOR_PIC_SPUR, pic_spurious);
exc_register(VECTOR_PIC_SPUR, "pic_spurious", pic_spurious);
 
/*
* Set the enable/disable IRQs handlers.
115,7 → 118,7
outb(0xa0,0x20);
}
 
void pic_spurious(__u8 n, __native stack[])
void pic_spurious(int n, void *stack)
{
printf("cpu%d: PIC spurious interrupt\n", CPU->id);
}
/kernel/trunk/arch/ia32/src/drivers/i8042.c
38,6 → 38,7
#include <console/chardev.h>
#include <console/console.h>
#include <macros.h>
#include <interrupt.h>
 
/**
* i8042 processor driver.
235,10 → 236,12
SPECIAL, /* 0x7f */
};
 
static void i8042_interrupt(int n, void *stack);
 
/** Initialize i8042. */
void i8042_init(void)
{
trap_register(VECTOR_KBD, i8042_interrupt);
exc_register(VECTOR_KBD, "i8042_interrupt", i8042_interrupt);
trap_virtual_enable_irqs(1<<IRQ_KBD);
spinlock_initialize(&keylock, "i8042_lock");
chardev_initialize("i8042_kbd", &kbrd, &ops);
250,7 → 253,7
* @param n Interrupt vector.
* @param stack Interrupted stack.
*/
void i8042_interrupt(__u8 n, __native stack[])
void i8042_interrupt(int n, void *stack)
{
__u8 x;
 
/kernel/trunk/arch/ia32/src/drivers/i8254.c
39,6 → 39,7
#include <arch/cpuid.h>
#include <arch.h>
#include <time/delay.h>
#include <interrupt.h>
 
/*
* i8254 chip driver.
52,6 → 53,8
#define CLK_CONST 1193180
#define MAGIC_NUMBER 1194
 
static void i8254_interrupt(int n, void *stack);
 
void i8254_init(void)
{
i8254_normal_operation();
64,7 → 67,7
outb(CLK_PORT1, (CLK_CONST/HZ) & 0xf);
outb(CLK_PORT1, (CLK_CONST/HZ) >> 8);
pic_enable_irqs(1<<IRQ_CLK);
trap_register(VECTOR_CLK, i8254_interrupt);
exc_register(VECTOR_CLK, "i8254_clock", i8254_interrupt);
}
 
#define LOOPS 150000
122,7 → 125,7
return;
}
 
void i8254_interrupt(__u8 n, __native stack[])
void i8254_interrupt(int n, void *stack)
{
trap_virtual_eoi();
clock();