[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] hw/arm/xlnx-zynqmp: fix unsigned error when checking the RPU
|
From: |
Peter Maydell |
|
Subject: |
Re: [PATCH] hw/arm/xlnx-zynqmp: fix unsigned error when checking the RPUs number |
|
Date: |
Thu, 25 May 2023 11:17:18 +0100 |
On Wed, 24 May 2023 at 15:37, Clément Chigot <chigot@adacore.com> wrote:
>
> When passing --smp with a number lower than XLNX_ZYNQMP_NUM_APU_CPUS,
> the expression (ms->smp.cpus - XLNX_ZYNQMP_NUM_APU_CPUS) will result
> in a positive number as ms->smp.cpus is a unsigned int.
> This will raise the following error afterwards, as Qemu will try to
> instantiate some additional RPUs.
> | $ qemu-system-aarch64 --smp 1 -M xlnx-zcu102
> | **
> | ERROR:../src/tcg/tcg.c:777:tcg_register_thread:
> | assertion failed: (n < tcg_max_ctxs)
>
> Signed-off-by: Clément Chigot <chigot@adacore.com>
> ---
> hw/arm/xlnx-zynqmp.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/arm/xlnx-zynqmp.c b/hw/arm/xlnx-zynqmp.c
> index 335cfc417d..5905a33015 100644
> --- a/hw/arm/xlnx-zynqmp.c
> +++ b/hw/arm/xlnx-zynqmp.c
> @@ -213,7 +213,7 @@ static void xlnx_zynqmp_create_rpu(MachineState *ms,
> XlnxZynqMPState *s,
> const char *boot_cpu, Error **errp)
> {
> int i;
> - int num_rpus = MIN(ms->smp.cpus - XLNX_ZYNQMP_NUM_APU_CPUS,
> + int num_rpus = MIN((int)(ms->smp.cpus - XLNX_ZYNQMP_NUM_APU_CPUS),
> XLNX_ZYNQMP_NUM_RPU_CPUS);
Applied to target-arm.next, thanks.
-- PMM