diff options
Diffstat (limited to 'arch/arm/include/asm')
-rw-r--r-- | arch/arm/include/asm/cacheflush.h | 20 | ||||
-rw-r--r-- | arch/arm/include/asm/cpu.h | 1 | ||||
-rw-r--r-- | arch/arm/include/asm/dma.h | 4 | ||||
-rw-r--r-- | arch/arm/include/asm/proc-fns.h | 374 | ||||
-rw-r--r-- | arch/arm/include/asm/ptrace.h | 6 | ||||
-rw-r--r-- | arch/arm/include/asm/thread_notify.h | 2 | ||||
-rw-r--r-- | arch/arm/include/asm/unistd.h | 1 |
7 files changed, 226 insertions, 182 deletions
diff --git a/arch/arm/include/asm/cacheflush.h b/arch/arm/include/asm/cacheflush.h index 730aefcfbee3..c77d2fa1f6e5 100644 --- a/arch/arm/include/asm/cacheflush.h +++ b/arch/arm/include/asm/cacheflush.h | |||
@@ -154,16 +154,16 @@ | |||
154 | * Please note that the implementation of these, and the required | 154 | * Please note that the implementation of these, and the required |
155 | * effects are cache-type (VIVT/VIPT/PIPT) specific. | 155 | * effects are cache-type (VIVT/VIPT/PIPT) specific. |
156 | * | 156 | * |
157 | * flush_cache_kern_all() | 157 | * flush_kern_all() |
158 | * | 158 | * |
159 | * Unconditionally clean and invalidate the entire cache. | 159 | * Unconditionally clean and invalidate the entire cache. |
160 | * | 160 | * |
161 | * flush_cache_user_mm(mm) | 161 | * flush_user_all() |
162 | * | 162 | * |
163 | * Clean and invalidate all user space cache entries | 163 | * Clean and invalidate all user space cache entries |
164 | * before a change of page tables. | 164 | * before a change of page tables. |
165 | * | 165 | * |
166 | * flush_cache_user_range(start, end, flags) | 166 | * flush_user_range(start, end, flags) |
167 | * | 167 | * |
168 | * Clean and invalidate a range of cache entries in the | 168 | * Clean and invalidate a range of cache entries in the |
169 | * specified address space before a change of page tables. | 169 | * specified address space before a change of page tables. |
@@ -179,6 +179,20 @@ | |||
179 | * - start - virtual start address | 179 | * - start - virtual start address |
180 | * - end - virtual end address | 180 | * - end - virtual end address |
181 | * | 181 | * |
182 | * coherent_user_range(start, end) | ||
183 | * | ||
184 | * Ensure coherency between the Icache and the Dcache in the | ||
185 | * region described by start, end. If you have non-snooping | ||
186 | * Harvard caches, you need to implement this function. | ||
187 | * - start - virtual start address | ||
188 | * - end - virtual end address | ||
189 | * | ||
190 | * flush_kern_dcache_area(kaddr, size) | ||
191 | * | ||
192 | * Ensure that the data held in page is written back. | ||
193 | * - kaddr - page address | ||
194 | * - size - region size | ||
195 | * | ||
182 | * DMA Cache Coherency | 196 | * DMA Cache Coherency |
183 | * =================== | 197 | * =================== |
184 | * | 198 | * |
diff --git a/arch/arm/include/asm/cpu.h b/arch/arm/include/asm/cpu.h index 634b2d7c612a..793968173bef 100644 --- a/arch/arm/include/asm/cpu.h +++ b/arch/arm/include/asm/cpu.h | |||
@@ -11,6 +11,7 @@ | |||
11 | #define __ASM_ARM_CPU_H | 11 | #define __ASM_ARM_CPU_H |
12 | 12 | ||
13 | #include <linux/percpu.h> | 13 | #include <linux/percpu.h> |
14 | #include <linux/cpu.h> | ||
14 | 15 | ||
15 | struct cpuinfo_arm { | 16 | struct cpuinfo_arm { |
16 | struct cpu cpu; | 17 | struct cpu cpu; |
diff --git a/arch/arm/include/asm/dma.h b/arch/arm/include/asm/dma.h index 7edf3536df24..ca51143f97f1 100644 --- a/arch/arm/include/asm/dma.h +++ b/arch/arm/include/asm/dma.h | |||
@@ -138,12 +138,12 @@ extern int get_dma_residue(unsigned int chan); | |||
138 | #define NO_DMA 255 | 138 | #define NO_DMA 255 |
139 | #endif | 139 | #endif |
140 | 140 | ||
141 | #endif /* CONFIG_ISA_DMA_API */ | ||
142 | |||
141 | #ifdef CONFIG_PCI | 143 | #ifdef CONFIG_PCI |
142 | extern int isa_dma_bridge_buggy; | 144 | extern int isa_dma_bridge_buggy; |
143 | #else | 145 | #else |
144 | #define isa_dma_bridge_buggy (0) | 146 | #define isa_dma_bridge_buggy (0) |
145 | #endif | 147 | #endif |
146 | 148 | ||
147 | #endif /* CONFIG_ISA_DMA_API */ | ||
148 | |||
149 | #endif /* __ASM_ARM_DMA_H */ | 149 | #endif /* __ASM_ARM_DMA_H */ |
diff --git a/arch/arm/include/asm/proc-fns.h b/arch/arm/include/asm/proc-fns.h index 3976412685f8..8fdae9bc9abb 100644 --- a/arch/arm/include/asm/proc-fns.h +++ b/arch/arm/include/asm/proc-fns.h | |||
@@ -24,206 +24,228 @@ | |||
24 | * CPU_NAME - the prefix for CPU related functions | 24 | * CPU_NAME - the prefix for CPU related functions |
25 | */ | 25 | */ |
26 | 26 | ||
27 | #ifdef CONFIG_CPU_32 | 27 | #ifdef CONFIG_CPU_ARM610 |
28 | # ifdef CONFIG_CPU_ARM610 | 28 | # ifdef CPU_NAME |
29 | # ifdef CPU_NAME | 29 | # undef MULTI_CPU |
30 | # undef MULTI_CPU | 30 | # define MULTI_CPU |
31 | # define MULTI_CPU | 31 | # else |
32 | # else | 32 | # define CPU_NAME cpu_arm6 |
33 | # define CPU_NAME cpu_arm6 | ||
34 | # endif | ||
35 | # endif | 33 | # endif |
36 | # ifdef CONFIG_CPU_ARM7TDMI | 34 | #endif |
37 | # ifdef CPU_NAME | 35 | |
38 | # undef MULTI_CPU | 36 | #ifdef CONFIG_CPU_ARM7TDMI |
39 | # define MULTI_CPU | 37 | # ifdef CPU_NAME |
40 | # else | 38 | # undef MULTI_CPU |
41 | # define CPU_NAME cpu_arm7tdmi | 39 | # define MULTI_CPU |
42 | # endif | 40 | # else |
41 | # define CPU_NAME cpu_arm7tdmi | ||
43 | # endif | 42 | # endif |
44 | # ifdef CONFIG_CPU_ARM710 | 43 | #endif |
45 | # ifdef CPU_NAME | 44 | |
46 | # undef MULTI_CPU | 45 | #ifdef CONFIG_CPU_ARM710 |
47 | # define MULTI_CPU | 46 | # ifdef CPU_NAME |
48 | # else | 47 | # undef MULTI_CPU |
49 | # define CPU_NAME cpu_arm7 | 48 | # define MULTI_CPU |
50 | # endif | 49 | # else |
50 | # define CPU_NAME cpu_arm7 | ||
51 | # endif | 51 | # endif |
52 | # ifdef CONFIG_CPU_ARM720T | 52 | #endif |
53 | # ifdef CPU_NAME | 53 | |
54 | # undef MULTI_CPU | 54 | #ifdef CONFIG_CPU_ARM720T |
55 | # define MULTI_CPU | 55 | # ifdef CPU_NAME |
56 | # else | 56 | # undef MULTI_CPU |
57 | # define CPU_NAME cpu_arm720 | 57 | # define MULTI_CPU |
58 | # endif | 58 | # else |
59 | # define CPU_NAME cpu_arm720 | ||
59 | # endif | 60 | # endif |
60 | # ifdef CONFIG_CPU_ARM740T | 61 | #endif |
61 | # ifdef CPU_NAME | 62 | |
62 | # undef MULTI_CPU | 63 | #ifdef CONFIG_CPU_ARM740T |
63 | # define MULTI_CPU | 64 | # ifdef CPU_NAME |
64 | # else | 65 | # undef MULTI_CPU |
65 | # define CPU_NAME cpu_arm740 | 66 | # define MULTI_CPU |
66 | # endif | 67 | # else |
68 | # define CPU_NAME cpu_arm740 | ||
67 | # endif | 69 | # endif |
68 | # ifdef CONFIG_CPU_ARM9TDMI | 70 | #endif |
69 | # ifdef CPU_NAME | 71 | |
70 | # undef MULTI_CPU | 72 | #ifdef CONFIG_CPU_ARM9TDMI |
71 | # define MULTI_CPU | 73 | # ifdef CPU_NAME |
72 | # else | 74 | # undef MULTI_CPU |
73 | # define CPU_NAME cpu_arm9tdmi | 75 | # define MULTI_CPU |
74 | # endif | 76 | # else |
77 | # define CPU_NAME cpu_arm9tdmi | ||
75 | # endif | 78 | # endif |
76 | # ifdef CONFIG_CPU_ARM920T | 79 | #endif |
77 | # ifdef CPU_NAME | 80 | |
78 | # undef MULTI_CPU | 81 | #ifdef CONFIG_CPU_ARM920T |
79 | # define MULTI_CPU | 82 | # ifdef CPU_NAME |
80 | # else | 83 | # undef MULTI_CPU |
81 | # define CPU_NAME cpu_arm920 | 84 | # define MULTI_CPU |
82 | # endif | 85 | # else |
86 | # define CPU_NAME cpu_arm920 | ||
83 | # endif | 87 | # endif |
84 | # ifdef CONFIG_CPU_ARM922T | 88 | #endif |
85 | # ifdef CPU_NAME | 89 | |
86 | # undef MULTI_CPU | 90 | #ifdef CONFIG_CPU_ARM922T |
87 | # define MULTI_CPU | 91 | # ifdef CPU_NAME |
88 | # else | 92 | # undef MULTI_CPU |
89 | # define CPU_NAME cpu_arm922 | 93 | # define MULTI_CPU |
90 | # endif | 94 | # else |
95 | # define CPU_NAME cpu_arm922 | ||
91 | # endif | 96 | # endif |
92 | # ifdef CONFIG_CPU_FA526 | 97 | #endif |
93 | # ifdef CPU_NAME | 98 | |
94 | # undef MULTI_CPU | 99 | #ifdef CONFIG_CPU_FA526 |
95 | # define MULTI_CPU | 100 | # ifdef CPU_NAME |
96 | # else | 101 | # undef MULTI_CPU |
97 | # define CPU_NAME cpu_fa526 | 102 | # define MULTI_CPU |
98 | # endif | 103 | # else |
104 | # define CPU_NAME cpu_fa526 | ||
99 | # endif | 105 | # endif |
100 | # ifdef CONFIG_CPU_ARM925T | 106 | #endif |
101 | # ifdef CPU_NAME | 107 | |
102 | # undef MULTI_CPU | 108 | #ifdef CONFIG_CPU_ARM925T |
103 | # define MULTI_CPU | 109 | # ifdef CPU_NAME |
104 | # else | 110 | # undef MULTI_CPU |
105 | # define CPU_NAME cpu_arm925 | 111 | # define MULTI_CPU |
106 | # endif | 112 | # else |
113 | # define CPU_NAME cpu_arm925 | ||
107 | # endif | 114 | # endif |
108 | # ifdef CONFIG_CPU_ARM926T | 115 | #endif |
109 | # ifdef CPU_NAME | 116 | |
110 | # undef MULTI_CPU | 117 | #ifdef CONFIG_CPU_ARM926T |
111 | # define MULTI_CPU | 118 | # ifdef CPU_NAME |
112 | # else | 119 | # undef MULTI_CPU |
113 | # define CPU_NAME cpu_arm926 | 120 | # define MULTI_CPU |
114 | # endif | 121 | # else |
122 | # define CPU_NAME cpu_arm926 | ||
115 | # endif | 123 | # endif |
116 | # ifdef CONFIG_CPU_ARM940T | 124 | #endif |
117 | # ifdef CPU_NAME | 125 | |
118 | # undef MULTI_CPU | 126 | #ifdef CONFIG_CPU_ARM940T |
119 | # define MULTI_CPU | 127 | # ifdef CPU_NAME |
120 | # else | 128 | # undef MULTI_CPU |
121 | # define CPU_NAME cpu_arm940 | 129 | # define MULTI_CPU |
122 | # endif | 130 | # else |
131 | # define CPU_NAME cpu_arm940 | ||
123 | # endif | 132 | # endif |
124 | # ifdef CONFIG_CPU_ARM946E | 133 | #endif |
125 | # ifdef CPU_NAME | 134 | |
126 | # undef MULTI_CPU | 135 | #ifdef CONFIG_CPU_ARM946E |
127 | # define MULTI_CPU | 136 | # ifdef CPU_NAME |
128 | # else | 137 | # undef MULTI_CPU |
129 | # define CPU_NAME cpu_arm946 | 138 | # define MULTI_CPU |
130 | # endif | 139 | # else |
140 | # define CPU_NAME cpu_arm946 | ||
131 | # endif | 141 | # endif |
132 | # ifdef CONFIG_CPU_SA110 | 142 | #endif |
133 | # ifdef CPU_NAME | 143 | |
134 | # undef MULTI_CPU | 144 | #ifdef CONFIG_CPU_SA110 |
135 | # define MULTI_CPU | 145 | # ifdef CPU_NAME |
136 | # else | 146 | # undef MULTI_CPU |
137 | # define CPU_NAME cpu_sa110 | 147 | # define MULTI_CPU |
138 | # endif | 148 | # else |
149 | # define CPU_NAME cpu_sa110 | ||
139 | # endif | 150 | # endif |
140 | # ifdef CONFIG_CPU_SA1100 | 151 | #endif |
141 | # ifdef CPU_NAME | 152 | |
142 | # undef MULTI_CPU | 153 | #ifdef CONFIG_CPU_SA1100 |
143 | # define MULTI_CPU | 154 | # ifdef CPU_NAME |
144 | # else | 155 | # undef MULTI_CPU |
145 | # define CPU_NAME cpu_sa1100 | 156 | # define MULTI_CPU |
146 | # endif | 157 | # else |
158 | # define CPU_NAME cpu_sa1100 | ||
147 | # endif | 159 | # endif |
148 | # ifdef CONFIG_CPU_ARM1020 | 160 | #endif |
149 | # ifdef CPU_NAME | 161 | |
150 | # undef MULTI_CPU | 162 | #ifdef CONFIG_CPU_ARM1020 |
151 | # define MULTI_CPU | 163 | # ifdef CPU_NAME |
152 | # else | 164 | # undef MULTI_CPU |
153 | # define CPU_NAME cpu_arm1020 | 165 | # define MULTI_CPU |
154 | # endif | 166 | # else |
167 | # define CPU_NAME cpu_arm1020 | ||
155 | # endif | 168 | # endif |
156 | # ifdef CONFIG_CPU_ARM1020E | 169 | #endif |
157 | # ifdef CPU_NAME | 170 | |
158 | # undef MULTI_CPU | 171 | #ifdef CONFIG_CPU_ARM1020E |
159 | # define MULTI_CPU | 172 | # ifdef CPU_NAME |
160 | # else | 173 | # undef MULTI_CPU |
161 | # define CPU_NAME cpu_arm1020e | 174 | # define MULTI_CPU |
162 | # endif | 175 | # else |
176 | # define CPU_NAME cpu_arm1020e | ||
163 | # endif | 177 | # endif |
164 | # ifdef CONFIG_CPU_ARM1022 | 178 | #endif |
165 | # ifdef CPU_NAME | 179 | |
166 | # undef MULTI_CPU | 180 | #ifdef CONFIG_CPU_ARM1022 |
167 | # define MULTI_CPU | 181 | # ifdef CPU_NAME |
168 | # else | 182 | # undef MULTI_CPU |
169 | # define CPU_NAME cpu_arm1022 | 183 | # define MULTI_CPU |
170 | # endif | 184 | # else |
185 | # define CPU_NAME cpu_arm1022 | ||
171 | # endif | 186 | # endif |
172 | # ifdef CONFIG_CPU_ARM1026 | 187 | #endif |
173 | # ifdef CPU_NAME | 188 | |
174 | # undef MULTI_CPU | 189 | #ifdef CONFIG_CPU_ARM1026 |
175 | # define MULTI_CPU | 190 | # ifdef CPU_NAME |
176 | # else | 191 | # undef MULTI_CPU |
177 | # define CPU_NAME cpu_arm1026 | 192 | # define MULTI_CPU |
178 | # endif | 193 | # else |
194 | # define CPU_NAME cpu_arm1026 | ||
179 | # endif | 195 | # endif |
180 | # ifdef CONFIG_CPU_XSCALE | 196 | #endif |
181 | # ifdef CPU_NAME | 197 | |
182 | # undef MULTI_CPU | 198 | #ifdef CONFIG_CPU_XSCALE |
183 | # define MULTI_CPU | 199 | # ifdef CPU_NAME |
184 | # else | 200 | # undef MULTI_CPU |
185 | # define CPU_NAME cpu_xscale | 201 | # define MULTI_CPU |
186 | # endif | 202 | # else |
203 | # define CPU_NAME cpu_xscale | ||
187 | # endif | 204 | # endif |
188 | # ifdef CONFIG_CPU_XSC3 | 205 | #endif |
189 | # ifdef CPU_NAME | 206 | |
190 | # undef MULTI_CPU | 207 | #ifdef CONFIG_CPU_XSC3 |
191 | # define MULTI_CPU | 208 | # ifdef CPU_NAME |
192 | # else | 209 | # undef MULTI_CPU |
193 | # define CPU_NAME cpu_xsc3 | 210 | # define MULTI_CPU |
194 | # endif | 211 | # else |
212 | # define CPU_NAME cpu_xsc3 | ||
195 | # endif | 213 | # endif |
196 | # ifdef CONFIG_CPU_MOHAWK | 214 | #endif |
197 | # ifdef CPU_NAME | 215 | |
198 | # undef MULTI_CPU | 216 | #ifdef CONFIG_CPU_MOHAWK |
199 | # define MULTI_CPU | 217 | # ifdef CPU_NAME |
200 | # else | 218 | # undef MULTI_CPU |
201 | # define CPU_NAME cpu_mohawk | 219 | # define MULTI_CPU |
202 | # endif | 220 | # else |
221 | # define CPU_NAME cpu_mohawk | ||
203 | # endif | 222 | # endif |
204 | # ifdef CONFIG_CPU_FEROCEON | 223 | #endif |
205 | # ifdef CPU_NAME | 224 | |
206 | # undef MULTI_CPU | 225 | #ifdef CONFIG_CPU_FEROCEON |
207 | # define MULTI_CPU | 226 | # ifdef CPU_NAME |
208 | # else | 227 | # undef MULTI_CPU |
209 | # define CPU_NAME cpu_feroceon | 228 | # define MULTI_CPU |
210 | # endif | 229 | # else |
230 | # define CPU_NAME cpu_feroceon | ||
211 | # endif | 231 | # endif |
212 | # ifdef CONFIG_CPU_V6 | 232 | #endif |
213 | # ifdef CPU_NAME | 233 | |
214 | # undef MULTI_CPU | 234 | #ifdef CONFIG_CPU_V6 |
215 | # define MULTI_CPU | 235 | # ifdef CPU_NAME |
216 | # else | 236 | # undef MULTI_CPU |
217 | # define CPU_NAME cpu_v6 | 237 | # define MULTI_CPU |
218 | # endif | 238 | # else |
239 | # define CPU_NAME cpu_v6 | ||
219 | # endif | 240 | # endif |
220 | # ifdef CONFIG_CPU_V7 | 241 | #endif |
221 | # ifdef CPU_NAME | 242 | |
222 | # undef MULTI_CPU | 243 | #ifdef CONFIG_CPU_V7 |
223 | # define MULTI_CPU | 244 | # ifdef CPU_NAME |
224 | # else | 245 | # undef MULTI_CPU |
225 | # define CPU_NAME cpu_v7 | 246 | # define MULTI_CPU |
226 | # endif | 247 | # else |
248 | # define CPU_NAME cpu_v7 | ||
227 | # endif | 249 | # endif |
228 | #endif | 250 | #endif |
229 | 251 | ||
diff --git a/arch/arm/include/asm/ptrace.h b/arch/arm/include/asm/ptrace.h index bbecccda76d0..eec6e897ceb2 100644 --- a/arch/arm/include/asm/ptrace.h +++ b/arch/arm/include/asm/ptrace.h | |||
@@ -97,9 +97,15 @@ | |||
97 | * stack during a system call. Note that sizeof(struct pt_regs) | 97 | * stack during a system call. Note that sizeof(struct pt_regs) |
98 | * has to be a multiple of 8. | 98 | * has to be a multiple of 8. |
99 | */ | 99 | */ |
100 | #ifndef __KERNEL__ | ||
100 | struct pt_regs { | 101 | struct pt_regs { |
101 | long uregs[18]; | 102 | long uregs[18]; |
102 | }; | 103 | }; |
104 | #else /* __KERNEL__ */ | ||
105 | struct pt_regs { | ||
106 | unsigned long uregs[18]; | ||
107 | }; | ||
108 | #endif /* __KERNEL__ */ | ||
103 | 109 | ||
104 | #define ARM_cpsr uregs[16] | 110 | #define ARM_cpsr uregs[16] |
105 | #define ARM_pc uregs[15] | 111 | #define ARM_pc uregs[15] |
diff --git a/arch/arm/include/asm/thread_notify.h b/arch/arm/include/asm/thread_notify.h index f27379d7f72a..c4391ba20350 100644 --- a/arch/arm/include/asm/thread_notify.h +++ b/arch/arm/include/asm/thread_notify.h | |||
@@ -41,7 +41,7 @@ static inline void thread_notify(unsigned long rc, struct thread_info *thread) | |||
41 | * These are the reason codes for the thread notifier. | 41 | * These are the reason codes for the thread notifier. |
42 | */ | 42 | */ |
43 | #define THREAD_NOTIFY_FLUSH 0 | 43 | #define THREAD_NOTIFY_FLUSH 0 |
44 | #define THREAD_NOTIFY_RELEASE 1 | 44 | #define THREAD_NOTIFY_EXIT 1 |
45 | #define THREAD_NOTIFY_SWITCH 2 | 45 | #define THREAD_NOTIFY_SWITCH 2 |
46 | 46 | ||
47 | #endif | 47 | #endif |
diff --git a/arch/arm/include/asm/unistd.h b/arch/arm/include/asm/unistd.h index 4e506d09e5f9..cf9cdaa2d4d4 100644 --- a/arch/arm/include/asm/unistd.h +++ b/arch/arm/include/asm/unistd.h | |||
@@ -391,6 +391,7 @@ | |||
391 | #define __NR_pwritev (__NR_SYSCALL_BASE+362) | 391 | #define __NR_pwritev (__NR_SYSCALL_BASE+362) |
392 | #define __NR_rt_tgsigqueueinfo (__NR_SYSCALL_BASE+363) | 392 | #define __NR_rt_tgsigqueueinfo (__NR_SYSCALL_BASE+363) |
393 | #define __NR_perf_event_open (__NR_SYSCALL_BASE+364) | 393 | #define __NR_perf_event_open (__NR_SYSCALL_BASE+364) |
394 | #define __NR_recvmmsg (__NR_SYSCALL_BASE+365) | ||
394 | 395 | ||
395 | /* | 396 | /* |
396 | * The following SWIs are ARM private. | 397 | * The following SWIs are ARM private. |