mbox series

[00/23] E500 Cleanup

Message ID 20240923093016.66437-1-shentey@gmail.com
Headers show
Series E500 Cleanup | expand

Message

Bernhard Beschow Sept. 23, 2024, 9:29 a.m. UTC
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.

[1] https://github.com/shentok/qemu/tree/e500-fdt

Bernhard Beschow (23):
  hw/ppc/e500: Do not leak struct boot_info
  hw/ppc/e500: Reduce scope of env pointer
  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: Use SysBusDevice API to access TYPE_CCSR's internal
    resources
  hw/ppc/e500: Extract ppce500_ccsr.c
  hw/ppc/ppce500_ccsr: Log access to unimplemented registers
  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/gpio/mpc8xxx: Prefer DEFINE_TYPES() macro
  hw/ppc/mpc8544_guts: Prefer DEFINE_TYPES() macro
  hw/net/fsl_etsec/etsec: 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              |   2 +-
 hw/ppc/e500-ccsr.h       |   2 +
 hw/ppc/e500.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/pci-host/ppce500.c    |  54 ++++++++----------
 hw/ppc/e500.c            |  61 +++++---------------
 hw/ppc/mpc8544_guts.c    |  32 +++++++----
 hw/ppc/ppce500_ccsr.c    |  67 ++++++++++++++++++++++
 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/meson.build       |   1 +
 hw/ppc/trace-events      |   3 +
 21 files changed, 285 insertions(+), 277 deletions(-)
 create mode 100644 hw/ppc/ppce500_ccsr.c

Comments

Cédric Le Goater Sept. 23, 2024, 8:23 p.m. UTC | #1
Hello Bernhard,

On 9/23/24 11:29, Bernhard Beschow wrote:
> 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.

Since you recently took a look at the machine models, would you
be willing to take over maintenance of the e500 ? It shouldn't
be an enormous amount of work.

Thanks,

C.



> [1] https://github.com/shentok/qemu/tree/e500-fdt
> 
> Bernhard Beschow (23):
>    hw/ppc/e500: Do not leak struct boot_info
>    hw/ppc/e500: Reduce scope of env pointer
>    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: Use SysBusDevice API to access TYPE_CCSR's internal
>      resources
>    hw/ppc/e500: Extract ppce500_ccsr.c
>    hw/ppc/ppce500_ccsr: Log access to unimplemented registers
>    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/gpio/mpc8xxx: Prefer DEFINE_TYPES() macro
>    hw/ppc/mpc8544_guts: Prefer DEFINE_TYPES() macro
>    hw/net/fsl_etsec/etsec: 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              |   2 +-
>   hw/ppc/e500-ccsr.h       |   2 +
>   hw/ppc/e500.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/pci-host/ppce500.c    |  54 ++++++++----------
>   hw/ppc/e500.c            |  61 +++++---------------
>   hw/ppc/mpc8544_guts.c    |  32 +++++++----
>   hw/ppc/ppce500_ccsr.c    |  67 ++++++++++++++++++++++
>   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/meson.build       |   1 +
>   hw/ppc/trace-events      |   3 +
>   21 files changed, 285 insertions(+), 277 deletions(-)
>   create mode 100644 hw/ppc/ppce500_ccsr.c
>
Bernhard Beschow Sept. 23, 2024, 9:25 p.m. UTC | #2
Am 23. September 2024 20:23:54 UTC schrieb "Cédric Le Goater" <clg@redhat.com>:
>Hello Bernhard,

Hi Cédric,

>
>On 9/23/24 11:29, Bernhard Beschow wrote:
>> 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.
>
>Since you recently took a look at the machine models, would you
>be willing to take over maintenance of the e500 ? It shouldn't
>be an enormous amount of work.

Are you referring to the machine and related devices or the CPU? I'm somewhat familiar with the P102x and could take over but the CPU would be a different beast.

Best regards,
Bernhard

>
>Thanks,
>
>C.
>
>
>
>> [1] https://github.com/shentok/qemu/tree/e500-fdt
>> 
>> Bernhard Beschow (23):
>>    hw/ppc/e500: Do not leak struct boot_info
>>    hw/ppc/e500: Reduce scope of env pointer
>>    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: Use SysBusDevice API to access TYPE_CCSR's internal
>>      resources
>>    hw/ppc/e500: Extract ppce500_ccsr.c
>>    hw/ppc/ppce500_ccsr: Log access to unimplemented registers
>>    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/gpio/mpc8xxx: Prefer DEFINE_TYPES() macro
>>    hw/ppc/mpc8544_guts: Prefer DEFINE_TYPES() macro
>>    hw/net/fsl_etsec/etsec: 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              |   2 +-
>>   hw/ppc/e500-ccsr.h       |   2 +
>>   hw/ppc/e500.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/pci-host/ppce500.c    |  54 ++++++++----------
>>   hw/ppc/e500.c            |  61 +++++---------------
>>   hw/ppc/mpc8544_guts.c    |  32 +++++++----
>>   hw/ppc/ppce500_ccsr.c    |  67 ++++++++++++++++++++++
>>   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/meson.build       |   1 +
>>   hw/ppc/trace-events      |   3 +
>>   21 files changed, 285 insertions(+), 277 deletions(-)
>>   create mode 100644 hw/ppc/ppce500_ccsr.c
>> 
>
Cédric Le Goater Sept. 24, 2024, 8:33 a.m. UTC | #3
On 9/23/24 23:25, Bernhard Beschow wrote:
> 
> 
> 
> Am 23. September 2024 20:23:54 UTC schrieb "Cédric Le Goater" <clg@redhat.com>:
>> Hello Bernhard,
> 
> Hi Cédric,
> 
>>
>> On 9/23/24 11:29, Bernhard Beschow wrote:
>>> 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.
>>
>> Since you recently took a look at the machine models, would you
>> be willing to take over maintenance of the e500 ? It shouldn't
>> be an enormous amount of work.
> 
> Are you referring to the machine and related devices or the CPU? I'm somewhat familiar with the P102x and could take over but the CPU would be a different beast.

