Skip to content

Commit

Permalink
arm/ast2600: Fix SMP booting with -kernel
Browse files Browse the repository at this point in the history
The ast2600 machines do not have PSCI firmware, so this property should
have never been set. Removing this node fixes SMP booting Linux kernels
that have PSCI enabled, as Linux fails to find PSCI in the device tree
and falls back to the soc-specific method for enabling secondary CPUs.

The comment is out of date as Qemu has supported -kernel booting since
9bb6d14 ("aspeed: Add boot stub for smp booting"), in v5.1.

Fixes: f25c0ae ("aspeed/soc: Add AST2600 support")
Signed-off-by: Joel Stanley <joel@jms.id.au>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Tested-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20210303010505.635621-1-joel@jms.id.au>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
  • Loading branch information
shenki authored and legoater committed Mar 9, 2021
1 parent 229a834 commit a4ea920
Showing 1 changed file with 0 additions and 7 deletions.
7 changes: 0 additions & 7 deletions hw/arm/aspeed_ast2600.c
Expand Up @@ -241,8 +241,6 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp)

/* CPU */
for (i = 0; i < sc->num_cpus; i++) {
object_property_set_int(OBJECT(&s->cpu[i]), "psci-conduit",
QEMU_PSCI_CONDUIT_SMC, &error_abort);
if (sc->num_cpus > 1) {
object_property_set_int(OBJECT(&s->cpu[i]), "reset-cbar",
ASPEED_A7MPCORE_ADDR, &error_abort);
Expand All @@ -253,11 +251,6 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp)
object_property_set_int(OBJECT(&s->cpu[i]), "cntfrq", 1125000000,
&error_abort);

/*
* TODO: the secondary CPUs are started and a boot helper
* is needed when using -kernel
*/

if (!qdev_realize(DEVICE(&s->cpu[i]), NULL, errp)) {
return;
}
Expand Down

0 comments on commit a4ea920

Please sign in to comment.