POK(kernelpart)
Main Page
Data Structures
Files
File List
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