new 64b kernel memory map (not userspace yet)
[akaros.git] / kern / arch / i686 / apic.c
index 57bbee8..c6411e7 100644 (file)
@@ -86,14 +86,15 @@ void lapic_set_timer(uint32_t usec, bool periodic)
 {
        // divide the bus clock by 128, which is the max.
        uint32_t ticks = (usec * system_timing.bus_freq / 128) / 1000000;
+       assert(ticks > 0);
        __lapic_set_timer(ticks, LAPIC_TIMER_DEFAULT_VECTOR, periodic,
                          LAPIC_TIMER_DEFAULT_DIVISOR);
 }
 
-void set_timer(uint32_t usec)
+void set_core_timer(uint32_t usec, bool periodic)
 {
        if (usec)
-               lapic_set_timer(usec, TRUE);
+               lapic_set_timer(usec, periodic);
        else
                lapic_disable_timer();
 }