Please take a look at the MAINTAINERS file. You will see it is not
that large and the CPU target models are not part of it.


Thanks,

C.

  


> 
> Best regards,
> Bernhard
> 
>>
>> Thanks,
>>
>> C.
>>
>>
>>
>>> [1] https://github.com/shentok/qemu/tree/e500-fdt
>>>
>>> Bernhard Beschow (23):
>>>     hw/ppc/e500: Do not leak struct boot_info
>>>     hw/ppc/e500: Reduce scope of env pointer
>>>     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: Use SysBusDevice API to access TYPE_CCSR's internal
>>>       resources
>>>     hw/ppc/e500: Extract ppce500_ccsr.c
>>>     hw/ppc/ppce500_ccsr: Log access to unimplemented registers
>>>     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/gpio/mpc8xxx: Prefer DEFINE_TYPES() macro
>>>     hw/ppc/mpc8544_guts: Prefer DEFINE_TYPES() macro
>>>     hw/net/fsl_etsec/etsec: 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              |   2 +-
>>>    hw/ppc/e500-ccsr.h       |   2 +
>>>    hw/ppc/e500.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/pci-host/ppce500.c    |  54 ++++++++----------
>>>    hw/ppc/e500.c            |  61 +++++---------------
>>>    hw/ppc/mpc8544_guts.c    |  32 +++++++----
>>>    hw/ppc/ppce500_ccsr.c    |  67 ++++++++++++++++++++++
>>>    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/meson.build       |   1 +
>>>    hw/ppc/trace-events      |   3 +
>>>    21 files changed, 285 insertions(+), 277 deletions(-)
>>>    create mode 100644 hw/ppc/ppce500_ccsr.c
>>>
>>
>
Bernhard Beschow Sept. 26, 2024, 9:15 a.m. UTC | #4
Am 24. September 2024 08:33:26 UTC schrieb "Cédric Le Goater" <clg@redhat.com>:
>On 9/23/24 23:25, Bernhard Beschow wrote:
>> 
>> 
>> 
>> Am 23. September 2024 20:23:54 UTC schrieb "Cédric Le Goater" <clg@redhat.com>:
>>> Hello Bernhard,
>> 
>> Hi Cédric,
>> 
>>> 
>>> On 9/23/24 11:29, Bernhard Beschow wrote:
>>>> 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.
>>> 
>>> Since you recently took a look at the machine models, would you
>>> be willing to take over maintenance of the e500 ? It shouldn't
>>> be an enormous amount of work.
>> 
>> Are you referring to the machine and related devices or the CPU? I'm somewhat familiar with the P102x and could take over but the CPU would be a different beast.
>
>Please take a look at the MAINTAINERS file. You will see it is not
>that large and the CPU target models are not part of it.

Patch sent: https://lore.kernel.org/qemu-devel/20240926075948.2343-1-shentey@gmail.com/

Best regards,
Bernhard

>
>
>Thanks,
>
>C.
>
> 
>
>> 
>> Best regards,
>> Bernhard
>> 
>>> 
>>> Thanks,
>>> 
>>> C.
>>> 
>>> 
>>> 
>>>> [1] https://github.com/shentok/qemu/tree/e500-fdt
>>>> 
>>>> Bernhard Beschow (23):
>>>>     hw/ppc/e500: Do not leak struct boot_info
>>>>     hw/ppc/e500: Reduce scope of env pointer
>>>>     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: Use SysBusDevice API to access TYPE_CCSR's internal
>>>>       resources
>>>>     hw/ppc/e500: Extract ppce500_ccsr.c
>>>>     hw/ppc/ppce500_ccsr: Log access to unimplemented registers
>>>>     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/gpio/mpc8xxx: Prefer DEFINE_TYPES() macro
>>>>     hw/ppc/mpc8544_guts: Prefer DEFINE_TYPES() macro
>>>>     hw/net/fsl_etsec/etsec: 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              |   2 +-
>>>>    hw/ppc/e500-ccsr.h       |   2 +
>>>>    hw/ppc/e500.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/pci-host/ppce500.c    |  54 ++++++++----------
>>>>    hw/ppc/e500.c            |  61 +++++---------------
>>>>    hw/ppc/mpc8544_guts.c    |  32 +++++++----
>>>>    hw/ppc/ppce500_ccsr.c    |  67 ++++++++++++++++++++++
>>>>    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/meson.build       |   1 +
>>>>    hw/ppc/trace-events      |   3 +
>>>>    21 files changed, 285 insertions(+), 277 deletions(-)
>>>>    create mode 100644 hw/ppc/ppce500_ccsr.c
>>>> 
>>> 
>> 
>