[PATCH v3 00/26] E500 Cleanup

Bernhard Beschow posted 26 patches 3 weeks ago
There is a newer version of this series
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
[PATCH v3 00/26] E500 Cleanup
Posted by Bernhard Beschow 3 weeks ago
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-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