qemu/hw/arm
Clément Chigot 5dc8e4e892 hw/arm: make cpu targeted by arm_load_kernel the primary CPU.
Currently, arm booting processus assumes that the first_cpu is the CPU
that will boot: `arm_load_kernel` is powering off all but the `first_cpu`;
`do_cpu_reset` is setting the loader address only for this `first_cpu`.

For most of the boards, this isn't an issue as the kernel is loaded and
booted on the first CPU anyway. However, for zynqmp, the option
"boot-cpu" allows to choose any CPUs.

Create a new arm_boot_info entry `primary_cpu` recording which CPU will
be boot first. This one is set when `arm_boot_kernel` is called.

Signed-off-by: Clément Chigot <chigot@adacore.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 20250526085523.809003-2-chigot@adacore.com
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2025-06-13 11:31:28 +01:00
..
allwinner-a10.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
allwinner-h3.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
allwinner-r40.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
armsse.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
armv7m.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
aspeed.c hw/arm/aspeed: Add support for loading vbootrom image via "-bios" 2025-05-05 09:38:55 +02:00
aspeed_ast10x0.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
aspeed_ast27x0-fc.c hw/arm/aspeed_ast27x0-fc: Map ca35 memory into system memory 2025-05-25 23:39:11 +02:00
aspeed_ast27x0-ssp.c hw/arm/aspeed_ast27x0-ssp: Introduce AST27x0 A1 SSP SoC 2025-05-05 09:38:55 +02:00
aspeed_ast27x0-tsp.c hw/arm/aspeed_ast27x0-tsp: Introduce AST27x0 A1 TSP SoC 2025-05-05 09:38:55 +02:00
aspeed_ast27x0.c hw/arm/aspeed_ast27x0: Fix unimplemented region overlap with vbootrom 2025-05-25 23:39:11 +02:00
aspeed_ast2400.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
aspeed_ast2600.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
aspeed_eeprom.c aspeed: Clean up includes 2024-01-30 21:20:20 +03:00
aspeed_eeprom.h aspeed: Clean up includes 2024-01-30 21:20:20 +03:00
aspeed_soc_common.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
b-l475e-iot01a.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
bananapi_m2u.c include/system: Move exec/address-spaces.h to system/address-spaces.h 2025-04-23 14:08:21 -07:00
bcm2835_peripherals.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
bcm2836.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
bcm2838.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
bcm2838_peripherals.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
boot.c hw/arm: make cpu targeted by arm_load_kernel the primary CPU. 2025-06-13 11:31:28 +01:00
collie.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
cubieboard.c hw/boards: Rename no_sdcard -> auto_create_sdcard 2025-02-16 14:25:08 +01:00
digic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
digic_boards.c hw/arm/digic_boards: prepare compilation unit to be common 2025-04-23 15:07:32 -07:00
exynos4_boards.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
exynos4210.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
fby35.c hw/arm/fby35: Map BMC memory into system memory 2025-05-25 23:39:11 +02:00
fsl-imx6.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
fsl-imx6ul.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
fsl-imx7.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
fsl-imx8mp.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
fsl-imx25.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
fsl-imx31.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
highbank.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
imx8mp-evk.c include/system: Move exec/address-spaces.h to system/address-spaces.h 2025-04-23 14:08:21 -07:00
imx25_pdk.c hw/boards: Rename no_sdcard -> auto_create_sdcard 2025-02-16 14:25:08 +01:00
integratorcp.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
Kconfig hw/block: Drop unused nand.c 2025-05-29 17:45:13 +01:00
kzm.c include/system: Move exec/address-spaces.h to system/address-spaces.h 2025-04-23 14:08:21 -07:00
mcimx6ul-evk.c hw/boards: Rename no_sdcard -> auto_create_sdcard 2025-02-16 14:25:08 +01:00
mcimx7d-sabre.c hw/boards: Rename no_sdcard -> auto_create_sdcard 2025-02-16 14:25:08 +01:00
meson.build hw/arm: remove explicit dependencies listed 2025-05-26 17:31:06 +02:00
microbit.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
mps2-tz.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
mps2.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
mps3r.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
msf2-soc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
msf2-som.c include/system: Move exec/address-spaces.h to system/address-spaces.h 2025-04-23 14:08:21 -07:00
musca.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
musicpal.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
netduino2.c hw/arm: Remove all invalid uses of auto_create_sdcard=true 2025-02-16 14:25:08 +01:00
netduinoplus2.c hw/arm: Remove all invalid uses of auto_create_sdcard=true 2025-02-16 14:25:08 +01:00
npcm7xx.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
npcm7xx_boards.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
npcm8xx.c hw/arm: Add missing psci_conduit to NPCM8XX SoC boot info 2025-05-29 17:45:10 +01:00
npcm8xx_boards.c hw/arm/npcm8xx_boards: Correct valid_cpu_types setting of NPCM8XX SoC 2025-05-06 15:01:22 +01:00
nrf51_soc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
olimex-stm32-h405.c hw/arm: Remove all invalid uses of auto_create_sdcard=true 2025-02-16 14:25:08 +01:00
omap1.c hw/arm: Replace TABs for spaces in OMAP board and device code 2025-05-14 14:29:47 +01:00
omap_sx1.c hw/arm: Replace TABs for spaces in OMAP board and device code 2025-05-14 14:29:47 +01:00
orangepi.c include/system: Move exec/address-spaces.h to system/address-spaces.h 2025-04-23 14:08:21 -07:00
raspi.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
raspi4b.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
realview.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
sabrelite.c hw/boards: Rename no_sdcard -> auto_create_sdcard 2025-02-16 14:25:08 +01:00
sbsa-ref.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
smmu-common.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
smmu-internal.h hw/arm/smmu: Introduce smmu_configs_inv_sid_range() helper 2025-03-07 10:59:25 +00:00
smmuv3-internal.h hw/arm/smmuv3: Assert input to oas2bits() is valid 2024-07-29 13:34:18 +01:00
smmuv3.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
stellaris.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
stm32f100_soc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
stm32f205_soc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
stm32f405_soc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
stm32l4x5_soc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
stm32vldiscovery.c hw/arm: Remove all invalid uses of auto_create_sdcard=true 2025-02-16 14:25:08 +01:00
strongarm.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
strongarm.h include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
trace-events hw/arm/smmu: Introduce smmu_configs_inv_sid_range() helper 2025-03-07 10:59:25 +00:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
versatilepb.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
vexpress.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
virt-acpi-build.c hw/arm/virt: Remove VirtMachineClass::claim_edge_triggered_timers field 2025-05-06 15:01:23 +01:00
virt.c hw/arm/virt: Check bypass iommu is not set for iommu-map DT property 2025-06-12 15:50:17 +01:00
xen-pvh.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
xen-stubs.c cleanup: Drop pointless return at end of function 2025-04-24 09:33:42 +02:00
xilinx_zynq.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
xlnx-versal-virt.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
xlnx-versal.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
xlnx-zcu102.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
xlnx-zynqmp.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00