aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips
diff options
context:
space:
mode:
authorSteven J. Hill <Steven.Hill@imgtec.com>2013-10-04 17:23:28 -0400
committerRalf Baechle <ralf@linux-mips.org>2014-01-22 14:19:01 -0500
commitc080faa502041c94f754e9878618a4632d6eede6 (patch)
tree3e3bfc991f0eec052bda99282d7673decc287a03 /arch/mips
parentb5f065e7d3e87e43b971640185b3980b10d7e73c (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/Kconfig61
-rw-r--r--arch/mips/configs/maltasmvp_defconfig3
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
1831config MIPS_MT_DISABLED 1831config 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
1839config MIPS_MT_SMP 1839config 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
1862config MIPS_MT_SMTC 1858config 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
1886endchoice 1875endchoice
1887 1876
@@ -1958,17 +1947,13 @@ config MIPS_VPE_APSP_API
1958 help 1947 help
1959 1948
1960config MIPS_CMP 1949config 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
1973config SB1_PASS_1_WORKAROUNDS 1958config 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
4CONFIG_MIPS_MT_SMP=y 4CONFIG_MIPS_MT_SMP=y
5CONFIG_SCHED_SMT=y 5CONFIG_SCHED_SMT=y
6CONFIG_MIPS_CMP=y 6CONFIG_MIPS_CMP=y
7CONFIG_NR_CPUS=8 7CONFIG_NR_CPUS=2
8CONFIG_HZ_100=y 8CONFIG_HZ_100=y
9CONFIG_LOCALVERSION="cmp" 9CONFIG_LOCALVERSION="cmp"
10CONFIG_SYSVIPC=y 10CONFIG_SYSVIPC=y
@@ -58,7 +58,6 @@ CONFIG_ATALK=m
58CONFIG_DEV_APPLETALK=m 58CONFIG_DEV_APPLETALK=m
59CONFIG_IPDDP=m 59CONFIG_IPDDP=m
60CONFIG_IPDDP_ENCAP=y 60CONFIG_IPDDP_ENCAP=y
61CONFIG_IPDDP_DECAP=y
62CONFIG_NET_SCHED=y 61CONFIG_NET_SCHED=y
63CONFIG_NET_SCH_CBQ=m 62CONFIG_NET_SCH_CBQ=m
64CONFIG_NET_SCH_HTB=m 63CONFIG_NET_SCH_HTB=m