• Jason A. Donenfeld's avatar
    mips: use fallback for random_get_entropy() instead of just c0 random · 1c99c6a7
    Jason A. Donenfeld authored
    For situations in which we don't have a c0 counter register available,
    we've been falling back to reading the c0 "random" register, which is
    usually bounded by the amount of TLB entries and changes every other
    cycle or so. This means it wraps extremely often. We can do better by
    combining this fast-changing counter with a potentially slower-changing
    counter from random_get_entropy_fallback() in the more significant bits.
    This commit combines the two, taking into account that the changing bits
    are in a different bit position depending on the CPU model. In addition,
    we previously were falling back to 0 for ancient CPUs that Linux does
    not support anyway; remove that dead path entirely.
    
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Tested-by: default avatarMaciej W. Rozycki <macro@orcam.me.uk>
    Acked-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
    Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
    1c99c6a7
timex.h 2.87 KB