diff mbox series

[3/3] hw/arm/v7m: Remove use of &first_cpu in machine_init()

Message ID 20250112225614.33723-4-philmd@linaro.org
State New
Headers show
Series hw/arm/v7m: Remove Cortex-M &first_cpu uses | expand

Commit Message

Philippe Mathieu-Daudé Jan. 12, 2025, 10:56 p.m. UTC
When instanciating the machine model, the machine_init()
implementations usually create the CPUs, so have access
to its first CPU. Use that rather then the &first_cpu
global.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/arm/b-l475e-iot01a.c    | 2 +-
 hw/arm/microbit.c          | 2 +-
 hw/arm/mps2-tz.c           | 2 +-
 hw/arm/mps2.c              | 2 +-
 hw/arm/msf2-som.c          | 2 +-
 hw/arm/musca.c             | 2 +-
 hw/arm/netduino2.c         | 2 +-
 hw/arm/netduinoplus2.c     | 2 +-
 hw/arm/olimex-stm32-h405.c | 2 +-
 hw/arm/stellaris.c         | 2 +-
 hw/arm/stm32vldiscovery.c  | 2 +-
 11 files changed, 11 insertions(+), 11 deletions(-)

Comments

Alistair Francis Jan. 12, 2025, 11:46 p.m. UTC | #1
On Mon, Jan 13, 2025 at 8:57 AM Philippe Mathieu-Daudé
<philmd@linaro.org> wrote:
>
> When instanciating the machine model, the machine_init()
> implementations usually create the CPUs, so have access
> to its first CPU. Use that rather then the &first_cpu
> global.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>

Alistair

