Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
powerpc
include
asm
timex.h
Go to the documentation of this file.
1
#ifndef _ASM_POWERPC_TIMEX_H
2
#define _ASM_POWERPC_TIMEX_H
3
4
#ifdef __KERNEL__
5
6
/*
7
* PowerPC architecture timex specifications
8
*/
9
10
#include <asm/cputable.h>
11
#include <asm/reg.h>
12
13
#define CLOCK_TICK_RATE 1024000
/* Underlying HZ */
14
15
typedef
unsigned
long
cycles_t
;
16
17
static
inline
cycles_t
get_cycles
(
void
)
18
{
19
#ifdef __powerpc64__
20
return
mftb();
21
#else
22
cycles_t
ret
;
23
24
/*
25
* For the "cycle" counter we use the timebase lower half.
26
* Currently only used on SMP.
27
*/
28
29
ret = 0;
30
31
__asm__
__volatile__(
32
"97: mftb %0\n"
33
"99:\n"
34
".section __ftr_fixup,\"a\"\n"
35
".align 2\n"
36
"98:\n"
37
" .long %1\n"
38
" .long 0\n"
39
" .long 97b-98b\n"
40
" .long 99b-98b\n"
41
" .long 0\n"
42
" .long 0\n"
43
".previous"
44
:
"=r"
(ret) :
"i"
(
CPU_FTR_601
));
45
return
ret
;
46
#endif
47
}
48
49
#endif
/* __KERNEL__ */
50
#endif
/* _ASM_POWERPC_TIMEX_H */
Generated on Thu Jan 10 2013 12:50:40 for Linux Kernel by
1.8.2