On [2023 May 24] Wed 16:37:14, Clément Chigot 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 <[email protected]>
Reviewed-by: Francisco Iglesias <[email protected]> Tested-by: Francisco Iglesias <[email protected]> > --- > 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); > > if (num_rpus <= 0) { > -- > 2.25.1 > >
