]>
git.dujemihanovic.xyz Git - nameless-os.git/blob - kernel/arch/x86/time/i8254.c
1 #include <time/i8254.h>
5 void i8254_configure_channel(char channel
, char opmode
, uint16_t new_reload
)
7 union mode_command command
;
9 command
.fields
.bcd
= 0;
10 command
.fields
.channel
= channel
;
11 command
.fields
.acmode
= ACMODE_LSB_MSB
;
12 command
.fields
.opmode
= opmode
;
14 outb(PORT_MODE_CMD_REG
, command
.command
);
18 outb(PORT_CHANNEL_0_DATA
, new_reload
& 0xff);
19 outb(PORT_CHANNEL_0_DATA
, new_reload
>> 8);
22 outb(PORT_CHANNEL_1_DATA
, new_reload
& 0xff);
23 outb(PORT_CHANNEL_1_DATA
, new_reload
>> 8);
26 outb(PORT_CHANNEL_2_DATA
, new_reload
& 0xff);
27 outb(PORT_CHANNEL_2_DATA
, new_reload
>> 8);
34 void i8254_irq_enable()