cpu_has_tsc cleanup
Subsystems (2)
PATCH 1/1 cpu_has_tsc cleanup
Marcelo,
Here is a trivial cleanup patch that replaces:
test_bit(X86_FEATURE_TSC, &boot_cpu_data.x86_capability)
w/ the cpu_has_tsc macro.
I believe this was originally by Brian Gerst for 2.5
thanks
-john
drivers/char/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 { outb(0, 0x43); x = inb(0x40); x |= inb(0x40) << 8; } } 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 { outb(0, 0x43); x = inb(0x40); x |= inb(0x40) << 8; } } 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")#elif __x86_64__#define GET_TIME (x) rdtscl(x)#define DELTA (x,y) ((y)-(x))
drivers/char/random.c +1 -1
@@ -735,7 +735,7 @@int entropy =0 ;#if defined (__i386__) -if (test_bit (X86_FEATURE_TSC , &boot_cpu_data.x86_capability) ) { +if (cpu_has_tsc) {__u32 high;rdtsc (time, high); num ^= high;
Quoted 9 lines · john stultz
Marcelo,
Here is a trivial cleanup patch that replaces:
test_bit(X86_FEATURE_TSC, &boot_cpu_data.x86_capability)w/ the
cpu_has_tscmacro.I believe this was originally by Brian Gerst for 2.5
This patch has a problem in the TSC not defined case in that it access the PIT with out taking the required
locks. spin_lock_irq(&i8253_lock) is used to protect
the PIT...
Signature · 5 lines
George Anzinger [email protected] High-res-timers: http://sourceforge.net/projects/high-res-timers/ Preemption patch: http://www.kernel.org/pub/linux/kernel/people/rml