[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] arm/ast2600: Fix SMP booting with -kernel
From: |
Cédric Le Goater |
Subject: |
Re: [PATCH] arm/ast2600: Fix SMP booting with -kernel |
Date: |
Wed, 3 Mar 2021 12:19:21 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 |
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;
> }
>