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=4be2f48dc8cb006be6a691dd1bb4a92996d2b005;hb=cc5c971c3cc498d528a2f74f4dc2f8e27a690311;hpb=750d21936d284127e265d050ccbce76fca1ece1a diff --git a/src/devices/timer.h b/src/devices/timer.h index 4be2f48..cd3d6bb 100644 --- a/src/devices/timer.h +++ b/src/devices/timer.h @@ -1,14 +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); -uint64_t timer_ticks (void); -uint64_t timer_elapsed (uint64_t); +void timer_calibrate (void); -void timer_wait_until (uint64_t); +int64_t timer_ticks (void); +int64_t timer_elapsed (int64_t); -#endif /* timer.h */ +/* 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 */