LibXenon
Bare-metal Xbox 360 homebrew library
Loading...
Searching...
No Matches
libxenon
drivers
time
time.c
Go to the documentation of this file.
1
#include <
ppc/timebase.h
>
2
#include <stdint.h>
3
4
static
void
tdelay(
uint64_t
i)
5
{
6
uint64_t
t = mftb();
7
t += i;
8
while
(mftb() < t)
asm
volatile
(
"or 31,31,31"
);
9
asm
volatile
(
"or 2,2,2"
);
10
}
11
12
void
udelay
(
int
u)
13
{
14
tdelay(((
long
long
)
PPC_TIMEBASE_FREQ
) * u / 1000000);
15
}
16
17
void
mdelay
(
int
u)
18
{
19
tdelay(((
long
long
)
PPC_TIMEBASE_FREQ
) * u / 1000);
20
}
21
22
void
delay
(
int
u)
23
{
24
tdelay(((
long
long
)
PPC_TIMEBASE_FREQ
) * u);
25
}
uint64_t
u64 uint64_t
Definition:
libfdt_env.h:12
mdelay
void mdelay(int u)
Definition:
time.c:17
delay
void delay(int u)
Definition:
time.c:22
udelay
void udelay(int u)
Definition:
time.c:12
timebase.h
PPC_TIMEBASE_FREQ
#define PPC_TIMEBASE_FREQ
Definition:
timebase.h:6
Generated by
1.9.5