qemu/hw/arm
Philippe Mathieu-Daudé e1b72c55b1 hw/arm/stm32f405: Report error when incorrect CPU is used
Both 'netduinoplus2' and 'olimex-stm32-h405' machines ignore the
CPU type requested by the command line. This might confuse users,
since the following will create a machine with a Cortex-M4 CPU:

  $ qemu-system-aarch64 -M netduinoplus2 -cpu cortex-r5f

Set the MachineClass::valid_cpu_types field (introduced in commit
c9cf636d48 "machine: Add a valid_cpu_types property").
Remove the now unused MachineClass::default_cpu_type field.

We now get:

  $ qemu-system-aarch64 -M netduinoplus2 -cpu cortex-r5f
  qemu-system-aarch64: Invalid CPU type: cortex-r5f-arm-cpu
  The valid types are: cortex-m4-arm-cpu

Since the SoC family can only use Cortex-M4 CPUs, hard-code the
CPU type name at the SoC level, removing the QOM property
entirely.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Message-id: 20231117071704.35040-3-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2023-11-20 15:30:59 +00:00
..
allwinner-a10.c hw/arm: Add WDT to Allwinner-A10 and Cubieboard 2023-04-20 10:21:13 +01:00
allwinner-h3.c hw/arm: Add WDT to Allwinner-H3 and Orangepi-PC 2023-04-20 10:21:14 +01:00
allwinner-r40.c hw/arm/allwinner: Clean up local variable shadowing 2023-09-29 10:07:15 +02:00
armsse.c hw/arm/armv7m: Clean up local variable shadowing 2023-09-29 10:07:15 +02:00
armv7m.c target/arm: Move feature test functions to their own header 2023-10-27 11:44:32 +01:00
aspeed_ast10x0.c hw/arm/aspeed: Move AspeedSoCState::armv7m to Aspeed10x0SoCState 2023-10-25 09:52:44 +02:00
aspeed_ast2400.c hw/arm/aspeed: Move AspeedSoCState::cpu/vic to Aspeed2400SoCState 2023-10-25 09:52:44 +02:00
aspeed_ast2600.c hw/arm/aspeed: Move AspeedSoCState::a7mpcore to Aspeed2600SoCState 2023-10-25 09:52:44 +02:00
aspeed_eeprom.c hw/arm/aspeed: Add VPD data for Rainier machine 2023-06-15 18:35:57 +02:00
aspeed_eeprom.h hw/arm/aspeed: Add VPD data for Rainier machine 2023-06-15 18:35:57 +02:00
aspeed_soc_common.c hw/arm/aspeed: Check 'memory' link is set in common aspeed_soc_realize 2023-10-25 09:52:44 +02:00
aspeed.c hw/arm/aspeed: Dynamically allocate AspeedMachineState::soc field 2023-10-25 09:52:44 +02:00
bananapi_m2u.c hw/arm: Avoid using 'first_cpu' when first ARM CPU is reachable 2023-10-27 12:50:12 +01:00
bcm2835_peripherals.c hw/arm/bcm2835_property: Implement "get command line" message 2023-05-02 15:47:40 +01:00
bcm2836.c hw/arm/bcm2835_property: Implement "get command line" message 2023-05-02 15:47:40 +01:00
boot.c target/arm/arm-powerctl: Correctly init CPUs when powered on to lower EL 2023-10-19 14:32:13 +01:00
collie.c *: Add missing includes of qemu/error-report.h 2023-03-22 15:06:57 +00:00
cubieboard.c hw/arm/allwinner-a10: Remove 'hw/arm/boot.h' from header 2023-10-27 12:42:13 +01:00
digic_boards.c hw/arm: Don't include qemu-common.h unnecessarily 2021-12-15 10:35:26 +00:00
digic.c arm/digic: replace snprintf() with g_strdup_printf() 2022-04-21 17:03:51 +04:00
exynos4_boards.c hw/arm: Avoid using 'first_cpu' when first ARM CPU is reachable 2023-10-27 12:50:12 +01:00
exynos4210.c hw/arm: Fix some typos in comments (most found by codespell) 2023-04-20 10:21:13 +01:00
fby35.c hw/arm/aspeed: Move AspeedSoCState::a7mpcore to Aspeed2600SoCState 2023-10-25 09:52:44 +02:00
fsl-imx6.c fsl-imx6: Add SNVS support for i.MX6 boards 2023-05-30 13:02:53 +01:00
fsl-imx6ul.c Add i.MX6UL missing devices. 2023-08-31 09:45:16 +01:00
fsl-imx7.c Add i.MX7 SRC device implementation 2023-08-31 09:45:17 +01:00
fsl-imx25.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
fsl-imx31.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
gumstix.c hw/arm: Remove unreachable code calling pflash_cfi01_register() 2023-01-12 17:03:14 +00:00
highbank.c hw/arm/boot: Drop nb_cpus field from arm_boot_info 2022-02-08 10:56:28 +00:00
imx25_pdk.c hw/arm/fsl-imx25: Remove 'hw/arm/boot.h' from header 2023-10-27 12:42:13 +01:00
integratorcp.c hw/arm: Support machine-default audiodev with fallback 2023-10-03 10:29:39 +02:00
Kconfig Misc hardware patch queue 2023-11-08 08:32:26 +08:00
kzm.c hw/arm/fsl-imx31: Remove 'hw/arm/boot.h' from header 2023-10-27 12:42:13 +01:00
mainstone.c hw/arm: Remove unreachable code calling pflash_cfi01_register() 2023-01-12 17:03:14 +00:00
mcimx6ul-evk.c hw/arm/fsl-imx6ul: Remove 'hw/arm/boot.h' from header 2023-10-27 12:42:13 +01:00
mcimx7d-sabre.c hw/arm/fsl-imx7: Remove 'hw/arm/boot.h' from header 2023-10-27 12:42:13 +01:00
meson.build hw/arm/aspeed: Move AspeedSoCState::cpu/vic to Aspeed2400SoCState 2023-10-25 09:52:44 +02:00
microbit.c target/arm: Make boards pass base address to armv7m_load_kernel() 2022-09-14 11:19:40 +01:00
mps2-tz.c hw/arm/mps2-tz: Use qdev_prop_set_array() 2023-11-10 18:19:13 +01:00
mps2.c hw/arm/mps2: Use qdev_prop_set_array() 2023-11-10 18:19:13 +01:00
msf2-soc.c arm: Remove system_clock_scale global 2021-09-01 11:08:21 +01:00
msf2-som.c tests/avocado: Truncate M2S-FG484 SOM SPI flash to 16MiB 2023-02-07 09:02:04 +01:00
musca.c target/arm: Make boards pass base address to armv7m_load_kernel() 2022-09-14 11:19:40 +01:00
musicpal.c hw/arm: Support machine-default audiodev with fallback 2023-10-03 10:29:39 +02:00
netduino2.c target/arm: Make boards pass base address to armv7m_load_kernel() 2022-09-14 11:19:40 +01:00
netduinoplus2.c hw/arm/stm32f405: Report error when incorrect CPU is used 2023-11-20 15:30:59 +00:00
npcm7xx_boards.c *: Add missing includes of qemu/error-report.h 2023-03-22 15:06:57 +00:00
npcm7xx.c hw/arm: Attach PSPI module to NPCM7XX SoC 2023-02-16 16:00:48 +00:00
nrf51_soc.c arm: Remove system_clock_scale global 2021-09-01 11:08:21 +01:00
nseries.c hw/arm: Support machine-default audiodev with fallback 2023-10-03 10:29:39 +02:00
olimex-stm32-h405.c hw/arm/stm32f405: Report error when incorrect CPU is used 2023-11-20 15:30:59 +00:00
omap1.c hw/arm: Fix some typos in comments (most found by codespell) 2023-04-20 10:21:13 +01:00
omap2.c audio: propagate Error * out of audio_init 2023-10-03 10:29:40 +02:00
omap_sx1.c *: Add missing includes of qemu/error-report.h 2023-03-22 15:06:57 +00:00
orangepi.c hw/arm: Avoid using 'first_cpu' when first ARM CPU is reachable 2023-10-27 12:50:12 +01:00
palm.c hw/arm: Support machine-default audiodev with fallback 2023-10-03 10:29:39 +02:00
pxa2xx_gpio.c hw/arm/pxa2xx_gpio: Pass CPU using QOM link property 2023-11-02 13:36:45 +00:00
pxa2xx_pic.c hw/intc/pxa2xx: Factor pxa2xx_pic_realize() out of pxa2xx_pic_init() 2023-10-27 12:48:57 +01:00
pxa2xx.c hw/arm/pxa2xx: Realize PXA2XX_I2C device before accessing it 2023-10-27 12:48:57 +01:00
raspi.c hw/arm/raspi: Use arm_write_bootloader() to write boot code 2023-05-02 15:47:41 +01:00
realview.c hw/arm: Avoid using 'first_cpu' when first ARM CPU is reachable 2023-10-27 12:50:12 +01:00
sabrelite.c hw/arm/fsl-imx6: Remove 'hw/arm/boot.h' from header 2023-10-27 12:42:13 +01:00
sbsa-ref.c hw/arm/sbsa-ref: Use qdev_prop_set_array() 2023-11-10 18:19:13 +01:00
smmu-common.c hw/pci: modify pci_setup_iommu() to set PCIIOMMUOps 2023-11-03 09:20:31 +01:00
smmu-internal.h hw/arm/smmuv3: Add VMID to TLB tagging 2023-05-30 15:50:16 +01:00
smmuv3-internal.h hw/arm/smmuv3: Update ID register bit field definitions 2023-10-19 14:32:13 +01:00
smmuv3.c hw/arm/smmuv3: Advertise SMMUv3.1-XNX feature 2023-10-19 14:32:13 +01:00
spitz.c hw/arm: Support machine-default audiodev with fallback 2023-10-03 10:29:39 +02:00
stellaris.c hw/input/stellaris_gamepad: Convert to qemu_input_handler_register() 2023-11-02 12:52:06 +00:00
stm32f100_soc.c hw/arm/stm32f100: Wire up sysclk and refclk 2021-09-01 11:08:19 +01:00
stm32f205_soc.c hw/arm/stm32f205: Wire up sysclk and refclk 2021-09-01 11:08:19 +01:00
stm32f405_soc.c hw/arm/stm32f405: Report error when incorrect CPU is used 2023-11-20 15:30:59 +00:00
stm32vldiscovery.c target/arm: Make boards pass base address to armv7m_load_kernel() 2022-09-14 11:19:40 +01:00
strongarm.c bulk: Rename TARGET_FMT_plx -> HWADDR_FMT_plx 2023-01-18 11:14:34 +01:00
strongarm.h hw/arm/collie: Create the RAM in the board 2019-10-22 17:44:01 +01:00
tosa.c hw/arm/pxa2xx: Simplify pxa255_init() 2023-01-12 17:03:14 +00:00
trace-events hw/arm/smmuv3: Add stage-2 support in iova notifier 2023-05-30 15:50:16 +01:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
versatilepb.c hw/arm: Support machine-default audiodev with fallback 2023-10-03 10:29:39 +02:00
vexpress.c hw/arm/vexpress: Use qdev_prop_set_array() 2023-11-10 18:19:13 +01:00
virt-acpi-build.c hw/arm/virt: Report correct register sizes in ACPI DBG2/SPCR tables. 2023-11-06 15:00:26 +00:00
virt.c hw/arm/virt: fix GIC maintenance IRQ registration 2023-11-13 13:13:49 +00:00
xen_arm.c Xen: Fix xen_set_irq() and xendevicemodel_set_irq_level() 2023-11-07 13:03:19 -08:00
xilinx_zynq.c hw/arm: Avoid using 'first_cpu' when first ARM CPU is reachable 2023-10-27 12:50:12 +01:00
xlnx-versal-virt.c hw/arm/xlnx-versal: Remove 'hw/arm/boot.h' from header 2023-10-27 12:42:13 +01:00
xlnx-versal.c hw/arm/xlnx-versal: Use qdev_prop_set_array() 2023-11-10 18:19:13 +01:00
xlnx-zcu102.c hw/arm/xlnx-zynqmp: Remove 'hw/arm/boot.h' from header 2023-10-27 12:42:13 +01:00
xlnx-zynqmp.c hw/arm/xlnx-zynqmp: fix unsigned error when checking the RPUs number 2023-05-30 15:50:16 +01:00
z2.c hw/arm: Support machine-default audiodev with fallback 2023-10-03 10:29:39 +02:00