Commit c080faa5 authored by Steven J. Hill's avatar Steven J. Hill Committed by Ralf Baechle

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: default avatarSteven J. Hill <Steven.Hill@imgtec.com>
Signed-off-by: default avatarJohn Crispin <blogic@openwrt.org>
Patchwork: http://patchwork.linux-mips.org/patch/6019/
parent b5f065e7
...@@ -1829,59 +1829,48 @@ choice ...@@ -1829,59 +1829,48 @@ choice
prompt "MIPS MT options" prompt "MIPS MT options"
config MIPS_MT_DISABLED config MIPS_MT_DISABLED
bool "Disable multithreading support." bool "Disable multithreading support"
help help
Use this option if your workload can't take advantage of Use this option if your platform does not support the MT ASE
MIPS hardware multithreading support. On systems that don't have which is hardware multithreading support. On systems without
the option of an MT-enabled processor this option will be the only an MT-enabled processor, this will be the only option that is
option in this menu. available in this menu.
config MIPS_MT_SMP config MIPS_MT_SMP
bool "Use 1 TC on each available VPE for SMP" bool "Use 1 TC on each available VPE for SMP"
depends on SYS_SUPPORTS_MULTITHREADING depends on SYS_SUPPORTS_MULTITHREADING
select CPU_MIPSR2_IRQ_VI select CPU_MIPSR2_IRQ_VI
select CPU_MIPSR2_IRQ_EI select CPU_MIPSR2_IRQ_EI
select SYNC_R4K
select MIPS_MT select MIPS_MT
select SMP select SMP
select SYS_SUPPORTS_SCHED_SMT if SMP
select SYS_SUPPORTS_SMP
select SMP_UP select SMP_UP
select SYS_SUPPORTS_SMP
select SYS_SUPPORTS_SCHED_SMT
select MIPS_PERF_SHARED_TC_COUNTERS select MIPS_PERF_SHARED_TC_COUNTERS
help help
This is a kernel model which is known a VSMP but lately has been This is a kernel model which is known as SMVP. This is supported
marketesed into SMVP. on cores with the MT ASE and uses the available VPEs to implement
Virtual SMP uses the processor's VPEs to implement virtual virtual processors which supports SMP. This is equivalent to the
processors. In currently available configuration of the 34K processor Intel Hyperthreading feature. For further information go to
this allows for a dual processor. Both processors will share the same <http://www.imgtec.com/mips/mips-multithreading.asp>.
primary caches; each will obtain the half of the TLB for it's own
exclusive use. For a layman this model can be described as similar to
what Intel calls Hyperthreading.
For further information see http://www.linux-mips.org/wiki/34K#VSMP
config MIPS_MT_SMTC config MIPS_MT_SMTC
bool "SMTC: Use all TCs on all VPEs for SMP" bool "Use all TCs on all VPEs for SMP (DEPRECATED)"
depends on CPU_MIPS32_R2 depends on CPU_MIPS32_R2
#depends on CPU_MIPS64_R2 # once there is hardware ...
depends on SYS_SUPPORTS_MULTITHREADING depends on SYS_SUPPORTS_MULTITHREADING
select CPU_MIPSR2_IRQ_VI select CPU_MIPSR2_IRQ_VI
select CPU_MIPSR2_IRQ_EI select CPU_MIPSR2_IRQ_EI
select MIPS_MT select MIPS_MT
select NR_CPUS_DEFAULT_8
select SMP select SMP
select SYS_SUPPORTS_SMP
select SMP_UP select SMP_UP
select SYS_SUPPORTS_SMP
select NR_CPUS_DEFAULT_8
help help
This is a kernel model which is known a SMTC or lately has been This is a kernel model which is known as SMTC. This is
marketesed into SMVP. supported on cores with the MT ASE and presents all TCs
is presenting the available TC's of the core as processors to Linux. available on all VPEs to support SMP. For further
On currently available 34K processors this means a Linux system will information see <http://www.linux-mips.org/wiki/34K#SMTC>.
see up to 5 processors. The implementation of the SMTC kernel differs
significantly from VSMP and cannot efficiently coexist in the same
kernel binary so the choice between VSMP and SMTC is a compile time
decision.
For further information see http://www.linux-mips.org/wiki/34K#SMTC
endchoice endchoice
...@@ -1958,17 +1947,13 @@ config MIPS_VPE_APSP_API ...@@ -1958,17 +1947,13 @@ config MIPS_VPE_APSP_API
help help
config MIPS_CMP config MIPS_CMP
bool "MIPS CMP framework support" bool "MIPS CMP support"
depends on SYS_SUPPORTS_MIPS_CMP depends on SYS_SUPPORTS_MIPS_CMP && MIPS_MT_SMP
select SMP
select SYNC_R4K select SYNC_R4K
select SYS_SUPPORTS_SMP
select SYS_SUPPORTS_SCHED_SMT if SMP
select WEAK_ORDERING select WEAK_ORDERING
default n default n
help help
This is a placeholder option for the GCMP work. It will need to Enable Coherency Manager processor (CMP) support.
be handled differently...
config SB1_PASS_1_WORKAROUNDS config SB1_PASS_1_WORKAROUNDS
bool bool
......
...@@ -4,7 +4,7 @@ CONFIG_CPU_MIPS32_R2=y ...@@ -4,7 +4,7 @@ CONFIG_CPU_MIPS32_R2=y
CONFIG_MIPS_MT_SMP=y CONFIG_MIPS_MT_SMP=y
CONFIG_SCHED_SMT=y CONFIG_SCHED_SMT=y
CONFIG_MIPS_CMP=y CONFIG_MIPS_CMP=y
CONFIG_NR_CPUS=8 CONFIG_NR_CPUS=2
CONFIG_HZ_100=y CONFIG_HZ_100=y
CONFIG_LOCALVERSION="cmp" CONFIG_LOCALVERSION="cmp"
CONFIG_SYSVIPC=y CONFIG_SYSVIPC=y
...@@ -58,7 +58,6 @@ CONFIG_ATALK=m ...@@ -58,7 +58,6 @@ CONFIG_ATALK=m
CONFIG_DEV_APPLETALK=m CONFIG_DEV_APPLETALK=m
CONFIG_IPDDP=m CONFIG_IPDDP=m
CONFIG_IPDDP_ENCAP=y CONFIG_IPDDP_ENCAP=y
CONFIG_IPDDP_DECAP=y
CONFIG_NET_SCHED=y CONFIG_NET_SCHED=y
CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m CONFIG_NET_SCH_HTB=m
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment