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=ba736d2a28d6d7e23c9ce41d4da06006f2877554;hb=cc5c971c3cc498d528a2f74f4dc2f8e27a690311;hpb=6916b246f3be8c72d6e77fd98c4a1447fd2c1de7 diff --git a/src/devices/timer.h b/src/devices/timer.h index ba736d2..cd3d6bb 100644 --- a/src/devices/timer.h +++ b/src/devices/timer.h @@ -1,16 +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 */