diff options
author | Dave Martin <dave.martin@linaro.org> | 2011-06-23 12:26:56 -0400 |
---|---|---|
committer | Dave Martin <dave.martin@linaro.org> | 2011-07-07 10:31:11 -0400 |
commit | ab1a746da9dd19e30a98d9744d5c7dc6df597fb0 (patch) | |
tree | ba149f538a8203e85a24dffaed40be7ec1573440 /arch/arm/mm/proc-xscale.S | |
parent | c21898f9f02f8d54d09905ea4ce3a47592900ec4 (diff) |
ARM: mm: proc-xscale: Use new generic struct definition macros
Without this patch, xscale_80200_A0_A1 is missing the
icache_flush_all entry, which would result in the wrong functions
being called at run-time.
This patch re-uses xscale_icache_flush_all for
xscale_80200_A0_A1_cache_fns.
Signed-off-by: Dave Martin <dave.martin@linaro.org>
Diffstat (limited to 'arch/arm/mm/proc-xscale.S')
-rw-r--r-- | arch/arm/mm/proc-xscale.S | 507 |
1 files changed, 76 insertions, 431 deletions
diff --git a/arch/arm/mm/proc-xscale.S b/arch/arm/mm/proc-xscale.S index 42af97664c9d..76a804605010 100644 --- a/arch/arm/mm/proc-xscale.S +++ b/arch/arm/mm/proc-xscale.S | |||
@@ -390,12 +390,12 @@ ENDPROC(xscale_dma_map_area) | |||
390 | * - size - size of region | 390 | * - size - size of region |
391 | * - dir - DMA direction | 391 | * - dir - DMA direction |
392 | */ | 392 | */ |
393 | ENTRY(xscale_dma_a0_map_area) | 393 | ENTRY(xscale_80200_A0_A1_dma_map_area) |
394 | add r1, r1, r0 | 394 | add r1, r1, r0 |
395 | teq r2, #DMA_TO_DEVICE | 395 | teq r2, #DMA_TO_DEVICE |
396 | beq xscale_dma_clean_range | 396 | beq xscale_dma_clean_range |
397 | b xscale_dma_flush_range | 397 | b xscale_dma_flush_range |
398 | ENDPROC(xscale_dma_a0_map_area) | 398 | ENDPROC(xscale_80200_A0_A1_dma_map_area) |
399 | 399 | ||
400 | /* | 400 | /* |
401 | * dma_unmap_area(start, size, dir) | 401 | * dma_unmap_area(start, size, dir) |
@@ -407,17 +407,8 @@ ENTRY(xscale_dma_unmap_area) | |||
407 | mov pc, lr | 407 | mov pc, lr |
408 | ENDPROC(xscale_dma_unmap_area) | 408 | ENDPROC(xscale_dma_unmap_area) |
409 | 409 | ||
410 | ENTRY(xscale_cache_fns) | 410 | @ define struct cpu_cache_fns (see <asm/cacheflush.h> and proc-macros.S) |
411 | .long xscale_flush_icache_all | 411 | define_cache_functions xscale |
412 | .long xscale_flush_kern_cache_all | ||
413 | .long xscale_flush_user_cache_all | ||
414 | .long xscale_flush_user_cache_range | ||
415 | .long xscale_coherent_kern_range | ||
416 | .long xscale_coherent_user_range | ||
417 | .long xscale_flush_kern_dcache_area | ||
418 | .long xscale_dma_map_area | ||
419 | .long xscale_dma_unmap_area | ||
420 | .long xscale_dma_flush_range | ||
421 | 412 | ||
422 | /* | 413 | /* |
423 | * On stepping A0/A1 of the 80200, invalidating D-cache by line doesn't | 414 | * On stepping A0/A1 of the 80200, invalidating D-cache by line doesn't |
@@ -432,16 +423,28 @@ ENTRY(xscale_cache_fns) | |||
432 | * revision January 22, 2003, available at: | 423 | * revision January 22, 2003, available at: |
433 | * http://www.intel.com/design/iio/specupdt/273415.htm | 424 | * http://www.intel.com/design/iio/specupdt/273415.htm |
434 | */ | 425 | */ |
435 | ENTRY(xscale_80200_A0_A1_cache_fns) | 426 | .macro a0_alias basename |
436 | .long xscale_flush_kern_cache_all | 427 | .globl xscale_80200_A0_A1_\basename |
437 | .long xscale_flush_user_cache_all | 428 | .type xscale_80200_A0_A1_\basename , %function |
438 | .long xscale_flush_user_cache_range | 429 | .equ xscale_80200_A0_A1_\basename , xscale_\basename |
439 | .long xscale_coherent_kern_range | 430 | .endm |
440 | .long xscale_coherent_user_range | 431 | |
441 | .long xscale_flush_kern_dcache_area | 432 | /* |
442 | .long xscale_dma_a0_map_area | 433 | * Most of the cache functions are unchanged for these processor revisions. |
443 | .long xscale_dma_unmap_area | 434 | * Export suitable alias symbols for the unchanged functions: |
444 | .long xscale_dma_flush_range | 435 | */ |
436 | a0_alias flush_icache_all | ||
437 | a0_alias flush_user_cache_all | ||
438 | a0_alias flush_kern_cache_all | ||
439 | a0_alias flush_user_cache_range | ||
440 | a0_alias coherent_kern_range | ||
441 | a0_alias coherent_user_range | ||
442 | a0_alias flush_kern_dcache_area | ||
443 | a0_alias dma_flush_range | ||
444 | a0_alias dma_unmap_area | ||
445 | |||
446 | @ define struct cpu_cache_fns (see <asm/cacheflush.h> and proc-macros.S) | ||
447 | define_cache_functions xscale_80200_A0_A1 | ||
445 | 448 | ||
446 | ENTRY(cpu_xscale_dcache_clean_area) | 449 | ENTRY(cpu_xscale_dcache_clean_area) |
447 | 1: mcr p15, 0, r0, c7, c10, 1 @ clean D entry | 450 | 1: mcr p15, 0, r0, c7, c10, 1 @ clean D entry |
@@ -587,432 +590,74 @@ xscale_crval: | |||
587 | 590 | ||
588 | __INITDATA | 591 | __INITDATA |
589 | 592 | ||
590 | /* | 593 | @ define struct processor (see <asm/proc-fns.h> and proc-macros.S) |
591 | * Purpose : Function pointers used to access above functions - all calls | 594 | define_processor_functions xscale, dabort=v5t_early_abort, pabort=legacy_pabort, suspend=1 |
592 | * come through these | ||
593 | */ | ||
594 | |||
595 | .type xscale_processor_functions, #object | ||
596 | ENTRY(xscale_processor_functions) | ||
597 | .word v5t_early_abort | ||
598 | .word legacy_pabort | ||
599 | .word cpu_xscale_proc_init | ||
600 | .word cpu_xscale_proc_fin | ||
601 | .word cpu_xscale_reset | ||
602 | .word cpu_xscale_do_idle | ||
603 | .word cpu_xscale_dcache_clean_area | ||
604 | .word cpu_xscale_switch_mm | ||
605 | .word cpu_xscale_set_pte_ext | ||
606 | .word cpu_xscale_suspend_size | ||
607 | .word cpu_xscale_do_suspend | ||
608 | .word cpu_xscale_do_resume | ||
609 | .size xscale_processor_functions, . - xscale_processor_functions | ||
610 | 595 | ||
611 | .section ".rodata" | 596 | .section ".rodata" |
612 | 597 | ||
613 | .type cpu_arch_name, #object | 598 | string cpu_arch_name, "armv5te" |
614 | cpu_arch_name: | 599 | string cpu_elf_name, "v5" |
615 | .asciz "armv5te" | 600 | |
616 | .size cpu_arch_name, . - cpu_arch_name | 601 | string cpu_80200_A0_A1_name, "XScale-80200 A0/A1" |
617 | 602 | string cpu_80200_name, "XScale-80200" | |
618 | .type cpu_elf_name, #object | 603 | string cpu_80219_name, "XScale-80219" |
619 | cpu_elf_name: | 604 | string cpu_8032x_name, "XScale-IOP8032x Family" |
620 | .asciz "v5" | 605 | string cpu_8033x_name, "XScale-IOP8033x Family" |
621 | .size cpu_elf_name, . - cpu_elf_name | 606 | string cpu_pxa250_name, "XScale-PXA250" |
622 | 607 | string cpu_pxa210_name, "XScale-PXA210" | |
623 | .type cpu_80200_A0_A1_name, #object | 608 | string cpu_ixp42x_name, "XScale-IXP42x Family" |
624 | cpu_80200_A0_A1_name: | 609 | string cpu_ixp43x_name, "XScale-IXP43x Family" |
625 | .asciz "XScale-80200 A0/A1" | 610 | string cpu_ixp46x_name, "XScale-IXP46x Family" |
626 | .size cpu_80200_A0_A1_name, . - cpu_80200_A0_A1_name | 611 | string cpu_ixp2400_name, "XScale-IXP2400" |
627 | 612 | string cpu_ixp2800_name, "XScale-IXP2800" | |
628 | .type cpu_80200_name, #object | 613 | string cpu_pxa255_name, "XScale-PXA255" |
629 | cpu_80200_name: | 614 | string cpu_pxa270_name, "XScale-PXA270" |
630 | .asciz "XScale-80200" | ||
631 | .size cpu_80200_name, . - cpu_80200_name | ||
632 | |||
633 | .type cpu_80219_name, #object | ||
634 | cpu_80219_name: | ||
635 | .asciz "XScale-80219" | ||
636 | .size cpu_80219_name, . - cpu_80219_name | ||
637 | |||
638 | .type cpu_8032x_name, #object | ||
639 | cpu_8032x_name: | ||
640 | .asciz "XScale-IOP8032x Family" | ||
641 | .size cpu_8032x_name, . - cpu_8032x_name | ||
642 | |||
643 | .type cpu_8033x_name, #object | ||
644 | cpu_8033x_name: | ||
645 | .asciz "XScale-IOP8033x Family" | ||
646 | .size cpu_8033x_name, . - cpu_8033x_name | ||
647 | |||
648 | .type cpu_pxa250_name, #object | ||
649 | cpu_pxa250_name: | ||
650 | .asciz "XScale-PXA250" | ||
651 | .size cpu_pxa250_name, . - cpu_pxa250_name | ||
652 | |||
653 | .type cpu_pxa210_name, #object | ||
654 | cpu_pxa210_name: | ||
655 | .asciz "XScale-PXA210" | ||
656 | .size cpu_pxa210_name, . - cpu_pxa210_name | ||
657 | |||
658 | .type cpu_ixp42x_name, #object | ||
659 | cpu_ixp42x_name: | ||
660 | .asciz "XScale-IXP42x Family" | ||
661 | .size cpu_ixp42x_name, . - cpu_ixp42x_name | ||
662 | |||
663 | .type cpu_ixp43x_name, #object | ||
664 | cpu_ixp43x_name: | ||
665 | .asciz "XScale-IXP43x Family" | ||
666 | .size cpu_ixp43x_name, . - cpu_ixp43x_name | ||
667 | |||
668 | .type cpu_ixp46x_name, #object | ||
669 | cpu_ixp46x_name: | ||
670 | .asciz "XScale-IXP46x Family" | ||
671 | .size cpu_ixp46x_name, . - cpu_ixp46x_name | ||
672 | |||
673 | .type cpu_ixp2400_name, #object | ||
674 | cpu_ixp2400_name: | ||
675 | .asciz "XScale-IXP2400" | ||
676 | .size cpu_ixp2400_name, . - cpu_ixp2400_name | ||
677 | |||
678 | .type cpu_ixp2800_name, #object | ||
679 | cpu_ixp2800_name: | ||
680 | .asciz "XScale-IXP2800" | ||
681 | .size cpu_ixp2800_name, . - cpu_ixp2800_name | ||
682 | |||
683 | .type cpu_pxa255_name, #object | ||
684 | cpu_pxa255_name: | ||
685 | .asciz "XScale-PXA255" | ||
686 | .size cpu_pxa255_name, . - cpu_pxa255_name | ||
687 | |||
688 | .type cpu_pxa270_name, #object | ||
689 | cpu_pxa270_name: | ||
690 | .asciz "XScale-PXA270" | ||
691 | .size cpu_pxa270_name, . - cpu_pxa270_name | ||
692 | 615 | ||
693 | .align | 616 | .align |
694 | 617 | ||
695 | .section ".proc.info.init", #alloc, #execinstr | 618 | .section ".proc.info.init", #alloc, #execinstr |
696 | 619 | ||
697 | .type __80200_A0_A1_proc_info,#object | 620 | .macro xscale_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req, cache |
698 | __80200_A0_A1_proc_info: | 621 | .type __\name\()_proc_info,#object |
699 | .long 0x69052000 | 622 | __\name\()_proc_info: |
700 | .long 0xfffffffe | 623 | .long \cpu_val |
701 | .long PMD_TYPE_SECT | \ | 624 | .long \cpu_mask |
702 | PMD_SECT_BUFFERABLE | \ | 625 | .long PMD_TYPE_SECT | \ |
703 | PMD_SECT_CACHEABLE | \ | ||
704 | PMD_SECT_AP_WRITE | \ | ||
705 | PMD_SECT_AP_READ | ||
706 | .long PMD_TYPE_SECT | \ | ||
707 | PMD_SECT_AP_WRITE | \ | ||
708 | PMD_SECT_AP_READ | ||
709 | b __xscale_setup | ||
710 | .long cpu_arch_name | ||
711 | .long cpu_elf_name | ||
712 | .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP | ||
713 | .long cpu_80200_name | ||
714 | .long xscale_processor_functions | ||
715 | .long v4wbi_tlb_fns | ||
716 | .long xscale_mc_user_fns | ||
717 | .long xscale_80200_A0_A1_cache_fns | ||
718 | .size __80200_A0_A1_proc_info, . - __80200_A0_A1_proc_info | ||
719 | |||
720 | .type __80200_proc_info,#object | ||
721 | __80200_proc_info: | ||
722 | .long 0x69052000 | ||
723 | .long 0xfffffff0 | ||
724 | .long PMD_TYPE_SECT | \ | ||
725 | PMD_SECT_BUFFERABLE | \ | 626 | PMD_SECT_BUFFERABLE | \ |
726 | PMD_SECT_CACHEABLE | \ | 627 | PMD_SECT_CACHEABLE | \ |
727 | PMD_SECT_AP_WRITE | \ | 628 | PMD_SECT_AP_WRITE | \ |
728 | PMD_SECT_AP_READ | 629 | PMD_SECT_AP_READ |
729 | .long PMD_TYPE_SECT | \ | 630 | .long PMD_TYPE_SECT | \ |
730 | PMD_SECT_AP_WRITE | \ | 631 | PMD_SECT_AP_WRITE | \ |
731 | PMD_SECT_AP_READ | 632 | PMD_SECT_AP_READ |
732 | b __xscale_setup | 633 | b __xscale_setup |
733 | .long cpu_arch_name | 634 | .long cpu_arch_name |
734 | .long cpu_elf_name | 635 | .long cpu_elf_name |
735 | .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP | 636 | .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP |
736 | .long cpu_80200_name | 637 | .long \cpu_name |
737 | .long xscale_processor_functions | 638 | .long xscale_processor_functions |
738 | .long v4wbi_tlb_fns | 639 | .long v4wbi_tlb_fns |
739 | .long xscale_mc_user_fns | 640 | .long xscale_mc_user_fns |
740 | .long xscale_cache_fns | 641 | .ifb \cache |
741 | .size __80200_proc_info, . - __80200_proc_info | 642 | .long xscale_cache_fns |
742 | 643 | .else | |
743 | .type __80219_proc_info,#object | 644 | .long \cache |
744 | __80219_proc_info: | 645 | .endif |
745 | .long 0x69052e20 | 646 | .size __\name\()_proc_info, . - __\name\()_proc_info |
746 | .long 0xffffffe0 | 647 | .endm |
747 | .long PMD_TYPE_SECT | \ | 648 | |
748 | PMD_SECT_BUFFERABLE | \ | 649 | xscale_proc_info 80200_A0_A1, 0x69052000, 0xfffffffe, cpu_80200_name, \ |
749 | PMD_SECT_CACHEABLE | \ | 650 | cache=xscale_80200_A0_A1_cache_fns |
750 | PMD_SECT_AP_WRITE | \ | 651 | xscale_proc_info 80200, 0x69052000, 0xfffffff0, cpu_80200_name |
751 | PMD_SECT_AP_READ | 652 | xscale_proc_info 80219, 0x69052e20, 0xffffffe0, cpu_80219_name |
752 | .long PMD_TYPE_SECT | \ | 653 | xscale_proc_info 8032x, 0x69052420, 0xfffff7e0, cpu_8032x_name |
753 | PMD_SECT_AP_WRITE | \ | 654 | xscale_proc_info 8033x, 0x69054010, 0xfffffd30, cpu_8033x_name |
754 | PMD_SECT_AP_READ | 655 | xscale_proc_info pxa250, 0x69052100, 0xfffff7f0, cpu_pxa250_name |
755 | b __xscale_setup | 656 | xscale_proc_info pxa210, 0x69052120, 0xfffff3f0, cpu_pxa210_name |
756 | .long cpu_arch_name | 657 | xscale_proc_info ixp2400, 0x69054190, 0xfffffff0, cpu_ixp2400_name |
757 | .long cpu_elf_name | 658 | xscale_proc_info ixp2800, 0x690541a0, 0xfffffff0, cpu_ixp2800_name |
758 | .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP | 659 | xscale_proc_info ixp42x, 0x690541c0, 0xffffffc0, cpu_ixp42x_name |
759 | .long cpu_80219_name | 660 | xscale_proc_info ixp43x, 0x69054040, 0xfffffff0, cpu_ixp43x_name |
760 | .long xscale_processor_functions | 661 | xscale_proc_info ixp46x, 0x69054200, 0xffffff00, cpu_ixp46x_name |
761 | .long v4wbi_tlb_fns | 662 | xscale_proc_info pxa255, 0x69052d00, 0xfffffff0, cpu_pxa255_name |
762 | .long xscale_mc_user_fns | 663 | xscale_proc_info pxa270, 0x69054110, 0xfffffff0, cpu_pxa270_name |
763 | .long xscale_cache_fns | ||
764 | .size __80219_proc_info, . - __80219_proc_info | ||
765 | |||
766 | .type __8032x_proc_info,#object | ||
767 | __8032x_proc_info: | ||
768 | .long 0x69052420 | ||
769 | .long 0xfffff7e0 | ||
770 | .long PMD_TYPE_SECT | \ | ||
771 | PMD_SECT_BUFFERABLE | \ | ||
772 | PMD_SECT_CACHEABLE | \ | ||
773 | PMD_SECT_AP_WRITE | \ | ||
774 | PMD_SECT_AP_READ | ||
775 | .long PMD_TYPE_SECT | \ | ||
776 | PMD_SECT_AP_WRITE | \ | ||
777 | PMD_SECT_AP_READ | ||
778 | b __xscale_setup | ||
779 | .long cpu_arch_name | ||
780 | .long cpu_elf_name | ||
781 | .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP | ||
782 | .long cpu_8032x_name | ||
783 | .long xscale_processor_functions | ||
784 | .long v4wbi_tlb_fns | ||
785 | .long xscale_mc_user_fns | ||
786 | .long xscale_cache_fns | ||
787 | .size __8032x_proc_info, . - __8032x_proc_info | ||
788 | |||
789 | .type __8033x_proc_info,#object | ||
790 | __8033x_proc_info: | ||
791 | .long 0x69054010 | ||
792 | .long 0xfffffd30 | ||
793 | .long PMD_TYPE_SECT | \ | ||
794 | PMD_SECT_BUFFERABLE | \ | ||
795 | PMD_SECT_CACHEABLE | \ | ||
796 | PMD_SECT_AP_WRITE | \ | ||
797 | PMD_SECT_AP_READ | ||
798 | .long PMD_TYPE_SECT | \ | ||
799 | PMD_SECT_AP_WRITE | \ | ||
800 | PMD_SECT_AP_READ | ||
801 | b __xscale_setup | ||
802 | .long cpu_arch_name | ||
803 | .long cpu_elf_name | ||
804 | .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP | ||
805 | .long cpu_8033x_name | ||
806 | .long xscale_processor_functions | ||
807 | .long v4wbi_tlb_fns | ||
808 | .long xscale_mc_user_fns | ||
809 | .long xscale_cache_fns | ||
810 | .size __8033x_proc_info, . - __8033x_proc_info | ||
811 | |||
812 | .type __pxa250_proc_info,#object | ||
813 | __pxa250_proc_info: | ||
814 | .long 0x69052100 | ||
815 | .long 0xfffff7f0 | ||
816 | .long PMD_TYPE_SECT | \ | ||
817 | PMD_SECT_BUFFERABLE | \ | ||
818 | PMD_SECT_CACHEABLE | \ | ||
819 | PMD_SECT_AP_WRITE | \ | ||
820 | PMD_SECT_AP_READ | ||
821 | .long PMD_TYPE_SECT | \ | ||
822 | PMD_SECT_AP_WRITE | \ | ||
823 | PMD_SECT_AP_READ | ||
824 | b __xscale_setup | ||
825 | .long cpu_arch_name | ||
826 | .long cpu_elf_name | ||
827 | .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP | ||
828 | .long cpu_pxa250_name | ||
829 | .long xscale_processor_functions | ||
830 | .long v4wbi_tlb_fns | ||
831 | .long xscale_mc_user_fns | ||
832 | .long xscale_cache_fns | ||
833 | .size __pxa250_proc_info, . - __pxa250_proc_info | ||
834 | |||
835 | .type __pxa210_proc_info,#object | ||
836 | __pxa210_proc_info: | ||
837 | .long 0x69052120 | ||
838 | .long 0xfffff3f0 | ||
839 | .long PMD_TYPE_SECT | \ | ||
840 | PMD_SECT_BUFFERABLE | \ | ||
841 | PMD_SECT_CACHEABLE | \ | ||
842 | PMD_SECT_AP_WRITE | \ | ||
843 | PMD_SECT_AP_READ | ||
844 | .long PMD_TYPE_SECT | \ | ||
845 | PMD_SECT_AP_WRITE | \ | ||
846 | PMD_SECT_AP_READ | ||
847 | b __xscale_setup | ||
848 | .long cpu_arch_name | ||
849 | .long cpu_elf_name | ||
850 | .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP | ||
851 | .long cpu_pxa210_name | ||
852 | .long xscale_processor_functions | ||
853 | .long v4wbi_tlb_fns | ||
854 | .long xscale_mc_user_fns | ||
855 | .long xscale_cache_fns | ||
856 | .size __pxa210_proc_info, . - __pxa210_proc_info | ||
857 | |||
858 | .type __ixp2400_proc_info, #object | ||
859 | __ixp2400_proc_info: | ||
860 | .long 0x69054190 | ||
861 | .long 0xfffffff0 | ||
862 | .long PMD_TYPE_SECT | \ | ||
863 | PMD_SECT_BUFFERABLE | \ | ||
864 | PMD_SECT_CACHEABLE | \ | ||
865 | PMD_SECT_AP_WRITE | \ | ||
866 | PMD_SECT_AP_READ | ||
867 | .long PMD_TYPE_SECT | \ | ||
868 | PMD_SECT_AP_WRITE | \ | ||
869 | PMD_SECT_AP_READ | ||
870 | b __xscale_setup | ||
871 | .long cpu_arch_name | ||
872 | .long cpu_elf_name | ||
873 | .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP | ||
874 | .long cpu_ixp2400_name | ||
875 | .long xscale_processor_functions | ||
876 | .long v4wbi_tlb_fns | ||
877 | .long xscale_mc_user_fns | ||
878 | .long xscale_cache_fns | ||
879 | .size __ixp2400_proc_info, . - __ixp2400_proc_info | ||
880 | |||
881 | .type __ixp2800_proc_info, #object | ||
882 | __ixp2800_proc_info: | ||
883 | .long 0x690541a0 | ||
884 | .long 0xfffffff0 | ||
885 | .long PMD_TYPE_SECT | \ | ||
886 | PMD_SECT_BUFFERABLE | \ | ||
887 | PMD_SECT_CACHEABLE | \ | ||
888 | PMD_SECT_AP_WRITE | \ | ||
889 | PMD_SECT_AP_READ | ||
890 | .long PMD_TYPE_SECT | \ | ||
891 | PMD_SECT_AP_WRITE | \ | ||
892 | PMD_SECT_AP_READ | ||
893 | b __xscale_setup | ||
894 | .long cpu_arch_name | ||
895 | .long cpu_elf_name | ||
896 | .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP | ||
897 | .long cpu_ixp2800_name | ||
898 | .long xscale_processor_functions | ||
899 | .long v4wbi_tlb_fns | ||
900 | .long xscale_mc_user_fns | ||
901 | .long xscale_cache_fns | ||
902 | .size __ixp2800_proc_info, . - __ixp2800_proc_info | ||
903 | |||
904 | .type __ixp42x_proc_info, #object | ||
905 | __ixp42x_proc_info: | ||
906 | .long 0x690541c0 | ||
907 | .long 0xffffffc0 | ||
908 | .long PMD_TYPE_SECT | \ | ||
909 | PMD_SECT_BUFFERABLE | \ | ||
910 | PMD_SECT_CACHEABLE | \ | ||
911 | PMD_SECT_AP_WRITE | \ | ||
912 | PMD_SECT_AP_READ | ||
913 | .long PMD_TYPE_SECT | \ | ||
914 | PMD_SECT_AP_WRITE | \ | ||
915 | PMD_SECT_AP_READ | ||
916 | b __xscale_setup | ||
917 | .long cpu_arch_name | ||
918 | .long cpu_elf_name | ||
919 | .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP | ||
920 | .long cpu_ixp42x_name | ||
921 | .long xscale_processor_functions | ||
922 | .long v4wbi_tlb_fns | ||
923 | .long xscale_mc_user_fns | ||
924 | .long xscale_cache_fns | ||
925 | .size __ixp42x_proc_info, . - __ixp42x_proc_info | ||
926 | |||
927 | .type __ixp43x_proc_info, #object | ||
928 | __ixp43x_proc_info: | ||
929 | .long 0x69054040 | ||
930 | .long 0xfffffff0 | ||
931 | .long PMD_TYPE_SECT | \ | ||
932 | PMD_SECT_BUFFERABLE | \ | ||
933 | PMD_SECT_CACHEABLE | \ | ||
934 | PMD_SECT_AP_WRITE | \ | ||
935 | PMD_SECT_AP_READ | ||
936 | .long PMD_TYPE_SECT | \ | ||
937 | PMD_SECT_AP_WRITE | \ | ||
938 | PMD_SECT_AP_READ | ||
939 | b __xscale_setup | ||
940 | .long cpu_arch_name | ||
941 | .long cpu_elf_name | ||
942 | .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP | ||
943 | .long cpu_ixp43x_name | ||
944 | .long xscale_processor_functions | ||
945 | .long v4wbi_tlb_fns | ||
946 | .long xscale_mc_user_fns | ||
947 | .long xscale_cache_fns | ||
948 | .size __ixp43x_proc_info, . - __ixp43x_proc_info | ||
949 | |||
950 | .type __ixp46x_proc_info, #object | ||
951 | __ixp46x_proc_info: | ||
952 | .long 0x69054200 | ||
953 | .long 0xffffff00 | ||
954 | .long PMD_TYPE_SECT | \ | ||
955 | PMD_SECT_BUFFERABLE | \ | ||
956 | PMD_SECT_CACHEABLE | \ | ||
957 | PMD_SECT_AP_WRITE | \ | ||
958 | PMD_SECT_AP_READ | ||
959 | .long PMD_TYPE_SECT | \ | ||
960 | PMD_SECT_AP_WRITE | \ | ||
961 | PMD_SECT_AP_READ | ||
962 | b __xscale_setup | ||
963 | .long cpu_arch_name | ||
964 | .long cpu_elf_name | ||
965 | .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP | ||
966 | .long cpu_ixp46x_name | ||
967 | .long xscale_processor_functions | ||
968 | .long v4wbi_tlb_fns | ||
969 | .long xscale_mc_user_fns | ||
970 | .long xscale_cache_fns | ||
971 | .size __ixp46x_proc_info, . - __ixp46x_proc_info | ||
972 | |||
973 | .type __pxa255_proc_info,#object | ||
974 | __pxa255_proc_info: | ||
975 | .long 0x69052d00 | ||
976 | .long 0xfffffff0 | ||
977 | .long PMD_TYPE_SECT | \ | ||
978 | PMD_SECT_BUFFERABLE | \ | ||
979 | PMD_SECT_CACHEABLE | \ | ||
980 | PMD_SECT_AP_WRITE | \ | ||
981 | PMD_SECT_AP_READ | ||
982 | .long PMD_TYPE_SECT | \ | ||
983 | PMD_SECT_AP_WRITE | \ | ||
984 | PMD_SECT_AP_READ | ||
985 | b __xscale_setup | ||
986 | .long cpu_arch_name | ||
987 | .long cpu_elf_name | ||
988 | .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP | ||
989 | .long cpu_pxa255_name | ||
990 | .long xscale_processor_functions | ||
991 | .long v4wbi_tlb_fns | ||
992 | .long xscale_mc_user_fns | ||
993 | .long xscale_cache_fns | ||
994 | .size __pxa255_proc_info, . - __pxa255_proc_info | ||
995 | |||
996 | .type __pxa270_proc_info,#object | ||
997 | __pxa270_proc_info: | ||
998 | .long 0x69054110 | ||
999 | .long 0xfffffff0 | ||
1000 | .long PMD_TYPE_SECT | \ | ||
1001 | PMD_SECT_BUFFERABLE | \ | ||
1002 | PMD_SECT_CACHEABLE | \ | ||
1003 | PMD_SECT_AP_WRITE | \ | ||
1004 | PMD_SECT_AP_READ | ||
1005 | .long PMD_TYPE_SECT | \ | ||
1006 | PMD_SECT_AP_WRITE | \ | ||
1007 | PMD_SECT_AP_READ | ||
1008 | b __xscale_setup | ||
1009 | .long cpu_arch_name | ||
1010 | .long cpu_elf_name | ||
1011 | .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP | ||
1012 | .long cpu_pxa270_name | ||
1013 | .long xscale_processor_functions | ||
1014 | .long v4wbi_tlb_fns | ||
1015 | .long xscale_mc_user_fns | ||
1016 | .long xscale_cache_fns | ||
1017 | .size __pxa270_proc_info, . - __pxa270_proc_info | ||
1018 | |||