hw/arm/xlnx-zynqmp: fix unsigned error when checking the RPUs number
commitc9ba1c9f02cfede5329f504cdda6fd3a256e0434
authorClément Chigot <chigot@adacore.com>
Wed, 24 May 2023 14:37:14 +0000 (24 16:37 +0200)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 30 May 2023 14:50:16 +0000 (30 15:50 +0100)
tree8998d4d3707791b9f47975322776ef702673ebfa
parent31afe04586efeccb80cc36ffafcd0e32a3245ffb
hw/arm/xlnx-zynqmp: fix unsigned error when checking the RPUs number

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>
Reviewed-by: Francisco Iglesias <frasse.iglesias@gmail.com>
Tested-by: Francisco Iglesias <frasse.iglesias@gmail.com>
Message-id: 20230524143714.565792-1-chigot@adacore.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
hw/arm/xlnx-zynqmp.c