diff options
author | Jordan Crouse <jordan.crouse@amd.com> | 2008-08-28 23:12:22 +0000 |
---|---|---|
committer | Jordan Crouse <jordan.crouse@amd.com> | 2008-08-28 23:12:22 +0000 |
commit | b746178e659df1added87d7f5011f79114fd60b1 (patch) | |
tree | cff7ce41b6c6e153424d86777c4e2af17f738b98 | |
parent | 483926648ebc7b0ac937a6692dc2329113d65dd9 (diff) | |
download | coreboot-b746178e659df1added87d7f5011f79114fd60b1.tar.xz |
[PATCH]: libpayload: Document the architecture specific routines
No code changes.
Signed-off-by: Jordan Crouse <jordan.crouse@amd.com>
Acked-by: Jordan Crouse <jordan.crouse@amd.com>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3552 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rw-r--r-- | payloads/libpayload/i386/timer.c | 26 | ||||
-rw-r--r-- | payloads/libpayload/include/libpayload.h | 11 |
2 files changed, 35 insertions, 2 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); diff --git a/payloads/libpayload/include/libpayload.h b/payloads/libpayload/include/libpayload.h index 3351fd4927..96eaef2841 100644 --- a/payloads/libpayload/include/libpayload.h +++ b/payloads/libpayload/include/libpayload.h @@ -244,6 +244,7 @@ long int labs(long int j); long long int llabs(long long int j); u8 bin2hex(u8 b); u8 hex2bin(u8 h); +void fatal(const char* msg) __attribute__ ((noreturn)); /** @} */ /** @@ -398,6 +399,8 @@ int lfclose(struct LFILE *file); /** * @defgroup arch Architecture Specific Functions + * This modules contains global architecure specific functions. + * All architectures are expected to define these functions. * @{ */ int get_coreboot_info(struct sysinfo_t *info); @@ -411,9 +414,13 @@ void udelay(unsigned int n); void mdelay(unsigned int n); void delay(unsigned int n); -#define abort() halt() +#define abort() halt() /**< Alias for the halt() function */ + +/** + * Stops executions and halts the processor. This function does + * not return. + */ void halt(void) __attribute__ ((noreturn)); -void fatal(const char* msg) __attribute__ ((noreturn)); /** @} */ /** |