diff mbox series

[v3,2/8] hw/arm/raspi: Load the firmware on the first core

Message ID 20200921075628.466506-3-f4bug@amsat.org (mailing list archive)
State New, archived
Headers show
Series hw/arm/raspi: QOM housekeeping to be able to add more machines | expand

Commit Message

Philippe Mathieu-Daudé Sept. 21, 2020, 7:56 a.m. UTC
The 'first_cpu' is more a QEMU accelerator-related concept
than a variable the machine requires to use.
Since the machine is aware of its CPUs, directly use the
first one to load the firmware.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 hw/arm/raspi.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Luc Michel Sept. 21, 2020, 7:55 p.m. UTC | #1
On 9/21/20 9:56 AM, Philippe Mathieu-Daudé wrote:
> The 'first_cpu' is more a QEMU accelerator-related concept
> than a variable the machine requires to use.
> Since the machine is aware of its CPUs, directly use the
> first one to load the firmware.
> 
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

Reviewed-by: Luc Michel <luc.michel@greensocs.com>

> ---
>   hw/arm/raspi.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c
> index 46d9ed7f054..8716a80a75e 100644
> --- a/hw/arm/raspi.c
> +++ b/hw/arm/raspi.c
> @@ -205,6 +205,7 @@ static void reset_secondary(ARMCPU *cpu, const struct arm_boot_info *info)
>   
>   static void setup_boot(MachineState *machine, int version, size_t ram_size)
>   {
> +    RaspiMachineState *s = RASPI_MACHINE(machine);
>       static struct arm_boot_info binfo;
>       int r;
>   
> @@ -253,7 +254,7 @@ static void setup_boot(MachineState *machine, int version, size_t ram_size)
>           binfo.firmware_loaded = true;
>       }
>   
> -    arm_load_kernel(ARM_CPU(first_cpu), machine, &binfo);
> +    arm_load_kernel(&s->soc.cpu[0].core, machine, &binfo);
>   }
>   
>   static void raspi_machine_init(MachineState *machine)
>
diff mbox series

Patch

diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c
index 46d9ed7f054..8716a80a75e 100644
--- a/hw/arm/raspi.c
+++ b/hw/arm/raspi.c
@@ -205,6 +205,7 @@  static void reset_secondary(ARMCPU *cpu, const struct arm_boot_info *info)
 
 static void setup_boot(MachineState *machine, int version, size_t ram_size)
 {
+    RaspiMachineState *s = RASPI_MACHINE(machine);
     static struct arm_boot_info binfo;
     int r;
 
@@ -253,7 +254,7 @@  static void setup_boot(MachineState *machine, int version, size_t ram_size)
         binfo.firmware_loaded = true;
     }
 
-    arm_load_kernel(ARM_CPU(first_cpu), machine, &binfo);
+    arm_load_kernel(&s->soc.cpu[0].core, machine, &binfo);
 }
 
 static void raspi_machine_init(MachineState *machine)