On 14/01/2026 12:33, Jan Beulich wrote:
> Discussion of a RISC-V change revealed that for PPC and RISC-V we don't
> really set any default, but rather rely on internals of kconfig picking
> the lowest of the permitted values in such a case. Let's make this
> explicit, requiring architectures that mean to permit SMP by default to
> explicitly record some sensible value here.
>
> Leverage the adjustment to the "1" case to simplify all subsequent ones.
>
> Signed-off-by: Jan Beulich <[email protected]>
Reviewed-by: Michal Orzel <[email protected]>
with one question...
> ---
> For not-yet-SMP-capable ports we might go even further and use
>
> range 1 1 if !X86 && (!ARM || MPU)
>
> at the top. Thoughts? (I've not done this right away as it is liable to
> get unwieldy when we have a larger number of SMP-capable ports.)
>
> --- a/xen/arch/Kconfig
> +++ b/xen/arch/Kconfig
> @@ -9,11 +9,11 @@ config NR_CPUS
> range 1 1 if ARM && MPU
Why not simply && MPU given that MPU is an ARM specific option in our Kconfig.
~Michal
> range 1 16383
> default "256" if X86
> - default "1" if ARM && MPU
> - default "8" if ARM && RCAR3
> - default "4" if ARM && QEMU
> - default "4" if ARM && MPSOC
> - default "128" if ARM
> + default "1" if !ARM || MPU
> + default "8" if RCAR3
> + default "4" if QEMU
> + default "4" if MPSOC
> + default "128"
> help
> Controls the build-time size of various arrays and bitmaps
> associated with multiple-cpu management. It is the upper bound of