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
37
38
39
40 unsigned long flags;
41 unsigned long res1, res2;
42 };
43
44 #define INIT_MMAP { &init_mm, 0xfffffc0000000000, 0xfffffc0010000000, \
45 PAGE_SHARED, VM_READ | VM_WRITE | VM_EXEC }
46
47 #define INIT_TSS { \
48 0, 0, 0, \
49 0, 0, 0, \
50 0, 0, 0, \
51 }
52
53 #define alloc_kernel_stack() get_free_page(GFP_KERNEL)
54 #define free_kernel_stack(page) free_page((page))
55
56 #include <asm/ptrace.h>
57
58
59
60
61
62
63
64
65
66 extern inline unsigned long thread_saved_pc(struct thread_struct *t)
67 {
68 unsigned long fp;
69
70 fp = ((unsigned long*)t->ksp)[6];
71 return *(unsigned long*)fp;
72 }
73
74
75
76
77 static inline void start_thread(struct pt_regs * regs, unsigned long pc, unsigned long sp)
78 {
79 regs->pc = pc;
80 regs->ps = 8;
81 wrusp(sp);
82 }
83
84 #endif