Subversion Repositories HelenOS-historic

Rev

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

Rev 576 Rev 958
Line 51... Line 51...
51
 
51
 
52
 
52
 
53
#define CLK_CONST   1193180
53
#define CLK_CONST   1193180
54
#define MAGIC_NUMBER    1194
54
#define MAGIC_NUMBER    1194
55
 
55
 
56
static void i8254_interrupt(int n, void *stack);
56
static void i8254_interrupt(int n, istate_t *istate);
57
 
57
 
58
void i8254_init(void)
58
void i8254_init(void)
59
{
59
{
60
    i8254_normal_operation();
60
    i8254_normal_operation();
61
}
61
}
Line 65... Line 65...
65
    outb(CLK_PORT4, 0x36);
65
    outb(CLK_PORT4, 0x36);
66
    pic_disable_irqs(1<<IRQ_CLK);
66
    pic_disable_irqs(1<<IRQ_CLK);
67
    outb(CLK_PORT1, (CLK_CONST/HZ) & 0xf);
67
    outb(CLK_PORT1, (CLK_CONST/HZ) & 0xf);
68
    outb(CLK_PORT1, (CLK_CONST/HZ) >> 8);
68
    outb(CLK_PORT1, (CLK_CONST/HZ) >> 8);
69
    pic_enable_irqs(1<<IRQ_CLK);
69
    pic_enable_irqs(1<<IRQ_CLK);
70
    exc_register(VECTOR_CLK, "i8254_clock", i8254_interrupt);
70
    exc_register(VECTOR_CLK, "i8254_clock", (iroutine) i8254_interrupt);
71
}
71
}
72
 
72
 
73
#define LOOPS 150000
73
#define LOOPS 150000
74
#define SHIFT 11
74
#define SHIFT 11
75
void i8254_calibrate_delay_loop(void)
75
void i8254_calibrate_delay_loop(void)
Line 123... Line 123...
123
    CPU->frequency_mhz = (clk2-clk1)>>SHIFT;
123
    CPU->frequency_mhz = (clk2-clk1)>>SHIFT;
124
 
124
 
125
    return;
125
    return;
126
}
126
}
127
 
127
 
128
void i8254_interrupt(int n, void *stack)
128
void i8254_interrupt(int n, istate_t *istate)
129
{
129
{
130
    trap_virtual_eoi();
130
    trap_virtual_eoi();
131
    clock();
131
    clock();
132
}
132
}