summaryrefslogtreecommitdiffstats
path: root/hw/arm/fsl-imx6.c
diff options
context:
space:
mode:
authorPeter Maydell2018-04-10 16:18:58 +0200
committerPeter Maydell2018-04-10 16:18:58 +0200
commitf41ee66df0ceef0002644d08a61a6a929674898d (patch)
tree879731a4ccd2a0a276489e615257825d94e37770 /hw/arm/fsl-imx6.c
parentMerge remote-tracking branch 'remotes/kraxel/tags/ui-20180410-pull-request' i... (diff)
parentfpu: Fix rounding mode for floatN_to_uintM_round_to_zero (diff)
downloadqemu-f41ee66df0ceef0002644d08a61a6a929674898d.tar.gz
qemu-f41ee66df0ceef0002644d08a61a6a929674898d.tar.xz
qemu-f41ee66df0ceef0002644d08a61a6a929674898d.zip
Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20180410' into staging
target-arm queue: * fpu: Fix rounding mode for floatN_to_uintM_round_to_zero * tcg: Fix guest state corruption when running 64-bit Arm guests on a 32-bit host (especially when using icount) * linux-user/signal.c: Ensure AArch64 signal frame isn't too small * cpus.c: ensure running CPU recalculates icount deadlines on timer expiry * target/arm: Report unsupported MPU region sizes more clearly * hw/arm/fsl-imx: Fix introspection problem with fsl-imx6 and fsl-imx7 * hw/arm/allwinner-a10: Do not use nd_table in instance_init function * hw/sd/bcm2835_sdhost: Don't raise spurious interrupts * hw/sd/bcm2835_sdhost: Add tracepoints * target-arm: Check undefined opcodes for SWP in A32 decoder * hw/arm/integratorcp: Don't do things that could be fatal in the instance_init * hw/arm: Allow manually specified /psci node # gpg: Signature made Tue 10 Apr 2018 13:16:12 BST # gpg: using RSA key 3C2525ED14360CDE # gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>" # gpg: aka "Peter Maydell <pmaydell@gmail.com>" # gpg: aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>" # Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83 15CF 3C25 25ED 1436 0CDE * remotes/pmaydell/tags/pull-target-arm-20180410: fpu: Fix rounding mode for floatN_to_uintM_round_to_zero tcg: Introduce tcg_set_insn_start_param linux-user/signal.c: Ensure AArch64 signal frame isn't too small cpus.c: ensure running CPU recalculates icount deadlines on timer expiry target/arm: Report unsupported MPU region sizes more clearly hw/arm/fsl-imx: Fix introspection problem with fsl-imx6 and fsl-imx7 hw/arm/allwinner-a10: Do not use nd_table in instance_init function hw/sd/bcm2835_sdhost: Don't raise spurious interrupts hw/sd/bcm2835_sdhost: Add tracepoints target-arm: Check undefined opcodes for SWP in A32 decoder hw/arm/integratorcp: Don't do things that could be fatal in the instance_init hw/arm: Allow manually specified /psci node Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw/arm/fsl-imx6.c')
-rw-r--r--hw/arm/fsl-imx6.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/hw/arm/fsl-imx6.c b/hw/arm/fsl-imx6.c
index b6ac72de27..9dfbc9a8c4 100644
--- a/hw/arm/fsl-imx6.c
+++ b/hw/arm/fsl-imx6.c
@@ -37,13 +37,7 @@ static void fsl_imx6_init(Object *obj)
char name[NAME_SIZE];
int i;
- if (smp_cpus > FSL_IMX6_NUM_CPUS) {
- error_report("%s: Only %d CPUs are supported (%d requested)",
- TYPE_FSL_IMX6, FSL_IMX6_NUM_CPUS, smp_cpus);
- exit(1);
- }
-
- for (i = 0; i < smp_cpus; i++) {
+ for (i = 0; i < MIN(smp_cpus, FSL_IMX6_NUM_CPUS); i++) {
object_initialize(&s->cpu[i], sizeof(s->cpu[i]),
"cortex-a9-" TYPE_ARM_CPU);
snprintf(name, NAME_SIZE, "cpu%d", i);
@@ -119,6 +113,12 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp)
uint16_t i;
Error *err = NULL;
+ if (smp_cpus > FSL_IMX6_NUM_CPUS) {
+ error_setg(errp, "%s: Only %d CPUs are supported (%d requested)",
+ TYPE_FSL_IMX6, FSL_IMX6_NUM_CPUS, smp_cpus);
+ return;
+ }
+
for (i = 0; i < smp_cpus; i++) {
/* On uniprocessor, the CBAR is set to 0 */