X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/2236410f4582ab45ae8c384dd6eeeef5d10aab15..6c506d8916fb114675e93d0e2cb20831d4022294:/lunaix-os/hal/timer/apic_timer.c?ds=inline diff --git a/lunaix-os/hal/timer/apic_timer.c b/lunaix-os/hal/timer/apic_timer.c index 8ec8747..97f9744 100644 --- a/lunaix-os/hal/timer/apic_timer.c +++ b/lunaix-os/hal/timer/apic_timer.c @@ -137,14 +137,13 @@ apic_timer_init(struct hwtimer* timer, u32_t hertz, timer_tick_cb timer_cb) // cleanup isrm_ivfree(iv_timer); + ticks_t tphz = base_freq / frequency; + timer->base_freq = base_freq; + apic_write_reg(APIC_TIMER_ICR, tphz); + apic_write_reg( APIC_TIMER_LVT, LVT_ENTRY_TIMER(isrm_ivexalloc(apic_timer_tick_isr), LVT_TIMER_PERIODIC)); - - timer->base_freq = base_freq; - - ticks_t tphz = base_freq / frequency; - apic_write_reg(APIC_TIMER_ICR, tphz); } struct hwtimer*