X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/2236410f4582ab45ae8c384dd6eeeef5d10aab15..9eed27f6f2f002145667fb4abfc5e476b53630e5:/lunaix-os/hal/timer/apic_timer.c?ds=sidebyside 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*