POK(kernelpart)
Main Page
Data Structures
Files
File List
Globals
POK(kernelpart)
Data Structures
Files
File List
kernel
arch
ppc
prep
arch.c
msr.h
space.c
syscalls.c
thread.c
thread.h
timer.c
sparc
x86
core
include
libc
middleware
Globals
thread.h
Go to the documentation of this file.
1
/*
2
* POK header
3
*
4
* The following file is a part of the POK project. Any modification should
5
* made according to the POK licence. You CANNOT use this file or a part of
6
* this file is this part of a file for your own project
7
*
8
* For more information on the POK licence, please see our LICENCE FILE
9
*
10
* Please follow the coding guidelines described in doc/CODING_GUIDELINES
11
*
12
* Copyright (c) 2007-2009 POK team
13
*
14
* Created by julien on Thu Jan 15 23:34:13 2009
15
*/
16
17
18
#ifndef __POK_PPC_THREAD_H__
19
#define __POK_PPC_THREAD_H__
20
21
#include <types.h>
22
23
typedef
struct
24
{
25
uint32_t
sp
;
26
uint32_t
unused_lr
;
27
28
uint32_t
cr
;
29
uint32_t
r2
;
30
uint32_t
r13
;
31
uint32_t
r14
;
32
uint32_t
r15
;
33
34
uint32_t
r16
;
35
uint32_t
r17
;
36
uint32_t
r18
;
37
uint32_t
r19
;
38
uint32_t
r20
;
39
uint32_t
r21
;
40
uint32_t
r22
;
41
uint32_t
r23
;
42
uint32_t
r24
;
43
uint32_t
r25
;
44
uint32_t
r26
;
45
uint32_t
r27
;
46
uint32_t
r28
;
47
uint32_t
r29
;
48
uint32_t
r30
;
49
uint32_t
r31
;
50
51
uint32_t
pad
;
52
53
/* Previous frame. */
54
uint32_t
back_chain
;
55
uint32_t
lr
;
56
}
context_t
;
57
58
typedef
struct
59
{
60
uint32_t
sp
;
61
uint32_t
unused_lr
;
62
63
uint32_t
cr
;
/* 8 */
64
uint32_t
r0
;
65
uint32_t
r2
;
/* 16 */
66
uint32_t
r3
;
67
uint32_t
r4
;
68
uint32_t
r5
;
69
uint32_t
r6
;
/* 32 */
70
uint32_t
r7
;
71
uint32_t
r8
;
72
uint32_t
r9
;
73
uint32_t
r10
;
/* 48 */
74
uint32_t
r11
;
75
uint32_t
r12
;
76
uint32_t
r13
;
77
uint32_t
ctr
;
/* 64 */
78
uint32_t
xer
;
79
uint32_t
srr0
;
80
uint32_t
srr1
;
81
82
/* Previous frame. */
83
uint32_t
back_chain
;
84
uint32_t
lr
;
85
86
/* For initial frame alignment. */
87
uint32_t
pad0
;
88
uint32_t
pad1
;
89
}
volatile_context_t
;
90
91
uint32_t
pok_context_create
(
uint32_t
id
,
92
uint32_t
stack_size,
93
uint32_t
entry);
94
95
void
pok_context_switch
(
uint32_t
* old_sp,
96
uint32_t
new_sp);
97
98
99
#endif
/* !__POK_PPC_THREAD_H__ */
100
kernel
arch
ppc
thread.h
Generated on Fri Jun 1 2012 19:07:12 for POK(kernelpart) by
1.8.1