From dff0ecfaeb3acba0ea7b82a73d057e60c2a26bc1 Mon Sep 17 00:00:00 2001 From: Daniel F <74267671+DaemonOnUnix@users.noreply.github.com> Date: Wed, 31 Aug 2022 22:37:54 +0200 Subject: [PATCH] fix: lapic periodic mode --- kernel/arch/x86_64/apic.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kernel/arch/x86_64/apic.c b/kernel/arch/x86_64/apic.c index 220d695..26b6ba1 100644 --- a/kernel/arch/x86_64/apic.c +++ b/kernel/arch/x86_64/apic.c @@ -240,7 +240,7 @@ STATUS lapic_timer_init(void) u64 hpet_ticks = hpet_ticks_from_ms(1); lapic_write(LAPIC_TIMER_DIVIDE_CONF, 0x3); /** Clk freq divided by 16 **/ - lapic_write(LAPIC_LVT_TIMER, LAPIC_LVT_TIMER_ONESHOT | LAPIC_LVT_VECTOR(0)); + lapic_write(LAPIC_LVT_TIMER, LAPIC_LVT_TIMER_PERIODIC | LAPIC_LVT_VECTOR(0)); lapic_write(LAPIC_TIMER_INITIAL_COUNT, 0xFFFFFFFF); hpet_wait(hpet_ticks); @@ -251,7 +251,7 @@ STATUS lapic_timer_init(void) lapic_write(LAPIC_TIMER_INITIAL_COUNT, 0x0); lapic_write(LAPIC_LVT_TIMER, - LAPIC_LVT_TIMER_ONESHOT + LAPIC_LVT_TIMER_PERIODIC | LAPIC_LVT_VECTOR(INTERRUPTS_TIMER_OFFSET)); return SUCCESS; @@ -260,4 +260,4 @@ STATUS lapic_timer_init(void) void lapic_timer_set(u32 ms) { lapic_write(LAPIC_TIMER_INITIAL_COUNT, ms * lapic_timer_ticks); -} \ No newline at end of file +}