> ---
>  hw/arm/b-l475e-iot01a.c    | 2 +-
>  hw/arm/microbit.c          | 2 +-
>  hw/arm/mps2-tz.c           | 2 +-
>  hw/arm/mps2.c              | 2 +-
>  hw/arm/msf2-som.c          | 2 +-
>  hw/arm/musca.c             | 2 +-
>  hw/arm/netduino2.c         | 2 +-
>  hw/arm/netduinoplus2.c     | 2 +-
>  hw/arm/olimex-stm32-h405.c | 2 +-
>  hw/arm/stellaris.c         | 2 +-
>  hw/arm/stm32vldiscovery.c  | 2 +-
>  11 files changed, 11 insertions(+), 11 deletions(-)
>
> diff --git a/hw/arm/b-l475e-iot01a.c b/hw/arm/b-l475e-iot01a.c
> index 5002a40f06d..c9a5209216c 100644
> --- a/hw/arm/b-l475e-iot01a.c
> +++ b/hw/arm/b-l475e-iot01a.c
> @@ -82,7 +82,7 @@ static void bl475e_init(MachineState *machine)
>      sysbus_realize(SYS_BUS_DEVICE(&s->soc), &error_fatal);
>
>      sc = STM32L4X5_SOC_GET_CLASS(&s->soc);
> -    armv7m_load_kernel(ARM_CPU(first_cpu), machine->kernel_filename, 0,
> +    armv7m_load_kernel(s->soc.armv7m.cpu, machine->kernel_filename, 0,
>                         sc->flash_size);
>
>      if (object_class_by_name(TYPE_DM163)) {
> diff --git a/hw/arm/microbit.c b/hw/arm/microbit.c
> index 374fbcb3618..3f56fb45ce1 100644
> --- a/hw/arm/microbit.c
> +++ b/hw/arm/microbit.c
> @@ -56,7 +56,7 @@ static void microbit_init(MachineState *machine)
>      memory_region_add_subregion_overlap(&s->nrf51.container, NRF51_TWI_BASE,
>                                          mr, -1);
>
> -    armv7m_load_kernel(ARM_CPU(first_cpu), machine->kernel_filename,
> +    armv7m_load_kernel(s->nrf51.armv7m.cpu, machine->kernel_filename,
>                         0, s->nrf51.flash_size);
>  }
>
> diff --git a/hw/arm/mps2-tz.c b/hw/arm/mps2-tz.c
> index 0136e419bfd..d3a9f1b03ac 100644
> --- a/hw/arm/mps2-tz.c
> +++ b/hw/arm/mps2-tz.c
> @@ -1211,7 +1211,7 @@ static void mps2tz_common_init(MachineState *machine)
>                                      mms->remap_irq);
>      }
>
> -    armv7m_load_kernel(ARM_CPU(first_cpu), machine->kernel_filename,
> +    armv7m_load_kernel(mms->iotkit.armv7m[0].cpu, machine->kernel_filename,
>                         0, boot_ram_size(mms));
>  }
>
> diff --git a/hw/arm/mps2.c b/hw/arm/mps2.c
> index efb3500742f..56b2af40f1d 100644
> --- a/hw/arm/mps2.c
> +++ b/hw/arm/mps2.c
> @@ -460,7 +460,7 @@ static void mps2_common_init(MachineState *machine)
>                   qdev_get_gpio_in(armv7m,
>                                    mmc->fpga_type == FPGA_AN511 ? 47 : 13));
>
> -    armv7m_load_kernel(ARM_CPU(first_cpu), machine->kernel_filename,
> +    armv7m_load_kernel(mms->armv7m.cpu, machine->kernel_filename,
>                         0, 0x400000);
>  }
>
> diff --git a/hw/arm/msf2-som.c b/hw/arm/msf2-som.c
> index 5c415abe852..9b20f1e2c98 100644
> --- a/hw/arm/msf2-som.c
> +++ b/hw/arm/msf2-som.c
> @@ -92,7 +92,7 @@ static void emcraft_sf2_s2s010_init(MachineState *machine)
>      cs_line = qdev_get_gpio_in_named(spi_flash, SSI_GPIO_CS, 0);
>      sysbus_connect_irq(SYS_BUS_DEVICE(&soc->spi[0]), 1, cs_line);
>
> -    armv7m_load_kernel(ARM_CPU(first_cpu), machine->kernel_filename,
> +    armv7m_load_kernel(soc->armv7m.cpu, machine->kernel_filename,
>                         0, soc->envm_size);
>  }
>
> diff --git a/hw/arm/musca.c b/hw/arm/musca.c
> index 3c3b534cb72..e9c092abc3d 100644
> --- a/hw/arm/musca.c
> +++ b/hw/arm/musca.c
> @@ -590,7 +590,7 @@ static void musca_init(MachineState *machine)
>                                                       "cfg_sec_resp", 0));
>      }
>
> -    armv7m_load_kernel(ARM_CPU(first_cpu), machine->kernel_filename,
> +    armv7m_load_kernel(mms->sse.armv7m[0].cpu, machine->kernel_filename,
>                         0, 0x2000000);
>  }
>
> diff --git a/hw/arm/netduino2.c b/hw/arm/netduino2.c
> index 8b1a9a24379..df793c77fe1 100644
> --- a/hw/arm/netduino2.c
> +++ b/hw/arm/netduino2.c
> @@ -48,7 +48,7 @@ static void netduino2_init(MachineState *machine)
>      qdev_connect_clock_in(dev, "sysclk", sysclk);
>      sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
>
> -    armv7m_load_kernel(ARM_CPU(first_cpu), machine->kernel_filename,
> +    armv7m_load_kernel(STM32F205_SOC(dev)->armv7m.cpu, machine->kernel_filename,
>                         0, FLASH_SIZE);
>  }
>
> diff --git a/hw/arm/netduinoplus2.c b/hw/arm/netduinoplus2.c
> index bccd1003549..81b6334cf72 100644
> --- a/hw/arm/netduinoplus2.c
> +++ b/hw/arm/netduinoplus2.c
> @@ -48,7 +48,7 @@ static void netduinoplus2_init(MachineState *machine)
>      qdev_connect_clock_in(dev, "sysclk", sysclk);
>      sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
>
> -    armv7m_load_kernel(ARM_CPU(first_cpu),
> +    armv7m_load_kernel(STM32F405_SOC(dev)->armv7m.cpu,
>                         machine->kernel_filename,
>                         0, FLASH_SIZE);
>  }
> diff --git a/hw/arm/olimex-stm32-h405.c b/hw/arm/olimex-stm32-h405.c
> index 4ad7b043be0..1f15620f9fd 100644
> --- a/hw/arm/olimex-stm32-h405.c
> +++ b/hw/arm/olimex-stm32-h405.c
> @@ -51,7 +51,7 @@ static void olimex_stm32_h405_init(MachineState *machine)
>      qdev_connect_clock_in(dev, "sysclk", sysclk);
>      sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
>
> -    armv7m_load_kernel(ARM_CPU(first_cpu),
> +    armv7m_load_kernel(STM32F405_SOC(dev)->armv7m.cpu,
>                         machine->kernel_filename,
>                         0, FLASH_SIZE);
>  }
> diff --git a/hw/arm/stellaris.c b/hw/arm/stellaris.c
> index 7303e096ef7..284980ad4b5 100644
> --- a/hw/arm/stellaris.c
> +++ b/hw/arm/stellaris.c
> @@ -1366,7 +1366,7 @@ static void stellaris_init(MachineState *ms, stellaris_board_info *board)
>      create_unimplemented_device("hibernation", 0x400fc000, 0x1000);
>      create_unimplemented_device("flash-control", 0x400fd000, 0x1000);
>
> -    armv7m_load_kernel(ARM_CPU(first_cpu), ms->kernel_filename, 0, flash_size);
> +    armv7m_load_kernel(ARMV7M(armv7m)->cpu, ms->kernel_filename, 0, flash_size);
>  }
>
>  /* FIXME: Figure out how to generate these from stellaris_boards.  */
> diff --git a/hw/arm/stm32vldiscovery.c b/hw/arm/stm32vldiscovery.c
> index cc419351605..e6c1f5b8d7d 100644
> --- a/hw/arm/stm32vldiscovery.c
> +++ b/hw/arm/stm32vldiscovery.c
> @@ -51,7 +51,7 @@ static void stm32vldiscovery_init(MachineState *machine)
>      qdev_connect_clock_in(dev, "sysclk", sysclk);
>      sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
>
> -    armv7m_load_kernel(ARM_CPU(first_cpu),
> +    armv7m_load_kernel(STM32F100_SOC(dev)->armv7m.cpu,
>                         machine->kernel_filename,
>                         0, FLASH_SIZE);
>  }
> --
> 2.47.1
>
>
diff mbox series

