This source file includes following definitions.
- thread_saved_pc
- start_thread
1
2
3
4
5
6
7 #ifndef __ASM_ALPHA_PROCESSOR_H
8 #define __ASM_ALPHA_PROCESSOR_H
9
10
11
12
13 #define TASK_SIZE (0x40000000000UL)
14
15
16
17
18 #define EISA_bus 1
19 #define EISA_bus__is_a_macro
20 #define MCA_bus 0
21 #define MCA_bus__is_a_macro
22
23
24
25
26 #define wp_works_ok 1
27 #define wp_works_ok__is_a_macro
28
29 struct thread_struct {
30 unsigned long ksp;
31 unsigned long usp;
32 unsigned long ptbr;
33 unsigned int pcc;
34 unsigned int asn;
35 unsigned long unique;
36 unsigned long flags;
37 unsigned long res1, res2;
38 };
39
40 #define INIT_MMAP { &init_mm, 0xfffffc0000000000, 0xfffffc0010000000, \
41 PAGE_SHARED, VM_READ | VM_WRITE | VM_EXEC }
42
43 #define INIT_TSS { \
44 0, 0, 0, \
45 0, 0, 0, \
46 0, 0, 0, \
47 }
48
49 #include <asm/ptrace.h>
50
51
52
53
54
55
56
57 extern inline unsigned long thread_saved_pc(struct thread_struct *t)
58 {
59 unsigned long fp;
60
61 fp = ((unsigned long*)t->ksp)[6];
62 return *(unsigned long*)fp;
63 }
64
65
66
67
68 static inline void start_thread(struct pt_regs * regs, unsigned long pc, unsigned long sp)
69 {
70 regs->pc = pc;
71 regs->ps = 8;
72 wrusp(sp);
73 }
74
75 #endif