Xenomai
3.1
tsc.h
1
/*
2
* Copyright (C) 2001,2002,2003,2004 Philippe Gerum <rpm@xenomai.org>.
3
*
4
* This library is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU Lesser General Public
6
* License as published by the Free Software Foundation; either
7
* version 2 of the License, or (at your option) any later version.
8
*
9
* This library is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
* Lesser General Public License for more details.
13
*
14
* You should have received a copy of the GNU Lesser General Public
15
* License along with this library; if not, write to the Free Software
16
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
17
*/
18
#ifndef _LIB_COBALT_POWERPC_TSC_H
19
#define _LIB_COBALT_POWERPC_TSC_H
20
21
static
inline
unsigned
long
long
cobalt_read_tsc(
void
)
22
{
23
union
{
24
unsigned
long
long
t;
25
unsigned
long
v[2];
26
} u;
27
unsigned
long
__tbu;
28
29
__asm__ __volatile__(
"1: mfspr %0,269\n"
30
"mfspr %1,268\n"
31
"mfspr %2,269\n"
32
"cmpw %2,%0\n"
33
"bne- 1b\n"
:
"=r"
(u.v[0]),
34
"=r"
(u.v[1]),
"=r"
(__tbu));
35
return
u.t;
36
}
37
38
#endif
/* !_LIB_COBALT_POWERPC_TSC_H */
lib
cobalt
arch
powerpc
include
asm
xenomai
tsc.h
Generated by
1.8.14