diff options
Diffstat (limited to 'payloads/libpayload/i386/timer.c')
-rw-r--r-- | payloads/libpayload/i386/timer.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/payloads/libpayload/i386/timer.c b/payloads/libpayload/i386/timer.c index 260656cfe3..46d21cc6ae 100644 --- a/payloads/libpayload/i386/timer.c +++ b/payloads/libpayload/i386/timer.c @@ -27,9 +27,17 @@ * SUCH DAMAGE. */ +/** @file i386/timer.c + * @brief i386 specific timer routines + */ + #include <libpayload.h> #include <arch/rdtsc.h> +/** + * @ingroup arch + * Global variable containing the speed of the processor in KHz + */ u32 cpu_khz; /** @@ -72,21 +80,39 @@ static inline void _delay(unsigned int delta) while (rdtsc() < timeout) ; } +/** + * Delay for a specified number of nanoseconds + * @param n Number of nanoseconds to delay for + */ void ndelay(unsigned int n) { _delay(n * cpu_khz / 1000000); } +/** + * Delay for a specified number of microseconds + * @param n Number of microseconds to delay for + */ void udelay(unsigned int n) { _delay(n * cpu_khz / 1000); } +/** + * Delay for a specified number of milliseconds + * @param n Number of milliseconds to delay for + */ + void mdelay(unsigned int m) { _delay(m * cpu_khz); } +/** + * Delay for a specified number of seconds + * @param n Number of seconds to delay for + */ + void delay(unsigned int s) { _delay(s * cpu_khz * 1000); |