Re: [PATCH 22/26] hw/riscv: pfsoc: Fix Icicle Kit hart count at five

Chao Liu <[email protected]> Mon, 27 Jul 2026 13:37:26 +0800
Newsgroups org.nongnu.qemu-riscv,org.nongnu.qemu-devel
Message-ID <[email protected]>
On Thu, Jul 23, 2026 at 11:18:49PM +0800, Bin Meng wrote:
> The Icicle Kit always contains one E51 management hart and four U54
> application harts. The model currently accepts two to five harts and
> defaults to two, allowing configurations that cannot match the board.
> 
> Set the minimum and default CPU counts to the five-hart maximum.
> Update the documentation to state that other hart counts are rejected.
> 
> Signed-off-by: Bin Meng <[email protected]>
Reviewed-by: Chao Liu <[email protected]>

Thanks,
Chao

> ---
> 
>  docs/system/riscv/microchip-icicle-kit.rst | 1 +
>  hw/riscv/microchip_pfsoc.c                 | 4 ++--
>  2 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/docs/system/riscv/microchip-icicle-kit.rst b/docs/system/riscv/microchip-icicle-kit.rst
> index 3db2b3c7e3..38352cc62b 100644
> --- a/docs/system/riscv/microchip-icicle-kit.rst
> +++ b/docs/system/riscv/microchip-icicle-kit.rst
> @@ -27,6 +27,7 @@ The ``microchip-icicle-kit`` machine supports the following devices:
>  * 1 SDHC storage controller
>  
>  The machine has a fixed 2 GiB of RAM. Other memory sizes are rejected.
> +The machine always exposes all five harts. Other CPU counts are rejected.
>  
>  Boot options
>  ------------
> diff --git a/hw/riscv/microchip_pfsoc.c b/hw/riscv/microchip_pfsoc.c
> index b604f7008b..1562423930 100644
> --- a/hw/riscv/microchip_pfsoc.c
> +++ b/hw/riscv/microchip_pfsoc.c
> @@ -765,8 +765,8 @@ static void microchip_icicle_kit_machine_class_init(ObjectClass *oc,
>      mc->init = microchip_icicle_kit_machine_init;
>      mc->max_cpus = MICROCHIP_PFSOC_MANAGEMENT_CPU_COUNT +
>                     MICROCHIP_PFSOC_COMPUTE_CPU_COUNT;
> -    mc->min_cpus = MICROCHIP_PFSOC_MANAGEMENT_CPU_COUNT + 1;
> -    mc->default_cpus = mc->min_cpus;
> +    mc->min_cpus = mc->max_cpus;
> +    mc->default_cpus = mc->max_cpus;
>      mc->default_ram_id = "microchip.icicle.kit.ram";
>      mc->auto_create_sdcard = true;
>  
> -- 
> 2.34.1
>