diff options
author | Dave Martin <dave.martin@linaro.org> | 2011-06-23 12:26:38 -0400 |
---|---|---|
committer | Dave Martin <dave.martin@linaro.org> | 2011-07-07 10:31:11 -0400 |
commit | c21898f9f02f8d54d09905ea4ce3a47592900ec4 (patch) | |
tree | 76c34ff01568e8bf5280aa7b074b26b6f1901082 /arch | |
parent | 78a8f3c365b8851eb9862c54425e95bfd523f22d (diff) |
ARM: mm: proc-xsc3: Use new generic struct definition macros
Signed-off-by: Dave Martin <dave.martin@linaro.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mm/proc-xsc3.S | 90 |
1 files changed, 17 insertions, 73 deletions
diff --git a/arch/arm/mm/proc-xsc3.S b/arch/arm/mm/proc-xsc3.S index 596213699f37..1508f9bc526a 100644 --- a/arch/arm/mm/proc-xsc3.S +++ b/arch/arm/mm/proc-xsc3.S | |||
@@ -335,17 +335,8 @@ ENTRY(xsc3_dma_unmap_area) | |||
335 | mov pc, lr | 335 | mov pc, lr |
336 | ENDPROC(xsc3_dma_unmap_area) | 336 | ENDPROC(xsc3_dma_unmap_area) |
337 | 337 | ||
338 | ENTRY(xsc3_cache_fns) | 338 | @ define struct cpu_cache_fns (see <asm/cacheflush.h> and proc-macros.S) |
339 | .long xsc3_flush_icache_all | 339 | define_cache_functions xsc3 |
340 | .long xsc3_flush_kern_cache_all | ||
341 | .long xsc3_flush_user_cache_all | ||
342 | .long xsc3_flush_user_cache_range | ||
343 | .long xsc3_coherent_kern_range | ||
344 | .long xsc3_coherent_user_range | ||
345 | .long xsc3_flush_kern_dcache_area | ||
346 | .long xsc3_dma_map_area | ||
347 | .long xsc3_dma_unmap_area | ||
348 | .long xsc3_dma_flush_range | ||
349 | 340 | ||
350 | ENTRY(cpu_xsc3_dcache_clean_area) | 341 | ENTRY(cpu_xsc3_dcache_clean_area) |
351 | 1: mcr p15, 0, r0, c7, c10, 1 @ clean L1 D line | 342 | 1: mcr p15, 0, r0, c7, c10, 1 @ clean L1 D line |
@@ -503,52 +494,24 @@ xsc3_crval: | |||
503 | 494 | ||
504 | __INITDATA | 495 | __INITDATA |
505 | 496 | ||
506 | /* | 497 | @ define struct processor (see <asm/proc-fns.h> and proc-macros.S) |
507 | * Purpose : Function pointers used to access above functions - all calls | 498 | define_processor_functions xsc3, dabort=v5t_early_abort, pabort=legacy_pabort, suspend=1 |
508 | * come through these | ||
509 | */ | ||
510 | |||
511 | .type xsc3_processor_functions, #object | ||
512 | ENTRY(xsc3_processor_functions) | ||
513 | .word v5t_early_abort | ||
514 | .word legacy_pabort | ||
515 | .word cpu_xsc3_proc_init | ||
516 | .word cpu_xsc3_proc_fin | ||
517 | .word cpu_xsc3_reset | ||
518 | .word cpu_xsc3_do_idle | ||
519 | .word cpu_xsc3_dcache_clean_area | ||
520 | .word cpu_xsc3_switch_mm | ||
521 | .word cpu_xsc3_set_pte_ext | ||
522 | .word cpu_xsc3_suspend_size | ||
523 | .word cpu_xsc3_do_suspend | ||
524 | .word cpu_xsc3_do_resume | ||
525 | .size xsc3_processor_functions, . - xsc3_processor_functions | ||
526 | 499 | ||
527 | .section ".rodata" | 500 | .section ".rodata" |
528 | 501 | ||
529 | .type cpu_arch_name, #object | 502 | string cpu_arch_name, "armv5te" |
530 | cpu_arch_name: | 503 | string cpu_elf_name, "v5" |
531 | .asciz "armv5te" | 504 | string cpu_xsc3_name, "XScale-V3 based processor" |
532 | .size cpu_arch_name, . - cpu_arch_name | ||
533 | |||
534 | .type cpu_elf_name, #object | ||
535 | cpu_elf_name: | ||
536 | .asciz "v5" | ||
537 | .size cpu_elf_name, . - cpu_elf_name | ||
538 | |||
539 | .type cpu_xsc3_name, #object | ||
540 | cpu_xsc3_name: | ||
541 | .asciz "XScale-V3 based processor" | ||
542 | .size cpu_xsc3_name, . - cpu_xsc3_name | ||
543 | 505 | ||
544 | .align | 506 | .align |
545 | 507 | ||
546 | .section ".proc.info.init", #alloc, #execinstr | 508 | .section ".proc.info.init", #alloc, #execinstr |
547 | 509 | ||
548 | .type __xsc3_proc_info,#object | 510 | .macro xsc3_proc_info name:req, cpu_val:req, cpu_mask:req |
549 | __xsc3_proc_info: | 511 | .type __\name\()_proc_info,#object |
550 | .long 0x69056000 | 512 | __\name\()_proc_info: |
551 | .long 0xffffe000 | 513 | .long \cpu_val |
514 | .long \cpu_mask | ||
552 | .long PMD_TYPE_SECT | \ | 515 | .long PMD_TYPE_SECT | \ |
553 | PMD_SECT_BUFFERABLE | \ | 516 | PMD_SECT_BUFFERABLE | \ |
554 | PMD_SECT_CACHEABLE | \ | 517 | PMD_SECT_CACHEABLE | \ |
@@ -566,29 +529,10 @@ __xsc3_proc_info: | |||
566 | .long v4wbi_tlb_fns | 529 | .long v4wbi_tlb_fns |
567 | .long xsc3_mc_user_fns | 530 | .long xsc3_mc_user_fns |
568 | .long xsc3_cache_fns | 531 | .long xsc3_cache_fns |
569 | .size __xsc3_proc_info, . - __xsc3_proc_info | 532 | .size __\name\()_proc_info, . - __\name\()_proc_info |
533 | .endm | ||
570 | 534 | ||
571 | /* Note: PXA935 changed its implementor ID from Intel to Marvell */ | 535 | xsc3_proc_info xsc3, 0x69056000, 0xffffe000 |
572 | 536 | ||
573 | .type __xsc3_pxa935_proc_info,#object | 537 | /* Note: PXA935 changed its implementor ID from Intel to Marvell */ |
574 | __xsc3_pxa935_proc_info: | 538 | xsc3_proc_info xsc3_pxa935, 0x56056000, 0xffffe000 |
575 | .long 0x56056000 | ||
576 | .long 0xffffe000 | ||
577 | .long PMD_TYPE_SECT | \ | ||
578 | PMD_SECT_BUFFERABLE | \ | ||
579 | PMD_SECT_CACHEABLE | \ | ||
580 | PMD_SECT_AP_WRITE | \ | ||
581 | PMD_SECT_AP_READ | ||
582 | .long PMD_TYPE_SECT | \ | ||
583 | PMD_SECT_AP_WRITE | \ | ||
584 | PMD_SECT_AP_READ | ||
585 | b __xsc3_setup | ||
586 | .long cpu_arch_name | ||
587 | .long cpu_elf_name | ||
588 | .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP | ||
589 | .long cpu_xsc3_name | ||
590 | .long xsc3_processor_functions | ||
591 | .long v4wbi_tlb_fns | ||
592 | .long xsc3_mc_user_fns | ||
593 | .long xsc3_cache_fns | ||
594 | .size __xsc3_pxa935_proc_info, . - __xsc3_pxa935_proc_info | ||