Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
at v2.6.12-rc6 40 lines 691 B view raw
1/* 2 * include/asm-ppc/timex.h 3 * 4 * ppc architecture timex specifications 5 */ 6#ifdef __KERNEL__ 7#ifndef _ASMppc_TIMEX_H 8#define _ASMppc_TIMEX_H 9 10#include <linux/config.h> 11#include <asm/cputable.h> 12 13#define CLOCK_TICK_RATE 1193180 /* Underlying HZ */ 14 15typedef unsigned long cycles_t; 16 17/* 18 * For the "cycle" counter we use the timebase lower half. 19 * Currently only used on SMP. 20 */ 21 22static inline cycles_t get_cycles(void) 23{ 24 cycles_t ret = 0; 25 26 __asm__ __volatile__( 27 "98: mftb %0\n" 28 "99:\n" 29 ".section __ftr_fixup,\"a\"\n" 30 " .long %1\n" 31 " .long 0\n" 32 " .long 98b\n" 33 " .long 99b\n" 34 ".previous" 35 : "=r" (ret) : "i" (CPU_FTR_601)); 36 return ret; 37} 38 39#endif 40#endif /* __KERNEL__ */