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=33fdaec3ce90e45ff6d83a90831201ddfa170dcf;hb=cc5c971c3cc498d528a2f74f4dc2f8e27a690311;hpb=fd24baa6eaa3c98cece07189ed34a0943e03d520 diff --git a/src/devices/timer.h b/src/devices/timer.h index 33fdaec..cd3d6bb 100644 --- a/src/devices/timer.h +++ b/src/devices/timer.h @@ -1,16 +1,29 @@ -#ifndef HEADER_TIMER_H -#define HEADER_TIMER_H 1 +#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 /* timer.h */ +#endif /* devices/timer.h */