On 3/3/21 2:05 AM, Joel Stanley wrote:
> 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
> 9bb6d14081ce ("aspeed: Add boot stub for smp booting"), in v5.1.
>
> Fixes: f25c0ae1079d ("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>
Thanks
C.
> ---
> hw/arm/aspeed_ast2600.c | 7 -------
> 1 file changed, 7 deletions(-)
>
> diff --git a/hw/arm/aspeed_ast2600.c b/hw/arm/aspeed_ast2600.c
> index bf31ca351feb..49b00763864c 100644
> --- a/hw/arm/aspeed_ast2600.c
> +++ b/hw/arm/aspeed_ast2600.c
> @@ -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);
> @@ -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;
> }
>