cpu_has_tsc
Subsystems (2)
PATCH 1/1 cpu_has_tsc
This patch converts drivers/char/random.c and drivers/input/joystick/analog.c to use the cpu_has_tsc macro.
--
Brian Gerst
drivers/char/random.c +2 -6
@@ -735,18 +735,14 @@__s32 delta, delta2, delta3;int entropy =0 ; -#if defined (__i386__) -if (test_bit (X86_FEATURE_TSC , boot_cpu_data.x86_capability) ) { +#if defined (__i386__) || defined (__x86_64__) +if (cpu_has_tsc) __u32 high;rdtsc (time, high); num ^= high; }else { time = jiffies; } -#elif defined (__x86_64__) -__u32 high; -rdtsc (time, high); - num ^= high;#else time = jiffies;#endif
drivers/input/joystick/analog.c +3 -4
@@ -137,10 +137,9 @@*/ #ifdef __i386__ -#define TSC_PRESENT (test_bit(X86_FEATURE_TSC, &boot_cpu_data.x86_capability)) -#define GET_TIME (x) do { if (TSC_PRESENT) rdtscl(x); else x = get_time_pit(); } while (0) -#define DELTA (x,y) (TSC_PRESENT?((y)-(x)):((x)-(y)+((x)<(y)?1193180L/HZ:0))) -#define TIME_NAME (TSC_PRESENT?"TSC":"PIT") +#define GET_TIME (x) do { if (cpu_has_tsc) rdtscl(x); else x = get_time_pit(); } while (0) +#define DELTA (x,y) (cpu_has_tsc?((y)-(x)):((x)-(y)+((x)<(y)?1193180L/HZ:0))) +#define TIME_NAME (cpu_has_tsc?"TSC":"PIT")static unsigned int get_time_pit (void ) {extern spinlock_t i8253_lock;
Excellent - thanks for doing this. This is obviously broken at the moment, and I have to disable TSCs ;-)
Quoted 5 lines · --On Monday, May 20, 2002 10:10 PM -0400 Brian Gerst <[email protected]>…
This patch converts
drivers/char/random.canddrivers/input/joystick/analog.cto use thecpu_has_tscmacro.--
Brian Gerst