diff options
| author | Theodore Ts'o <tytso@mit.edu> | 2013-09-21 13:58:22 -0400 |
|---|---|---|
| committer | Moyster <oysterized@gmail.com> | 2016-09-10 12:06:48 +0200 |
| commit | f9f7622978518d7a17e880e3519742d690b89ba5 (patch) | |
| tree | 796584ff2648e682b9bcaf3e4bfbfe910e0aa48b /include/linux | |
| parent | 9ccd037fa0c77d680e1306dfdd0d6bfddf8b05a2 (diff) | |
random: allow architectures to optionally define random_get_entropy()
Allow architectures which have a disabled get_cycles() function to
provide a random_get_entropy() function which provides a fine-grained,
rapidly changing counter that can be used by the /dev/random driver.
For example, an architecture might have a rapidly changing register
used to control random TLB cache eviction, or DRAM refresh that
doesn't meet the requirements of get_cycles(), but which is good
enough for the needs of the random driver.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: stable@vger.kernel.org
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/timex.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/linux/timex.h b/include/linux/timex.h index dd3edd7df..9d3f1a5b6 100644 --- a/include/linux/timex.h +++ b/include/linux/timex.h @@ -64,6 +64,20 @@ #include <asm/timex.h> +#ifndef random_get_entropy +/* + * The random_get_entropy() function is used by the /dev/random driver + * in order to extract entropy via the relative unpredictability of + * when an interrupt takes places versus a high speed, fine-grained + * timing source or cycle counter. Since it will be occurred on every + * single interrupt, it must have a very low cost/overhead. + * + * By default we use get_cycles() for this purpose, but individual + * architectures may override this in their asm/timex.h header file. + */ +#define random_get_entropy() get_cycles() +#endif + /* * SHIFT_PLL is used as a dampening factor to define how much we * adjust the frequency correction for a given offset in PLL mode. |
