• Ralf Baechle's avatar
    [MIPS] Change get_cycles to always return 0. · efb9ca08
    Ralf Baechle authored
    This avoids us executing an mfc0 c0_count instruction on processors which
    don't have but also on certain R4000 and R4400 versions where reading from
    the count register just in the very moment when its value equals
    c0_compare will result in the timer interrupt getting lost.
    
    There is still a number of users of get_cycles remaining outside the
    arch code:
    
    crypto/tcrypt.c:                start = get_cycles();
    crypto/tcrypt.c:                end = get_cycles();
    crypto/tcrypt.c:                start = get_cycles();
    crypto/tcrypt.c:                end = get_cycles();
    crypto/tcrypt.c:                start = get_cycles();
    crypto/tcrypt.c:                end = get_cycles();
    drivers/char/hangcheck-timer.c: return get_cycles();
    drivers/char/hangcheck-timer.c: printk("Hangcheck: Using get_cycles().\n");
    drivers/char/random.c:  sample.cycles = get_cycles();
    drivers/input/joystick/analog.c:#define GET_TIME(x)     do { x = get_cycles(); }
    include/linux/arcdevice.h:          _x = get_cycles(); \
    include/linux/arcdevice.h:          _y = get_cycles(); \
    mm/slub.c:      if (!s->defrag_ratio || get_cycles() % 1024 > s->defrag_ratio)
    mm/slub.c:      p += 64 + (get_cycles() & 0xff) * sizeof(void *);
    Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
    efb9ca08
timex.h 1.04 KB