Full rewrite of v1 [1], addressing Zoltan & Peter suggestion. Introduce a generic 'raspi' machine, which takes a 'model' and 'revision' properties, and any memory size. The 'board_rev' register is filled appropriately. Before, merge raspi4b.c within raspi.c (more is planned here with the MPCore refactor [2]). Regards, Phil. [1] https://lore.kernel.org/qemu-devel/20250201091528.1177-1-philmd@xxxxxxxxxx/ [2] https://lore.kernel.org/qemu-devel/20231212162935.42910-1-philmd@xxxxxxxxxx/ Philippe Mathieu-Daudé (12): hw/arm/raspi: Access SoC parent object using BCM283X_BASE() macro hw/arm/raspi: Merge model 4B with other models hw/arm/raspi: Unify RASPI_MACHINE types hw/arm/raspi: Pass board_rev as argument to raspi_base_machine_init() hw/arm/raspi: Consider processor id in types[] array hw/arm/raspi: Consider network interface for B models hw/arm/raspi: Check ramsize is within chipset aperture hw/arm/raspi: Introduce generic Raspberry Pi machine hw/arm/raspi: Have the generic machine take a 'revision' property hw/arm/raspi: List models creatable by the generic 'raspi' machine hw/arm/raspi: Deprecate old raspiX machine names hw/arm/raspi: Support more models docs/about/deprecated.rst | 13 + include/hw/arm/raspi_platform.h | 5 +- hw/arm/raspi.c | 383 ++++++++++++++++++++++-- hw/arm/raspi4b.c | 136 --------- tests/qtest/bcm2835-dma-test.c | 2 +- tests/qtest/bcm2835-i2c-test.c | 2 +- tests/qtest/boot-serial-test.c | 3 +- hw/arm/meson.build | 2 +- tests/functional/test_aarch64_raspi3.py | 5 +- tests/functional/test_aarch64_raspi4.py | 4 +- tests/functional/test_arm_raspi2.py | 4 +- 11 files changed, 385 insertions(+), 174 deletions(-) delete mode 100644 hw/arm/raspi4b.c -- 2.47.1