diff options
author | Steven J. Hill <Steven.Hill@imgtec.com> | 2013-10-04 17:23:28 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2014-01-22 14:19:01 -0500 |
commit | c080faa502041c94f754e9878618a4632d6eede6 (patch) | |
tree | 3e3bfc991f0eec052bda99282d7673decc287a03 /arch/mips | |
parent | b5f065e7d3e87e43b971640185b3980b10d7e73c (diff) |
MIPS: Clean up MIPS MT and CMP configuration options.
This patch accomplishes the following:
* Clean up wording on all MIPS MT configuration menu items.
* Simplify and neaten up options selected by MIPS_MT_SMP.
* Make MIPS_MT_SMTC support as deprecated.
* Make MIPS_CMP support to depend on MIPS_MT_SMP also.
* Remove redundant options selected by MIPS_CMP.
Signed-off-by: Steven J. Hill <Steven.Hill@imgtec.com>
Signed-off-by: John Crispin <blogic@openwrt.org>
Patchwork: http://patchwork.linux-mips.org/patch/6019/
Diffstat (limited to 'arch/mips')
-rw-r--r-- | arch/mips/Kconfig | 61 | ||||
-rw-r--r-- | arch/mips/configs/maltasmvp_defconfig | 3 |
2 files changed, 24 insertions, 40 deletions
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 8f519a51585b..5ee558b317ed 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig | |||
@@ -1829,59 +1829,48 @@ choice | |||
1829 | prompt "MIPS MT options" | 1829 | prompt "MIPS MT options" |
1830 | 1830 | ||
1831 | config MIPS_MT_DISABLED | 1831 | config MIPS_MT_DISABLED |
1832 | bool "Disable multithreading support." | 1832 | bool "Disable multithreading support" |
1833 | help | 1833 | help |
1834 | Use this option if your workload can't take advantage of | 1834 | Use this option if your platform does not support the MT ASE |
1835 | MIPS hardware multithreading support. On systems that don't have | 1835 | which is hardware multithreading support. On systems without |
1836 | the option of an MT-enabled processor this option will be the only | 1836 | an MT-enabled processor, this will be the only option that is |
1837 | option in this menu. | 1837 | available in this menu. |
1838 | 1838 | ||
1839 | config MIPS_MT_SMP | 1839 | config MIPS_MT_SMP |
1840 | bool "Use 1 TC on each available VPE for SMP" | 1840 | bool "Use 1 TC on each available VPE for SMP" |
1841 | depends on SYS_SUPPORTS_MULTITHREADING | 1841 | depends on SYS_SUPPORTS_MULTITHREADING |
1842 | select CPU_MIPSR2_IRQ_VI | 1842 | select CPU_MIPSR2_IRQ_VI |
1843 | select CPU_MIPSR2_IRQ_EI | 1843 | select CPU_MIPSR2_IRQ_EI |
1844 | select SYNC_R4K | ||
1844 | select MIPS_MT | 1845 | select MIPS_MT |
1845 | select SMP | 1846 | select SMP |
1846 | select SYS_SUPPORTS_SCHED_SMT if SMP | ||
1847 | select SYS_SUPPORTS_SMP | ||
1848 | select SMP_UP | 1847 | select SMP_UP |
1848 | select SYS_SUPPORTS_SMP | ||
1849 | select SYS_SUPPORTS_SCHED_SMT | ||
1849 | select MIPS_PERF_SHARED_TC_COUNTERS | 1850 | select MIPS_PERF_SHARED_TC_COUNTERS |
1850 | help | 1851 | help |
1851 | This is a kernel model which is known a VSMP but lately has been | 1852 | This is a kernel model which is known as SMVP. This is supported |
1852 | marketesed into SMVP. | 1853 | on cores with the MT ASE and uses the available VPEs to implement |
1853 | Virtual SMP uses the processor's VPEs to implement virtual | 1854 | virtual processors which supports SMP. This is equivalent to the |
1854 | processors. In currently available configuration of the 34K processor | 1855 | Intel Hyperthreading feature. For further information go to |
1855 | this allows for a dual processor. Both processors will share the same | 1856 | <http://www.imgtec.com/mips/mips-multithreading.asp>. |
1856 | primary caches; each will obtain the half of the TLB for it's own | ||
1857 | exclusive use. For a layman this model can be described as similar to | ||
1858 | what Intel calls Hyperthreading. | ||
1859 | |||
1860 | For further information see http://www.linux-mips.org/wiki/34K#VSMP | ||
1861 | 1857 | ||
1862 | config MIPS_MT_SMTC | 1858 | config MIPS_MT_SMTC |
1863 | bool "SMTC: Use all TCs on all VPEs for SMP" | 1859 | bool "Use all TCs on all VPEs for SMP (DEPRECATED)" |
1864 | depends on CPU_MIPS32_R2 | 1860 | depends on CPU_MIPS32_R2 |
1865 | #depends on CPU_MIPS64_R2 # once there is hardware ... | ||
1866 | depends on SYS_SUPPORTS_MULTITHREADING | 1861 | depends on SYS_SUPPORTS_MULTITHREADING |
1867 | select CPU_MIPSR2_IRQ_VI | 1862 | select CPU_MIPSR2_IRQ_VI |
1868 | select CPU_MIPSR2_IRQ_EI | 1863 | select CPU_MIPSR2_IRQ_EI |
1869 | select MIPS_MT | 1864 | select MIPS_MT |
1870 | select NR_CPUS_DEFAULT_8 | ||
1871 | select SMP | 1865 | select SMP |
1872 | select SYS_SUPPORTS_SMP | ||
1873 | select SMP_UP | 1866 | select SMP_UP |
1867 | select SYS_SUPPORTS_SMP | ||
1868 | select NR_CPUS_DEFAULT_8 | ||
1874 | help | 1869 | help |
1875 | This is a kernel model which is known a SMTC or lately has been | 1870 | This is a kernel model which is known as SMTC. This is |
1876 | marketesed into SMVP. | 1871 | supported on cores with the MT ASE and presents all TCs |
1877 | is presenting the available TC's of the core as processors to Linux. | 1872 | available on all VPEs to support SMP. For further |
1878 | On currently available 34K processors this means a Linux system will | 1873 | information see <http://www.linux-mips.org/wiki/34K#SMTC>. |
1879 | see up to 5 processors. The implementation of the SMTC kernel differs | ||
1880 | significantly from VSMP and cannot efficiently coexist in the same | ||
1881 | kernel binary so the choice between VSMP and SMTC is a compile time | ||
1882 | decision. | ||
1883 | |||
1884 | For further information see http://www.linux-mips.org/wiki/34K#SMTC | ||
1885 | 1874 | ||
1886 | endchoice | 1875 | endchoice |
1887 | 1876 | ||
@@ -1958,17 +1947,13 @@ config MIPS_VPE_APSP_API | |||
1958 | help | 1947 | help |
1959 | 1948 | ||
1960 | config MIPS_CMP | 1949 | config MIPS_CMP |
1961 | bool "MIPS CMP framework support" | 1950 | bool "MIPS CMP support" |
1962 | depends on SYS_SUPPORTS_MIPS_CMP | 1951 | depends on SYS_SUPPORTS_MIPS_CMP && MIPS_MT_SMP |
1963 | select SMP | ||
1964 | select SYNC_R4K | 1952 | select SYNC_R4K |
1965 | select SYS_SUPPORTS_SMP | ||
1966 | select SYS_SUPPORTS_SCHED_SMT if SMP | ||
1967 | select WEAK_ORDERING | 1953 | select WEAK_ORDERING |
1968 | default n | 1954 | default n |
1969 | help | 1955 | help |
1970 | This is a placeholder option for the GCMP work. It will need to | 1956 | Enable Coherency Manager processor (CMP) support. |
1971 | be handled differently... | ||
1972 | 1957 | ||
1973 | config SB1_PASS_1_WORKAROUNDS | 1958 | config SB1_PASS_1_WORKAROUNDS |
1974 | bool | 1959 | bool |
diff --git a/arch/mips/configs/maltasmvp_defconfig b/arch/mips/configs/maltasmvp_defconfig index 8a666021b870..d75931850392 100644 --- a/arch/mips/configs/maltasmvp_defconfig +++ b/arch/mips/configs/maltasmvp_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_CPU_MIPS32_R2=y | |||
4 | CONFIG_MIPS_MT_SMP=y | 4 | CONFIG_MIPS_MT_SMP=y |
5 | CONFIG_SCHED_SMT=y | 5 | CONFIG_SCHED_SMT=y |
6 | CONFIG_MIPS_CMP=y | 6 | CONFIG_MIPS_CMP=y |
7 | CONFIG_NR_CPUS=8 | 7 | CONFIG_NR_CPUS=2 |
8 | CONFIG_HZ_100=y | 8 | CONFIG_HZ_100=y |
9 | CONFIG_LOCALVERSION="cmp" | 9 | CONFIG_LOCALVERSION="cmp" |
10 | CONFIG_SYSVIPC=y | 10 | CONFIG_SYSVIPC=y |
@@ -58,7 +58,6 @@ CONFIG_ATALK=m | |||
58 | CONFIG_DEV_APPLETALK=m | 58 | CONFIG_DEV_APPLETALK=m |
59 | CONFIG_IPDDP=m | 59 | CONFIG_IPDDP=m |
60 | CONFIG_IPDDP_ENCAP=y | 60 | CONFIG_IPDDP_ENCAP=y |
61 | CONFIG_IPDDP_DECAP=y | ||
62 | CONFIG_NET_SCHED=y | 61 | CONFIG_NET_SCHED=y |
63 | CONFIG_NET_SCH_CBQ=m | 62 | CONFIG_NET_SCH_CBQ=m |
64 | CONFIG_NET_SCH_HTB=m | 63 | CONFIG_NET_SCH_HTB=m |