diff mbox series

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

Message ID 20200921075628.466506-3-f4bug@amsat.org
State Superseded
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)