From a18da25e7355979d0f26cfd39dc0032172e8b135 Mon Sep 17 00:00:00 2001 From: Anton Kling Date: Thu, 22 Feb 2024 17:28:08 +0100 Subject: Kernel: Fix undefined behavior and cleanup functions. The int_syscall caused crashes for higher level of optimizations. To fix this I rewrote the function in assembly as I deemed it to be simpler. --- kernel/drivers/pit.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'kernel/drivers/pit.c') diff --git a/kernel/drivers/pit.c b/kernel/drivers/pit.c index 060fc54..30fd3ed 100644 --- a/kernel/drivers/pit.c +++ b/kernel/drivers/pit.c @@ -43,8 +43,8 @@ void set_pit_count(u16 _hertz) { outb(PIT_IO_CHANNEL_0, (divisor & 0xFF00) >> 8); } -void int_clock(reg_t regs) { - outb(0x20, 0x20); +void int_clock(reg_t *regs) { + EOI(0x20); pit_counter++; if (pit_counter * 1000 >= hertz) { pit_counter = 0; -- cgit v1.2.3