diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-07-22 18:09:07 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-07-22 18:09:07 -0400 |
commit | 3ad55155b222f2a901405dea20ff7c68828ecd92 (patch) | |
tree | 53b24c981387b037084a333dc5ae23be8e82ef4a /arch/arm/mm/proc-arm6_7.S | |
parent | 06f365acef5ca54fd5708a0d853c4a89609536f1 (diff) | |
parent | 6645cb61f3a1186a71475385d33f875dd8fb38bf (diff) |
Merge branch 'devel-stable' into for-next
Conflicts:
arch/arm/kernel/entry-armv.S
Diffstat (limited to 'arch/arm/mm/proc-arm6_7.S')
-rw-r--r-- | arch/arm/mm/proc-arm6_7.S | 166 |
1 files changed, 32 insertions, 134 deletions
diff --git a/arch/arm/mm/proc-arm6_7.S b/arch/arm/mm/proc-arm6_7.S index 50e3543d03b..e5b974cddac 100644 --- a/arch/arm/mm/proc-arm6_7.S +++ b/arch/arm/mm/proc-arm6_7.S | |||
@@ -267,159 +267,57 @@ __arm7_setup: mov r0, #0 | |||
267 | 267 | ||
268 | __INITDATA | 268 | __INITDATA |
269 | 269 | ||
270 | /* | 270 | @ define struct processor (see <asm/proc-fns.h> and proc-macros.S) |
271 | * Purpose : Function pointers used to access above functions - all calls | 271 | define_processor_functions arm6, dabort=cpu_arm6_data_abort, pabort=legacy_pabort |
272 | * come through these | 272 | define_processor_functions arm7, dabort=cpu_arm7_data_abort, pabort=legacy_pabort |
273 | */ | ||
274 | .type arm6_processor_functions, #object | ||
275 | ENTRY(arm6_processor_functions) | ||
276 | .word cpu_arm6_data_abort | ||
277 | .word legacy_pabort | ||
278 | .word cpu_arm6_proc_init | ||
279 | .word cpu_arm6_proc_fin | ||
280 | .word cpu_arm6_reset | ||
281 | .word cpu_arm6_do_idle | ||
282 | .word cpu_arm6_dcache_clean_area | ||
283 | .word cpu_arm6_switch_mm | ||
284 | .word cpu_arm6_set_pte_ext | ||
285 | .word 0 | ||
286 | .word 0 | ||
287 | .word 0 | ||
288 | .size arm6_processor_functions, . - arm6_processor_functions | ||
289 | |||
290 | /* | ||
291 | * Purpose : Function pointers used to access above functions - all calls | ||
292 | * come through these | ||
293 | */ | ||
294 | .type arm7_processor_functions, #object | ||
295 | ENTRY(arm7_processor_functions) | ||
296 | .word cpu_arm7_data_abort | ||
297 | .word legacy_pabort | ||
298 | .word cpu_arm7_proc_init | ||
299 | .word cpu_arm7_proc_fin | ||
300 | .word cpu_arm7_reset | ||
301 | .word cpu_arm7_do_idle | ||
302 | .word cpu_arm7_dcache_clean_area | ||
303 | .word cpu_arm7_switch_mm | ||
304 | .word cpu_arm7_set_pte_ext | ||
305 | .word 0 | ||
306 | .word 0 | ||
307 | .word 0 | ||
308 | .size arm7_processor_functions, . - arm7_processor_functions | ||
309 | 273 | ||
310 | .section ".rodata" | 274 | .section ".rodata" |
311 | 275 | ||
312 | .type cpu_arch_name, #object | 276 | string cpu_arch_name, "armv3" |
313 | cpu_arch_name: .asciz "armv3" | 277 | string cpu_elf_name, "v3" |
314 | .size cpu_arch_name, . - cpu_arch_name | 278 | string cpu_arm6_name, "ARM6" |
315 | 279 | string cpu_arm610_name, "ARM610" | |
316 | .type cpu_elf_name, #object | 280 | string cpu_arm7_name, "ARM7" |
317 | cpu_elf_name: .asciz "v3" | 281 | string cpu_arm710_name, "ARM710" |
318 | .size cpu_elf_name, . - cpu_elf_name | ||
319 | |||
320 | .type cpu_arm6_name, #object | ||
321 | cpu_arm6_name: .asciz "ARM6" | ||
322 | .size cpu_arm6_name, . - cpu_arm6_name | ||
323 | |||
324 | .type cpu_arm610_name, #object | ||
325 | cpu_arm610_name: | ||
326 | .asciz "ARM610" | ||
327 | .size cpu_arm610_name, . - cpu_arm610_name | ||
328 | |||
329 | .type cpu_arm7_name, #object | ||
330 | cpu_arm7_name: .asciz "ARM7" | ||
331 | .size cpu_arm7_name, . - cpu_arm7_name | ||
332 | |||
333 | .type cpu_arm710_name, #object | ||
334 | cpu_arm710_name: | ||
335 | .asciz "ARM710" | ||
336 | .size cpu_arm710_name, . - cpu_arm710_name | ||
337 | 282 | ||
338 | .align | 283 | .align |
339 | 284 | ||
340 | .section ".proc.info.init", #alloc, #execinstr | 285 | .section ".proc.info.init", #alloc, #execinstr |
341 | 286 | ||
342 | .type __arm6_proc_info, #object | 287 | .macro arm67_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req, \ |
343 | __arm6_proc_info: | 288 | cpu_mm_mmu_flags:req, cpu_flush:req, cpu_proc_funcs:req |
344 | .long 0x41560600 | 289 | .type __\name\()_proc_info, #object |
345 | .long 0xfffffff0 | 290 | __\name\()_proc_info: |
346 | .long 0x00000c1e | 291 | .long \cpu_val |
292 | .long \cpu_mask | ||
293 | .long \cpu_mm_mmu_flags | ||
347 | .long PMD_TYPE_SECT | \ | 294 | .long PMD_TYPE_SECT | \ |
348 | PMD_BIT4 | \ | 295 | PMD_BIT4 | \ |
349 | PMD_SECT_AP_WRITE | \ | 296 | PMD_SECT_AP_WRITE | \ |
350 | PMD_SECT_AP_READ | 297 | PMD_SECT_AP_READ |
351 | b __arm6_setup | 298 | b \cpu_flush |
352 | .long cpu_arch_name | 299 | .long cpu_arch_name |
353 | .long cpu_elf_name | 300 | .long cpu_elf_name |
354 | .long HWCAP_SWP | HWCAP_26BIT | 301 | .long HWCAP_SWP | HWCAP_26BIT |
355 | .long cpu_arm6_name | 302 | .long \cpu_name |
356 | .long arm6_processor_functions | 303 | .long \cpu_proc_funcs |
357 | .long v3_tlb_fns | 304 | .long v3_tlb_fns |
358 | .long v3_user_fns | 305 | .long v3_user_fns |
359 | .long v3_cache_fns | 306 | .long v3_cache_fns |
360 | .size __arm6_proc_info, . - __arm6_proc_info | 307 | .size __\name\()_proc_info, . - __\name\()_proc_info |
361 | 308 | .endm | |
362 | .type __arm610_proc_info, #object | 309 | |
363 | __arm610_proc_info: | 310 | arm67_proc_info arm6, 0x41560600, 0xfffffff0, cpu_arm6_name, \ |
364 | .long 0x41560610 | 311 | 0x00000c1e, __arm6_setup, arm6_processor_functions |
365 | .long 0xfffffff0 | 312 | arm67_proc_info arm610, 0x41560610, 0xfffffff0, cpu_arm610_name, \ |
366 | .long 0x00000c1e | 313 | 0x00000c1e, __arm6_setup, arm6_processor_functions |
367 | .long PMD_TYPE_SECT | \ | 314 | arm67_proc_info arm7, 0x41007000, 0xffffff00, cpu_arm7_name, \ |
368 | PMD_BIT4 | \ | 315 | 0x00000c1e, __arm7_setup, arm7_processor_functions |
369 | PMD_SECT_AP_WRITE | \ | 316 | arm67_proc_info arm710, 0x41007100, 0xfff8ff00, cpu_arm710_name, \ |
370 | PMD_SECT_AP_READ | 317 | PMD_TYPE_SECT | \ |
371 | b __arm6_setup | ||
372 | .long cpu_arch_name | ||
373 | .long cpu_elf_name | ||
374 | .long HWCAP_SWP | HWCAP_26BIT | ||
375 | .long cpu_arm610_name | ||
376 | .long arm6_processor_functions | ||
377 | .long v3_tlb_fns | ||
378 | .long v3_user_fns | ||
379 | .long v3_cache_fns | ||
380 | .size __arm610_proc_info, . - __arm610_proc_info | ||
381 | |||
382 | .type __arm7_proc_info, #object | ||
383 | __arm7_proc_info: | ||
384 | .long 0x41007000 | ||
385 | .long 0xffffff00 | ||
386 | .long 0x00000c1e | ||
387 | .long PMD_TYPE_SECT | \ | ||
388 | PMD_BIT4 | \ | ||
389 | PMD_SECT_AP_WRITE | \ | ||
390 | PMD_SECT_AP_READ | ||
391 | b __arm7_setup | ||
392 | .long cpu_arch_name | ||
393 | .long cpu_elf_name | ||
394 | .long HWCAP_SWP | HWCAP_26BIT | ||
395 | .long cpu_arm7_name | ||
396 | .long arm7_processor_functions | ||
397 | .long v3_tlb_fns | ||
398 | .long v3_user_fns | ||
399 | .long v3_cache_fns | ||
400 | .size __arm7_proc_info, . - __arm7_proc_info | ||
401 | |||
402 | .type __arm710_proc_info, #object | ||
403 | __arm710_proc_info: | ||
404 | .long 0x41007100 | ||
405 | .long 0xfff8ff00 | ||
406 | .long PMD_TYPE_SECT | \ | ||
407 | PMD_SECT_BUFFERABLE | \ | 318 | PMD_SECT_BUFFERABLE | \ |
408 | PMD_SECT_CACHEABLE | \ | 319 | PMD_SECT_CACHEABLE | \ |
409 | PMD_BIT4 | \ | 320 | PMD_BIT4 | \ |
410 | PMD_SECT_AP_WRITE | \ | 321 | PMD_SECT_AP_WRITE | \ |
411 | PMD_SECT_AP_READ | 322 | PMD_SECT_AP_READ, \ |
412 | .long PMD_TYPE_SECT | \ | 323 | __arm7_setup, arm7_processor_functions |
413 | PMD_BIT4 | \ | ||
414 | PMD_SECT_AP_WRITE | \ | ||
415 | PMD_SECT_AP_READ | ||
416 | b __arm7_setup | ||
417 | .long cpu_arch_name | ||
418 | .long cpu_elf_name | ||
419 | .long HWCAP_SWP | HWCAP_26BIT | ||
420 | .long cpu_arm710_name | ||
421 | .long arm7_processor_functions | ||
422 | .long v3_tlb_fns | ||
423 | .long v3_user_fns | ||
424 | .long v3_cache_fns | ||
425 | .size __arm710_proc_info, . - __arm710_proc_info | ||