Patch

diff --git a/hw/arm/b-l475e-iot01a.c b/hw/arm/b-l475e-iot01a.c
index 5002a40f06d..c9a5209216c 100644
--- a/hw/arm/b-l475e-iot01a.c
+++ b/hw/arm/b-l475e-iot01a.c
@@ -82,7 +82,7 @@  static void bl475e_init(MachineState *machine)
     sysbus_realize(SYS_BUS_DEVICE(&s->soc), &error_fatal);
 
     sc = STM32L4X5_SOC_GET_CLASS(&s->soc);
-    armv7m_load_kernel(ARM_CPU(first_cpu), machine->kernel_filename, 0,
+    armv7m_load_kernel(s->soc.armv7m.cpu, machine->kernel_filename, 0,
                        sc->flash_size);
 
     if (object_class_by_name(TYPE_DM163)) {
diff --git a/hw/arm/microbit.c b/hw/arm/microbit.c
index 374fbcb3618..3f56fb45ce1 100644
--- a/hw/arm/microbit.c
+++ b/hw/arm/microbit.c
@@ -56,7 +56,7 @@  static void microbit_init(MachineState *machine)
     memory_region_add_subregion_overlap(&s->nrf51.container, NRF51_TWI_BASE,
                                         mr, -1);
 
-    armv7m_load_kernel(ARM_CPU(first_cpu), machine->kernel_filename,
+    armv7m_load_kernel(s->nrf51.armv7m.cpu, machine->kernel_filename,
                        0, s->nrf51.flash_size);
 }
 
diff --git a/hw/arm/mps2-tz.c b/hw/arm/mps2-tz.c
index 0136e419bfd..d3a9f1b03ac 100644
--- a/hw/arm/mps2-tz.c
+++ b/hw/arm/mps2-tz.c
@@ -1211,7 +1211,7 @@  static void mps2tz_common_init(MachineState *machine)
                                     mms->remap_irq);
     }
 
-    armv7m_load_kernel(ARM_CPU(first_cpu), machine->kernel_filename,
+    armv7m_load_kernel(mms->iotkit.armv7m[0].cpu, machine->kernel_filename,
                        0, boot_ram_size(mms));
 }
 
diff --git a/hw/arm/mps2.c b/hw/arm/mps2.c
index efb3500742f..56b2af40f1d 100644
--- a/hw/arm/mps2.c
+++ b/hw/arm/mps2.c
@@ -460,7 +460,7 @@  static void mps2_common_init(MachineState *machine)
                  qdev_get_gpio_in(armv7m,
                                   mmc->fpga_type == FPGA_AN511 ? 47 : 13));
 
-    armv7m_load_kernel(ARM_CPU(first_cpu), machine->kernel_filename,
+    armv7m_load_kernel(mms->armv7m.cpu, machine->kernel_filename,
                        0, 0x400000);
 }
 
diff --git a/hw/arm/msf2-som.c b/hw/arm/msf2-som.c
index 5c415abe852..9b20f1e2c98 100644
--- a/hw/arm/msf2-som.c
+++ b/hw/arm/msf2-som.c
@@ -92,7 +92,7 @@  static void emcraft_sf2_s2s010_init(MachineState *machine)
     cs_line = qdev_get_gpio_in_named(spi_flash, SSI_GPIO_CS, 0);
     sysbus_connect_irq(SYS_BUS_DEVICE(&soc->spi[0]), 1, cs_line);
 
