Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

MIPS: MT: core_nvpes function to retrieve VPE count

This function simply returns the number of VPEs present in the current
core, or 1 if the core does not implement the MT ASE. In SMP kernels
this will typically equal smp_num_siblings, however it will also be
usable in UP kernels and helps prepare for the possibility of a
heterogenous system where the VPE count is not the same across all
cores.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/6665/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

authored by

Paul Burton and committed by
Ralf Baechle
968a0734 d94c90f8

+11
+11
arch/mips/include/asm/mipsmtregs.h
··· 176 176 177 177 #ifndef __ASSEMBLY__ 178 178 179 + static inline unsigned core_nvpes(void) 180 + { 181 + unsigned conf0; 182 + 183 + if (!cpu_has_mipsmt) 184 + return 1; 185 + 186 + conf0 = read_c0_mvpconf0(); 187 + return ((conf0 & MVPCONF0_PVPE) >> MVPCONF0_PVPE_SHIFT) + 1; 188 + } 189 + 179 190 static inline unsigned int dvpe(void) 180 191 { 181 192 int res = 0;