git.ucc.asn.au
/
tpg
/
acess2.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
Merge branch 'master' of
[email protected]
:acess2
[tpg/acess2.git]
/
Kernel
/
arch
/
arm7
/
include
/
proc.h
1
/*
2
* Acess2
3
* ARM7 Architecture
4
*
5
* proc.h - Arch-Dependent Process Management
6
*/
7
#ifndef _PROC_H_
8
#define _PROC_H_
9
10
#define MAX_CPUS 4
11
12
// === STRUCTURES ===
13
typedef struct {
14
Uint32 IP, LR, SP;
15
Uint32 UserIP, UserSP;
16
} tTaskState;
17
18
typedef struct {
19
Uint32 Base;
20
} tMemoryState;
21
22
typedef struct {
23
union {
24
Uint32 Num;
25
Uint32 Error;
26
};
27
union {
28
Uint32 Arg1;
29
Uint32 Return;
30
};
31
union {
32
Uint32 Arg2;
33
Uint32 RetHi;
34
};
35
Uint32 Arg3;
36
Uint32 Arg4;
37
Uint32 Arg5;
38
Uint32 Arg6; // R6
39
Uint32 Unused[13-6];
40
Uint32 StackPointer; // R13
41
Uint32 _lr;
42
Uint32 _ip;
43
} tSyscallRegs;
44
45
// === MACROS ===
46
#define HALT() __asm__ __volatile__ ("nop")
47
48
// === PROTOTYPES ===
49
extern void Proc_Start(void);
50
extern tTID Proc_Clone(Uint *Errno, int Flags);
51
52
#endif
53
UCC
git Repository :: git.ucc.asn.au