-    armv7m_load_kernel(ARM_CPU(first_cpu), machine->kernel_filename,
+    armv7m_load_kernel(soc->armv7m.cpu, machine->kernel_filename,
                        0, soc->envm_size);
 }
 
diff --git a/hw/arm/musca.c b/hw/arm/musca.c
index 3c3b534cb72..e9c092abc3d 100644
--- a/hw/arm/musca.c
+++ b/hw/arm/musca.c
@@ -590,7 +590,7 @@  static void musca_init(MachineState *machine)
                                                      "cfg_sec_resp", 0));
     }
 
-    armv7m_load_kernel(ARM_CPU(first_cpu), machine->kernel_filename,
+    armv7m_load_kernel(mms->sse.armv7m[0].cpu, machine->kernel_filename,
                        0, 0x2000000);
 }
 
diff --git a/hw/arm/netduino2.c b/hw/arm/netduino2.c
index 8b1a9a24379..df793c77fe1 100644
--- a/hw/arm/netduino2.c
+++ b/hw/arm/netduino2.c
@@ -48,7 +48,7 @@  static void netduino2_init(MachineState *machine)
     qdev_connect_clock_in(dev, "sysclk", sysclk);
     sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
 
-    armv7m_load_kernel(ARM_CPU(first_cpu), machine->kernel_filename,
+    armv7m_load_kernel(STM32F205_SOC(dev)->armv7m.cpu, machine->kernel_filename,
                        0, FLASH_SIZE);
 }
 
diff --git a/hw/arm/netduinoplus2.c b/hw/arm/netduinoplus2.c
index bccd1003549..81b6334cf72 100644
--- a/hw/arm/netduinoplus2.c
+++ b/hw/arm/netduinoplus2.c
@@ -48,7 +48,7 @@  static void netduinoplus2_init(MachineState *machine)
     qdev_connect_clock_in(dev, "sysclk", sysclk);
     sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
 
-    armv7m_load_kernel(ARM_CPU(first_cpu),
+    armv7m_load_kernel(STM32F405_SOC(dev)->armv7m.cpu,
                        machine->kernel_filename,
                        0, FLASH_SIZE);
 }
diff --git a/hw/arm/olimex-stm32-h405.c b/hw/arm/olimex-stm32-h405.c
index 4ad7b043be0..1f15620f9fd 100644
--- a/hw/arm/olimex-stm32-h405.c
+++ b/hw/arm/olimex-stm32-h405.c
@@ -51,7 +51,7 @@  static void olimex_stm32_h405_init(MachineState *machine)
     qdev_connect_clock_in(dev, "sysclk", sysclk);
     sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
 
-    armv7m_load_kernel(ARM_CPU(first_cpu),
+    armv7m_load_kernel(STM32F405_SOC(dev)->armv7m.cpu,
                        machine->kernel_filename,
                        0, FLASH_SIZE);
 }
diff --git a/hw/arm/stellaris.c b/hw/arm/stellaris.c
index 7303e096ef7..284980ad4b5 100644
--- a/hw/arm/stellaris.c
+++ b/hw/arm/stellaris.c
@@ -1366,7 +1366,7 @@  static void stellaris_init(MachineState *ms, stellaris_board_info *board)
     create_unimplemented_device("hibernation", 0x400fc000, 0x1000);
     create_unimplemented_device("flash-control", 0x400fd000, 0x1000);
 
-    armv7m_load_kernel(ARM_CPU(first_cpu), ms->kernel_filename, 0, flash_size);
+    armv7m_load_kernel(ARMV7M(armv7m)->cpu, ms->kernel_filename, 0, flash_size);
 }
 
 /* FIXME: Figure out how to generate these from stellaris_boards.  */
diff --git a/hw/arm/stm32vldiscovery.c b/hw/arm/stm32vldiscovery.c
index cc419351605..e6c1f5b8d7d 100644
--- a/hw/arm/stm32vldiscovery.c
+++ b/hw/arm/stm32vldiscovery.c
@@ -51,7 +51,7 @@  static void stm32vldiscovery_init(MachineState *machine)
     qdev_connect_clock_in(dev, "sysclk", sysclk);
     sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
 
-    armv7m_load_kernel(ARM_CPU(first_cpu),
+    armv7m_load_kernel(STM32F100_SOC(dev)->armv7m.cpu,
                        machine->kernel_filename,
                        0, FLASH_SIZE);
 }