#ifndef _ASM_POWERPC_TIMEX_H #define _ASM_POWERPC_TIMEX_H #ifdef __KERNEL__ /* * PowerPC architecture timex specifications */ #include <asm/cputable.h> #include <asm/reg.h> #define CLOCK_TICK_RATE 1024000 /* Underlying HZ */ typedef unsigned long cycles_t;
static inline cycles_t get_cycles(void) { #ifdef __powerpc64__ return mftb(); #else cycles_t ret; /* * For the "cycle" counter we use the timebase lower half. * Currently only used on SMP. */ ret = 0; __asm__ __volatile__( #ifdef CONFIG_8xx "97: mftb %0\n" #else "97: mfspr %0, %2\n" #endif "99:\n" ".section __ftr_fixup,\"a\"\n" ".align 2\n" "98:\n" " .long %1\n" " .long 0\n" " .long 97b-98b\n" " .long 99b-98b\n" " .long 0\n" " .long 0\n" ".previous" #ifdef CONFIG_8xx : "=r" (ret) : "i" (CPU_FTR_601)); #else : "=r" (ret) : "i" (CPU_FTR_601), "i" (SPRN_TBRL));Contributors
Person | Tokens | Prop | Commits | CommitProp |
Christophe Leroy | 34 | 55.74% | 1 | 20.00% |
Jon Loeliger | 10 | 16.39% | 1 | 20.00% |
Linus Torvalds (pre-git) | 8 | 13.11% | 1 | 20.00% |
Benjamin Herrenschmidt | 7 | 11.48% | 1 | 20.00% |
Linus Torvalds | 2 | 3.28% | 1 | 20.00% |
Total | 61 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Christophe Leroy | 37 | 36.63% | 1 | 11.11% |
Linus Torvalds (pre-git) | 30 | 29.70% | 4 | 44.44% |
Jon Loeliger | 18 | 17.82% | 1 | 11.11% |
Benjamin Herrenschmidt | 13 | 12.87% | 2 | 22.22% |
Linus Torvalds | 3 | 2.97% | 1 | 11.11% |
Total | 101 | 100.00% | 9 | 100.00% |