diff options
Diffstat (limited to 'arch/blackfin/Kconfig')
-rw-r--r-- | arch/blackfin/Kconfig | 42 |
1 files changed, 34 insertions, 8 deletions
diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig index c09577ddc3c5..8addb1220b4f 100644 --- a/arch/blackfin/Kconfig +++ b/arch/blackfin/Kconfig | |||
@@ -31,6 +31,7 @@ config BLACKFIN | |||
31 | select HAVE_OPROFILE | 31 | select HAVE_OPROFILE |
32 | select ARCH_WANT_OPTIONAL_GPIOLIB | 32 | select ARCH_WANT_OPTIONAL_GPIOLIB |
33 | select HAVE_GENERIC_HARDIRQS | 33 | select HAVE_GENERIC_HARDIRQS |
34 | select GENERIC_ATOMIC64 | ||
34 | select GENERIC_IRQ_PROBE | 35 | select GENERIC_IRQ_PROBE |
35 | select IRQ_PER_CPU if SMP | 36 | select IRQ_PER_CPU if SMP |
36 | 37 | ||
@@ -690,13 +691,13 @@ endmenu | |||
690 | 691 | ||
691 | 692 | ||
692 | menu "Blackfin Kernel Optimizations" | 693 | menu "Blackfin Kernel Optimizations" |
693 | depends on !SMP | ||
694 | 694 | ||
695 | comment "Memory Optimizations" | 695 | comment "Memory Optimizations" |
696 | 696 | ||
697 | config I_ENTRY_L1 | 697 | config I_ENTRY_L1 |
698 | bool "Locate interrupt entry code in L1 Memory" | 698 | bool "Locate interrupt entry code in L1 Memory" |
699 | default y | 699 | default y |
700 | depends on !SMP | ||
700 | help | 701 | help |
701 | If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked | 702 | If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked |
702 | into L1 instruction memory. (less latency) | 703 | into L1 instruction memory. (less latency) |
@@ -704,6 +705,7 @@ config I_ENTRY_L1 | |||
704 | config EXCPT_IRQ_SYSC_L1 | 705 | config EXCPT_IRQ_SYSC_L1 |
705 | bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory" | 706 | bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory" |
706 | default y | 707 | default y |
708 | depends on !SMP | ||
707 | help | 709 | help |
708 | If enabled, the entire ASM lowlevel exception and interrupt entry code | 710 | If enabled, the entire ASM lowlevel exception and interrupt entry code |
709 | (STORE/RESTORE CONTEXT) is linked into L1 instruction memory. | 711 | (STORE/RESTORE CONTEXT) is linked into L1 instruction memory. |
@@ -712,6 +714,7 @@ config EXCPT_IRQ_SYSC_L1 | |||
712 | config DO_IRQ_L1 | 714 | config DO_IRQ_L1 |
713 | bool "Locate frequently called do_irq dispatcher function in L1 Memory" | 715 | bool "Locate frequently called do_irq dispatcher function in L1 Memory" |
714 | default y | 716 | default y |
717 | depends on !SMP | ||
715 | help | 718 | help |
716 | If enabled, the frequently called do_irq dispatcher function is linked | 719 | If enabled, the frequently called do_irq dispatcher function is linked |
717 | into L1 instruction memory. (less latency) | 720 | into L1 instruction memory. (less latency) |
@@ -719,6 +722,7 @@ config DO_IRQ_L1 | |||
719 | config CORE_TIMER_IRQ_L1 | 722 | config CORE_TIMER_IRQ_L1 |
720 | bool "Locate frequently called timer_interrupt() function in L1 Memory" | 723 | bool "Locate frequently called timer_interrupt() function in L1 Memory" |
721 | default y | 724 | default y |
725 | depends on !SMP | ||
722 | help | 726 | help |
723 | If enabled, the frequently called timer_interrupt() function is linked | 727 | If enabled, the frequently called timer_interrupt() function is linked |
724 | into L1 instruction memory. (less latency) | 728 | into L1 instruction memory. (less latency) |
@@ -726,6 +730,7 @@ config CORE_TIMER_IRQ_L1 | |||
726 | config IDLE_L1 | 730 | config IDLE_L1 |
727 | bool "Locate frequently idle function in L1 Memory" | 731 | bool "Locate frequently idle function in L1 Memory" |
728 | default y | 732 | default y |
733 | depends on !SMP | ||
729 | help | 734 | help |
730 | If enabled, the frequently called idle function is linked | 735 | If enabled, the frequently called idle function is linked |
731 | into L1 instruction memory. (less latency) | 736 | into L1 instruction memory. (less latency) |
@@ -733,6 +738,7 @@ config IDLE_L1 | |||
733 | config SCHEDULE_L1 | 738 | config SCHEDULE_L1 |
734 | bool "Locate kernel schedule function in L1 Memory" | 739 | bool "Locate kernel schedule function in L1 Memory" |
735 | default y | 740 | default y |
741 | depends on !SMP | ||
736 | help | 742 | help |
737 | If enabled, the frequently called kernel schedule is linked | 743 | If enabled, the frequently called kernel schedule is linked |
738 | into L1 instruction memory. (less latency) | 744 | into L1 instruction memory. (less latency) |
@@ -740,6 +746,7 @@ config SCHEDULE_L1 | |||
740 | config ARITHMETIC_OPS_L1 | 746 | config ARITHMETIC_OPS_L1 |
741 | bool "Locate kernel owned arithmetic functions in L1 Memory" | 747 | bool "Locate kernel owned arithmetic functions in L1 Memory" |
742 | default y | 748 | default y |
749 | depends on !SMP | ||
743 | help | 750 | help |
744 | If enabled, arithmetic functions are linked | 751 | If enabled, arithmetic functions are linked |
745 | into L1 instruction memory. (less latency) | 752 | into L1 instruction memory. (less latency) |
@@ -747,6 +754,7 @@ config ARITHMETIC_OPS_L1 | |||
747 | config ACCESS_OK_L1 | 754 | config ACCESS_OK_L1 |
748 | bool "Locate access_ok function in L1 Memory" | 755 | bool "Locate access_ok function in L1 Memory" |
749 | default y | 756 | default y |
757 | depends on !SMP | ||
750 | help | 758 | help |
751 | If enabled, the access_ok function is linked | 759 | If enabled, the access_ok function is linked |
752 | into L1 instruction memory. (less latency) | 760 | into L1 instruction memory. (less latency) |
@@ -754,6 +762,7 @@ config ACCESS_OK_L1 | |||
754 | config MEMSET_L1 | 762 | config MEMSET_L1 |
755 | bool "Locate memset function in L1 Memory" | 763 | bool "Locate memset function in L1 Memory" |
756 | default y | 764 | default y |
765 | depends on !SMP | ||
757 | help | 766 | help |
758 | If enabled, the memset function is linked | 767 | If enabled, the memset function is linked |
759 | into L1 instruction memory. (less latency) | 768 | into L1 instruction memory. (less latency) |
@@ -761,6 +770,7 @@ config MEMSET_L1 | |||
761 | config MEMCPY_L1 | 770 | config MEMCPY_L1 |
762 | bool "Locate memcpy function in L1 Memory" | 771 | bool "Locate memcpy function in L1 Memory" |
763 | default y | 772 | default y |
773 | depends on !SMP | ||
764 | help | 774 | help |
765 | If enabled, the memcpy function is linked | 775 | If enabled, the memcpy function is linked |
766 | into L1 instruction memory. (less latency) | 776 | into L1 instruction memory. (less latency) |
@@ -768,6 +778,7 @@ config MEMCPY_L1 | |||
768 | config STRCMP_L1 | 778 | config STRCMP_L1 |
769 | bool "locate strcmp function in L1 Memory" | 779 | bool "locate strcmp function in L1 Memory" |
770 | default y | 780 | default y |
781 | depends on !SMP | ||
771 | help | 782 | help |
772 | If enabled, the strcmp function is linked | 783 | If enabled, the strcmp function is linked |
773 | into L1 instruction memory (less latency). | 784 | into L1 instruction memory (less latency). |
@@ -775,6 +786,7 @@ config STRCMP_L1 | |||
775 | config STRNCMP_L1 | 786 | config STRNCMP_L1 |
776 | bool "locate strncmp function in L1 Memory" | 787 | bool "locate strncmp function in L1 Memory" |
777 | default y | 788 | default y |
789 | depends on !SMP | ||
778 | help | 790 | help |
779 | If enabled, the strncmp function is linked | 791 | If enabled, the strncmp function is linked |
780 | into L1 instruction memory (less latency). | 792 | into L1 instruction memory (less latency). |
@@ -782,6 +794,7 @@ config STRNCMP_L1 | |||
782 | config STRCPY_L1 | 794 | config STRCPY_L1 |
783 | bool "locate strcpy function in L1 Memory" | 795 | bool "locate strcpy function in L1 Memory" |
784 | default y | 796 | default y |
797 | depends on !SMP | ||
785 | help | 798 | help |
786 | If enabled, the strcpy function is linked | 799 | If enabled, the strcpy function is linked |
787 | into L1 instruction memory (less latency). | 800 | into L1 instruction memory (less latency). |
@@ -789,6 +802,7 @@ config STRCPY_L1 | |||
789 | config STRNCPY_L1 | 802 | config STRNCPY_L1 |
790 | bool "locate strncpy function in L1 Memory" | 803 | bool "locate strncpy function in L1 Memory" |
791 | default y | 804 | default y |
805 | depends on !SMP | ||
792 | help | 806 | help |
793 | If enabled, the strncpy function is linked | 807 | If enabled, the strncpy function is linked |
794 | into L1 instruction memory (less latency). | 808 | into L1 instruction memory (less latency). |
@@ -796,6 +810,7 @@ config STRNCPY_L1 | |||
796 | config SYS_BFIN_SPINLOCK_L1 | 810 | config SYS_BFIN_SPINLOCK_L1 |
797 | bool "Locate sys_bfin_spinlock function in L1 Memory" | 811 | bool "Locate sys_bfin_spinlock function in L1 Memory" |
798 | default y | 812 | default y |
813 | depends on !SMP | ||
799 | help | 814 | help |
800 | If enabled, sys_bfin_spinlock function is linked | 815 | If enabled, sys_bfin_spinlock function is linked |
801 | into L1 instruction memory. (less latency) | 816 | into L1 instruction memory. (less latency) |
@@ -803,6 +818,7 @@ config SYS_BFIN_SPINLOCK_L1 | |||
803 | config IP_CHECKSUM_L1 | 818 | config IP_CHECKSUM_L1 |
804 | bool "Locate IP Checksum function in L1 Memory" | 819 | bool "Locate IP Checksum function in L1 Memory" |
805 | default n | 820 | default n |
821 | depends on !SMP | ||
806 | help | 822 | help |
807 | If enabled, the IP Checksum function is linked | 823 | If enabled, the IP Checksum function is linked |
808 | into L1 instruction memory. (less latency) | 824 | into L1 instruction memory. (less latency) |
@@ -811,7 +827,7 @@ config CACHELINE_ALIGNED_L1 | |||
811 | bool "Locate cacheline_aligned data to L1 Data Memory" | 827 | bool "Locate cacheline_aligned data to L1 Data Memory" |
812 | default y if !BF54x | 828 | default y if !BF54x |
813 | default n if BF54x | 829 | default n if BF54x |
814 | depends on !BF531 | 830 | depends on !SMP && !BF531 |
815 | help | 831 | help |
816 | If enabled, cacheline_aligned data is linked | 832 | If enabled, cacheline_aligned data is linked |
817 | into L1 data memory. (less latency) | 833 | into L1 data memory. (less latency) |
@@ -819,7 +835,7 @@ config CACHELINE_ALIGNED_L1 | |||
819 | config SYSCALL_TAB_L1 | 835 | config SYSCALL_TAB_L1 |
820 | bool "Locate Syscall Table L1 Data Memory" | 836 | bool "Locate Syscall Table L1 Data Memory" |
821 | default n | 837 | default n |
822 | depends on !BF531 | 838 | depends on !SMP && !BF531 |
823 | help | 839 | help |
824 | If enabled, the Syscall LUT is linked | 840 | If enabled, the Syscall LUT is linked |
825 | into L1 data memory. (less latency) | 841 | into L1 data memory. (less latency) |
@@ -827,16 +843,16 @@ config SYSCALL_TAB_L1 | |||
827 | config CPLB_SWITCH_TAB_L1 | 843 | config CPLB_SWITCH_TAB_L1 |
828 | bool "Locate CPLB Switch Tables L1 Data Memory" | 844 | bool "Locate CPLB Switch Tables L1 Data Memory" |
829 | default n | 845 | default n |
830 | depends on !BF531 | 846 | depends on !SMP && !BF531 |
831 | help | 847 | help |
832 | If enabled, the CPLB Switch Tables are linked | 848 | If enabled, the CPLB Switch Tables are linked |
833 | into L1 data memory. (less latency) | 849 | into L1 data memory. (less latency) |
834 | 850 | ||
835 | config CACHE_FLUSH_L1 | 851 | config ICACHE_FLUSH_L1 |
836 | bool "Locate cache flush funcs in L1 Inst Memory" | 852 | bool "Locate icache flush funcs in L1 Inst Memory" |
837 | default y | 853 | default y |
838 | help | 854 | help |
839 | If enabled, the Blackfin cache flushing functions are linked | 855 | If enabled, the Blackfin icache flushing functions are linked |
840 | into L1 instruction memory. | 856 | into L1 instruction memory. |
841 | 857 | ||
842 | Note that this might be required to address anomalies, but | 858 | Note that this might be required to address anomalies, but |
@@ -844,9 +860,18 @@ config CACHE_FLUSH_L1 | |||
844 | If you are using a processor affected by an anomaly, the build | 860 | If you are using a processor affected by an anomaly, the build |
845 | system will double check for you and prevent it. | 861 | system will double check for you and prevent it. |
846 | 862 | ||
863 | config DCACHE_FLUSH_L1 | ||
864 | bool "Locate dcache flush funcs in L1 Inst Memory" | ||
865 | default y | ||
866 | depends on !SMP | ||
867 | help | ||
868 | If enabled, the Blackfin dcache flushing functions are linked | ||
869 | into L1 instruction memory. | ||
870 | |||
847 | config APP_STACK_L1 | 871 | config APP_STACK_L1 |
848 | bool "Support locating application stack in L1 Scratch Memory" | 872 | bool "Support locating application stack in L1 Scratch Memory" |
849 | default y | 873 | default y |
874 | depends on !SMP | ||
850 | help | 875 | help |
851 | If enabled the application stack can be located in L1 | 876 | If enabled the application stack can be located in L1 |
852 | scratch memory (less latency). | 877 | scratch memory (less latency). |
@@ -856,7 +881,7 @@ config APP_STACK_L1 | |||
856 | config EXCEPTION_L1_SCRATCH | 881 | config EXCEPTION_L1_SCRATCH |
857 | bool "Locate exception stack in L1 Scratch Memory" | 882 | bool "Locate exception stack in L1 Scratch Memory" |
858 | default n | 883 | default n |
859 | depends on !APP_STACK_L1 | 884 | depends on !SMP && !APP_STACK_L1 |
860 | help | 885 | help |
861 | Whenever an exception occurs, use the L1 Scratch memory for | 886 | Whenever an exception occurs, use the L1 Scratch memory for |
862 | stack storage. You cannot place the stacks of FLAT binaries | 887 | stack storage. You cannot place the stacks of FLAT binaries |
@@ -868,6 +893,7 @@ comment "Speed Optimizations" | |||
868 | config BFIN_INS_LOWOVERHEAD | 893 | config BFIN_INS_LOWOVERHEAD |
869 | bool "ins[bwl] low overhead, higher interrupt latency" | 894 | bool "ins[bwl] low overhead, higher interrupt latency" |
870 | default y | 895 | default y |
896 | depends on !SMP | ||
871 | help | 897 | help |
872 | Reads on the Blackfin are speculative. In Blackfin terms, this means | 898 | Reads on the Blackfin are speculative. In Blackfin terms, this means |
873 | they can be interrupted at any time (even after they have been issued | 899 | they can be interrupted at any time (even after they have been issued |