diff options
author | Paul Burton <paul.burton@imgtec.com> | 2014-04-14 14:13:57 +0100 |
---|---|---|
committer | Paul Burton <paul.burton@imgtec.com> | 2014-05-28 16:20:31 +0100 |
commit | 1d8f1f5a780abe51257f7d2e33142f33d983a9ed (patch) | |
tree | 6f4be0e00ccd7e7c22c94222ea7da3521500560d /arch/mips/Kconfig | |
parent | 3179d37ee1ed602770a8b8ed975bd30faa85b4a3 (diff) | |
download | blackbird-op-linux-1d8f1f5a780abe51257f7d2e33142f33d983a9ed.tar.gz blackbird-op-linux-1d8f1f5a780abe51257f7d2e33142f33d983a9ed.zip |
MIPS: smp-cps: hotplug support
This patch adds support for offlining CPUs via hotplug when using the
CONFIG_MIPS_CPS SMP implementation. When a CPU is offlined one of 2
things will happen:
- If the CPU is part of a core which implements the MT ASE and there
is at least one other VPE online within that core then the VPE will
be halted by settings its TCHalt bit.
- Otherwise if supported the core will be powered down via the CPC.
- Otherwise the CPU will hang by executing an infinite loop.
Bringing CPUs back online is then a process of either clearing the
appropriate VPEs TCHalt bit or powering up the appropriate core via the
CPC. Throughout the process the struct core_boot_config vpe_mask field
must be maintained such that mips_cps_boot_vpes will start & stop the
correct VPEs.
Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Diffstat (limited to 'arch/mips/Kconfig')
-rw-r--r-- | arch/mips/Kconfig | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index c79e6a4a0075..860a1e9e8d92 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -2059,9 +2059,11 @@ config MIPS_CPS depends on SYS_SUPPORTS_MIPS_CPS select MIPS_CM select MIPS_CPC + select MIPS_CPS_PM if HOTPLUG_CPU select MIPS_GIC_IPI select SMP select SYNC_R4K if (CEVT_R4K || CSRC_R4K) + select SYS_SUPPORTS_HOTPLUG_CPU select SYS_SUPPORTS_SMP select WEAK_ORDERING help |