48 lines
1.8 KiB
Diff
48 lines
1.8 KiB
Diff
From a1ecbf056603b4fabf8b5ab8a79f70a27fef06ee Mon Sep 17 00:00:00 2001
|
|
From: jipengfei_yewu <jipengfei_yewu@cmss.chinamobile.com>
|
|
Date: Sun, 24 Sep 2023 19:39:33 +0800
|
|
Subject: [PATCH] hw/arm/xlnx-zynqmp: fix unsigned error when checking the RPUs
|
|
number
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
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)
|
|
|
|
cheery-pick from c9ba1c9f02cfede5329f504cdda6fd3a256e0434
|
|
|
|
Signed-off-by: jipengfei_yewu <jipengfei_yewu@cmss.chinamobile.com>
|
|
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 | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/hw/arm/xlnx-zynqmp.c b/hw/arm/xlnx-zynqmp.c
|
|
index 1c52a575aa..2ffc6df70b 100644
|
|
--- a/hw/arm/xlnx-zynqmp.c
|
|
+++ b/hw/arm/xlnx-zynqmp.c
|
|
@@ -194,7 +194,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.41.0.windows.1
|
|
|