This series is part of a bigger series exploring data-driven machine creation using device tree blobs on top of the e500 machines [1]. It contains patches to make this exploration easier which are also expected to provide value in themselves.
The cleanup starts with the e500 machine class itself, then proceeds with machine-specific device models and concludes with more or less loosely related devices. Device cleanup mostly consists of using the DEFINE_TYPES() macro. v3: * Pick up R-B tags (Kevin, Zoltan -- thanks!) * Rely on trace events only and drop unimp logging in CCSR space after discussion * Merge https://patchew.org/QEMU/20241005100228.28094-1-shen...@gmail.com/ since ARM now mostly unaffected * Add patch to reuse MII constants in etsec device Testing done: * Build qemu_ppc64_e5500_defconfig in Buildroot, run it in the ppce500 machine and issue the `poweroff` command. Observe that QEMU is shut down cleanly. v2: * Add R-b tags (Cedric, Zoltan -- thanks!) * Add missing S-o-b tag to ds1338 patch (Cedric) * Populate POR PLL ratio status register with real-world values (Zoltan) * Rephrase one commit message (Zoltan) * Also rename header of ppce500_ccsr to match struct name * Don't mention ppc440_bamboo in license since unrelated (Zoltan) * Various style changes (Zoltan) Supersedes: 20241005100228.28094-1-shen...@gmail.com Bernhard Beschow (26): hw/ppc/e500: Do not leak struct boot_info hw/ppc/e500: Remove firstenv variable hw/ppc/e500: Prefer QOM cast hw/ppc/e500: Remove unused "irqs" parameter hw/ppc/e500: Add missing device tree properties to i2c controller node hw/ppc/e500: Reuse TYPE_GPIO_PWR hw/ppc/e500: Use SysBusDevice API to access TYPE_CCSR's internal resources hw/ppc/e500: Extract ppce500_ccsr.c hw/ppc/ppce500_ccsr: Trace access to CCSR region hw/ppc/mpc8544_guts: Populate POR PLL ratio status register hw/i2c/mpc_i2c: Convert DPRINTF to trace events for register access hw/i2c/mpc_i2c: Prefer DEFINE_TYPES() macro hw/pci-host/ppce500: Reuse TYPE_PPC_E500_PCI_BRIDGE define hw/pci-host/ppce500: Prefer DEFINE_TYPES() macro hw/net/fsl_etsec/miim: Reuse MII constants hw/net/fsl_etsec/etsec: Prefer DEFINE_TYPES() macro hw/gpio/mpc8xxx: Prefer DEFINE_TYPES() macro hw/ppc/mpc8544_guts: Prefer DEFINE_TYPES() macro hw/intc: Guard openpic_kvm.c by dedicated OPENPIC_KVM Kconfig switch hw/sd/sdhci: Prefer DEFINE_TYPES() macro hw/block/pflash_cfi01: Prefer DEFINE_TYPES() macro hw/i2c/smbus_eeprom: Prefer DEFINE_TYPES() macro hw/rtc/ds1338: Prefer DEFINE_TYPES() macro hw/usb/hcd-ehci-sysbus: Prefer DEFINE_TYPES() macro hw/vfio/platform: Let vfio_start_eventfd_injection() take VFIOPlatformDevice pointer MAINTAINERS: Add hw/gpio/gpio_pwr.c MAINTAINERS | 3 +- hw/ppc/e500.h | 9 +- hw/ppc/{e500-ccsr.h => ppce500_ccsr.h} | 8 +- hw/block/pflash_cfi01.c | 21 ++--- hw/gpio/mpc8xxx.c | 22 ++--- hw/i2c/mpc_i2c.c | 29 +++--- hw/i2c/smbus_eeprom.c | 19 ++-- hw/net/fsl_etsec/etsec.c | 22 ++--- hw/net/fsl_etsec/miim.c | 19 ++-- hw/pci-host/ppce500.c | 54 +++++------ hw/ppc/e500.c | 81 +++++------------ hw/ppc/mpc8544_guts.c | 32 ++++--- hw/ppc/ppce500_ccsr.c | 57 ++++++++++++ hw/rtc/ds1338.c | 20 ++--- hw/sd/sdhci.c | 62 ++++++------- hw/usb/hcd-ehci-sysbus.c | 118 +++++++++++-------------- hw/vfio/platform.c | 7 +- hw/i2c/trace-events | 5 ++ hw/intc/Kconfig | 4 + hw/intc/meson.build | 3 +- hw/ppc/Kconfig | 1 + hw/ppc/meson.build | 1 + hw/ppc/trace-events | 3 + 23 files changed, 290 insertions(+), 310 deletions(-) rename hw/ppc/{e500-ccsr.h => ppce500_ccsr.h} (71%) create mode 100644 hw/ppc/ppce500_ccsr.c -- 2.47.0