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.
Patches still missing R-b tags: 1,2,6,8,9,15,23,26
v4:
* Pick up R-b tags (thanks, Corey!)
* Keep descriptive names for TypeInfo arrays (Corey)
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-shentey@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-shentey@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