X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?p=pintos-anon;a=blobdiff_plain;f=src%2Fdevices%2Ftimer.h;h=cd3d6bbfeb8d94046224d2676326705247f4a710;hp=5807b0fb253d1dace47cd211990b0cc6d4dffe99;hb=cc5c971c3cc498d528a2f74f4dc2f8e27a690311;hpb=ee5dd97cbba35afbe9a6e3415945b4c4c8591a89 diff --git a/src/devices/timer.h b/src/devices/timer.h index 5807b0f..cd3d6bb 100644 --- a/src/devices/timer.h +++ b/src/devices/timer.h @@ -1,17 +1,29 @@ #ifndef DEVICES_TIMER_H #define DEVICES_TIMER_H +#include #include /* Number of timer interrupts per second. */ #define TIMER_FREQ 100 void timer_init (void); +void timer_calibrate (void); + int64_t timer_ticks (void); int64_t timer_elapsed (int64_t); -void timer_msleep (int64_t ms); -void timer_usleep (int64_t us); -void timer_nsleep (int64_t ns); +/* Sleep and yield the CPU to other threads. */ +void timer_sleep (int64_t ticks); +void timer_msleep (int64_t milliseconds); +void timer_usleep (int64_t microseconds); +void timer_nsleep (int64_t nanoseconds); + +/* Busy waits. */ +void timer_mdelay (int64_t milliseconds); +void timer_udelay (int64_t microseconds); +void timer_ndelay (int64_t nanoseconds); + +void timer_print_stats (void); #endif /* devices/timer.h */