summaryrefslogtreecommitdiff
path: root/manual/platform.texi
blob: e387ff4cc9bdad3bd8a38fc846a158e112d1f409 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
@node Platform, Contributors, Maintenance, Top
@c %MENU% Describe all platform-specific facilities provided
@appendix Platform-specific facilities

@Theglibc{} can provide machine-specific functionality.

@menu
* PowerPC::           Facilities Specific to the PowerPC Architecture
@end menu

@node PowerPC
@appendixsec PowerPC-specific Facilities

Facilities specific to PowerPC that are not specific to a particular
operating system are declared in @file{sys/platform/ppc.h}.

@deftypefun {uint64_t} __ppc_get_timebase (void)
Read the current value of the Time Base Register.

The @dfn{Time Base Register} is a 64-bit register that stores a monotonically
incremented value updated at a system-dependent frequency that may be
different from the processor frequency.  More information is available in
@cite{Power ISA 2.06b - Book II - Section 5.2}.

@code{__ppc_get_timebase} uses the processor's time base facility directly
without requiring assistance from the operating system, so it is very
efficient.
@end deftypefun

@deftypefun {uint64_t} __ppc_get_timebase_freq (void)
Read the current frequency at which the Time Base Register is updated.

This frequency is not related to the processor clock or the bus clock.
It is also possible that this frequency is not constant.  More information is
available in @cite{Power ISA 2.06b - Book II - Section 5.2}.
@end deftypefun