|
@@ -308,6 +308,7 @@ config MIPS_ATLAS
|
|
select SYS_SUPPORTS_64BIT_KERNEL
|
|
select SYS_SUPPORTS_64BIT_KERNEL
|
|
select SYS_SUPPORTS_BIG_ENDIAN
|
|
select SYS_SUPPORTS_BIG_ENDIAN
|
|
select SYS_SUPPORTS_LITTLE_ENDIAN
|
|
select SYS_SUPPORTS_LITTLE_ENDIAN
|
|
|
|
+ select SYS_SUPPORTS_MULTITHREADING if EXPERIMENTAL
|
|
help
|
|
help
|
|
This enables support for the MIPS Technologies Atlas evaluation
|
|
This enables support for the MIPS Technologies Atlas evaluation
|
|
board.
|
|
board.
|
|
@@ -336,6 +337,7 @@ config MIPS_MALTA
|
|
select SYS_SUPPORTS_64BIT_KERNEL
|
|
select SYS_SUPPORTS_64BIT_KERNEL
|
|
select SYS_SUPPORTS_BIG_ENDIAN
|
|
select SYS_SUPPORTS_BIG_ENDIAN
|
|
select SYS_SUPPORTS_LITTLE_ENDIAN
|
|
select SYS_SUPPORTS_LITTLE_ENDIAN
|
|
|
|
+ select SYS_SUPPORTS_MULTITHREADING
|
|
help
|
|
help
|
|
This enables support for the MIPS Technologies Malta evaluation
|
|
This enables support for the MIPS Technologies Malta evaluation
|
|
board.
|
|
board.
|
|
@@ -1495,34 +1497,57 @@ config SIBYTE_DMA_PAGEOPS
|
|
config CPU_HAS_PREFETCH
|
|
config CPU_HAS_PREFETCH
|
|
bool
|
|
bool
|
|
|
|
|
|
-config MIPS_MT
|
|
|
|
- bool "Enable MIPS MT"
|
|
|
|
- depends on CPU_MIPS32_R2
|
|
|
|
- #depends on CPU_MIPS64_R2 # later ...
|
|
|
|
-
|
|
|
|
choice
|
|
choice
|
|
prompt "MIPS MT options"
|
|
prompt "MIPS MT options"
|
|
- depends on MIPS_MT
|
|
|
|
|
|
+
|
|
|
|
+config MIPS_MT_DISABLED
|
|
|
|
+ bool "Disable multithreading support."
|
|
|
|
+ help
|
|
|
|
+ Use this option if your workload can't take advantage of
|
|
|
|
+ MIPS hardware multithreading support. On systems that don't have
|
|
|
|
+ the option of an MT-enabled processor this option will be the only
|
|
|
|
+ option in this menu.
|
|
|
|
|
|
config MIPS_MT_SMTC
|
|
config MIPS_MT_SMTC
|
|
bool "SMTC: Use all TCs on all VPEs for SMP"
|
|
bool "SMTC: Use all TCs on all VPEs for SMP"
|
|
|
|
+ depends on CPU_MIPS32_R2
|
|
|
|
+ #depends on CPU_MIPS64_R2 # once there is hardware ...
|
|
|
|
+ depends on SYS_SUPPORTS_MULTITHREADING
|
|
select CPU_MIPSR2_IRQ_VI
|
|
select CPU_MIPSR2_IRQ_VI
|
|
select CPU_MIPSR2_SRS
|
|
select CPU_MIPSR2_SRS
|
|
|
|
+ select MIPS_MT
|
|
select SMP
|
|
select SMP
|
|
|
|
+ help
|
|
|
|
+ This is a kernel model which is known a SMTC or lately has been
|
|
|
|
+ marketesed into SMVP.
|
|
|
|
|
|
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
|
|
|
|
+ select CPU_MIPSR2_IRQ_VI
|
|
|
|
+ select CPU_MIPSR2_SRS
|
|
|
|
+ select MIPS_MT
|
|
select SMP
|
|
select SMP
|
|
|
|
+ help
|
|
|
|
+ This is a kernel model which is also known a VSMP or lately
|
|
|
|
+ has been marketesed into SMVP.
|
|
|
|
|
|
config MIPS_VPE_LOADER
|
|
config MIPS_VPE_LOADER
|
|
bool "VPE loader support."
|
|
bool "VPE loader support."
|
|
- depends on MIPS_MT
|
|
|
|
|
|
+ depends on SYS_SUPPORTS_MULTITHREADING
|
|
|
|
+ select MIPS_MT
|
|
help
|
|
help
|
|
Includes a loader for loading an elf relocatable object
|
|
Includes a loader for loading an elf relocatable object
|
|
onto another VPE and running it.
|
|
onto another VPE and running it.
|
|
|
|
|
|
endchoice
|
|
endchoice
|
|
|
|
|
|
|
|
+config MIPS_MT
|
|
|
|
+ bool
|
|
|
|
+
|
|
|
|
+config SYS_SUPPORTS_MULTITHREADING
|
|
|
|
+ bool
|
|
|
|
+
|
|
config MIPS_MT_FPAFF
|
|
config MIPS_MT_FPAFF
|
|
bool "Dynamic FPU affinity for FP-intensive threads"
|
|
bool "Dynamic FPU affinity for FP-intensive threads"
|
|
depends on MIPS_MT
|
|
depends on MIPS_MT
|
|
@@ -1579,32 +1604,23 @@ config CPU_HAS_LLSC
|
|
config CPU_HAS_WB
|
|
config CPU_HAS_WB
|
|
bool
|
|
bool
|
|
|
|
|
|
|
|
+#
|
|
|
|
+# Vectored interrupt mode is an R2 feature
|
|
|
|
+#
|
|
config CPU_MIPSR2_IRQ_VI
|
|
config CPU_MIPSR2_IRQ_VI
|
|
- bool "Vectored interrupt mode"
|
|
|
|
- depends on CPU_MIPSR2
|
|
|
|
- help
|
|
|
|
- Vectored interrupt mode allowing faster dispatching of interrupts.
|
|
|
|
- The board support code needs to be written to take advantage of this
|
|
|
|
- mode. Compatibility code is included to allow the kernel to run on
|
|
|
|
- a CPU that does not support vectored interrupts. It's safe to
|
|
|
|
- say Y here.
|
|
|
|
|
|
+ bool
|
|
|
|
|
|
|
|
+#
|
|
|
|
+# Extended interrupt mode is an R2 feature
|
|
|
|
+#
|
|
config CPU_MIPSR2_IRQ_EI
|
|
config CPU_MIPSR2_IRQ_EI
|
|
- bool "External interrupt controller mode"
|
|
|
|
- depends on CPU_MIPSR2
|
|
|
|
- help
|
|
|
|
- Extended interrupt mode takes advantage of an external interrupt
|
|
|
|
- controller to allow fast dispatching from many possible interrupt
|
|
|
|
- sources. Say N unless you know that external interrupt support is
|
|
|
|
- required.
|
|
|
|
|
|
+ bool
|
|
|
|
|
|
|
|
+#
|
|
|
|
+# Shadow registers are an R2 feature
|
|
|
|
+#
|
|
config CPU_MIPSR2_SRS
|
|
config CPU_MIPSR2_SRS
|
|
- bool "Make shadow set registers available for interrupt handlers"
|
|
|
|
- depends on CPU_MIPSR2_IRQ_VI || CPU_MIPSR2_IRQ_EI
|
|
|
|
- help
|
|
|
|
- Allow the kernel to use shadow register sets for fast interrupts.
|
|
|
|
- Interrupt handlers must be specially written to use shadow sets.
|
|
|
|
- Say N unless you know that shadow register set upport is needed.
|
|
|
|
|
|
+ bool
|
|
|
|
|
|
config CPU_HAS_SYNC
|
|
config CPU_HAS_SYNC
|
|
bool
|
|
bool
|