LibXenon
Bare-metal Xbox 360 homebrew library
Loading...
Searching...
No Matches
time.c
Go to the documentation of this file.
1#include <ppc/timebase.h>
2#include <stdint.h>
3
4static 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
12void udelay(int u)
13{
14 tdelay(((long long)PPC_TIMEBASE_FREQ) * u / 1000000);
15}
16
17void mdelay(int u)
18{
19 tdelay(((long long)PPC_TIMEBASE_FREQ) * u / 1000);
20}
21
22void delay(int u)
23{
24 tdelay(((long long)PPC_TIMEBASE_FREQ) * u);
25}
u64 uint64_t
Definition: libfdt_env.h:12
void mdelay(int u)
Definition: time.c:17
void delay(int u)
Definition: time.c:22
void udelay(int u)
Definition: time.c:12
#define PPC_TIMEBASE_FREQ
Definition: timebase.h:6