- __asm__("mrc p15, 0, %0, c13, c0, 3" : "=r" (tsd));
- tsd &= ~0x3ul; /* lower 2-bits contain CPU number */
-#elif defined(__arm__) && defined(_ARM_ARCH_5)
- register uintptr_t tsd asm ("r9");
+ __asm__("mrc p15, 0, %0, c13, c0, 3\n"
+ "bic %0, %0, #0x3\n" : "=r" (tsd));
+ /* lower 2-bits contain CPU number */