[PATCH 00/13] Pegasos2 clean up and pegasos1 emulation

BALATON Zoltan posted 13 patches 4 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/cover.1746139668.git.balaton@eik.bme.hu
Maintainers: BALATON Zoltan <balaton@eik.bme.hu>, Alexey Kardashevskiy <aik@ozlabs.ru>, Eduardo Habkost <eduardo@habkost.net>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Yanan Wang <wangyanan55@huawei.com>, Zhao Liu <zhao1.liu@intel.com>
There is a newer version of this series
MAINTAINERS              |   1 +
hw/ppc/pegasos2.c        | 770 +++++++++++++++++++--------------------
hw/ppc/vof.c             |  50 ++-
include/hw/boards.h      |  16 +-
pc-bios/dtb/meson.build  |   2 +
pc-bios/dtb/pegasos1.dtb | Bin 0 -> 857 bytes
pc-bios/dtb/pegasos1.dts | 125 +++++++
pc-bios/dtb/pegasos2.dtb | Bin 0 -> 1701 bytes
pc-bios/dtb/pegasos2.dts | 167 +++++++++
9 files changed, 718 insertions(+), 413 deletions(-)
create mode 100644 pc-bios/dtb/pegasos1.dtb
create mode 100644 pc-bios/dtb/pegasos1.dts
create mode 100644 pc-bios/dtb/pegasos2.dtb
create mode 100644 pc-bios/dtb/pegasos2.dts
[PATCH 00/13] Pegasos2 clean up and pegasos1 emulation
Posted by BALATON Zoltan 4 months ago
This series changes how the fdt for VOF is generated in pegasos2 by
moving the static parts to a dtb and only generate the changing parts
such as memory size and PCI devices programmatically. This simplifies
the code and allows simply adding emulation of Pegasos I which has a
different north bridge and slightly different memory map but otherwise
very similar and can be emulated by reusing parts from the amigaone
machine.

The first patch adds an extended DEFINE_MACHINE macro that is later
used for more easily define the abstract machine type and hide most of
the QOM boiler plate.

The second patch (submitted separetely before, v3 is included here)
fixes handling the name property in VOF that cannot be represented in
a dts as that always takes the path as the name and cannot accept an
explicit name property but we need that to appear when guest queries
properties which previously was worked around by adding it to every
node.

Regards,
BALATON Zoltan

BALATON Zoltan (13):
  hw/boards: Extend DEFINE_MACHINE macro to cover more use cases
  ppc/vof: Make nextprop behave more like Open Firmware
  hw/ppc/pegasos2: Remove explicit name properties from device tree
  hw/ppc/pegasos2: Change device tree generation
  hw/ppc/pegasos2: Remove fdt pointer from machine state
  hw/ppc/pegasos2: Rename mv field in machine state
  hw/ppc/pegasos2: Add south bridge pointer in the machine state
  hw/ppc/pegasos2: Move PCI IRQ routing setup to a function
  hw/ppc/pegasos2: Move hardware specific parts out of machine reset
  hw/ppc/pegasos2: Introduce abstract superclass
  hw/ppc/pegasos2: Add bus frequency to machine state
  hw/ppc/pegasos2: Add Pegasos I emulation
  hw/ppc/pegasos2: Add VOF support for pegasos1

 MAINTAINERS              |   1 +
 hw/ppc/pegasos2.c        | 770 +++++++++++++++++++--------------------
 hw/ppc/vof.c             |  50 ++-
 include/hw/boards.h      |  16 +-
 pc-bios/dtb/meson.build  |   2 +
 pc-bios/dtb/pegasos1.dtb | Bin 0 -> 857 bytes
 pc-bios/dtb/pegasos1.dts | 125 +++++++
 pc-bios/dtb/pegasos2.dtb | Bin 0 -> 1701 bytes
 pc-bios/dtb/pegasos2.dts | 167 +++++++++
 9 files changed, 718 insertions(+), 413 deletions(-)
 create mode 100644 pc-bios/dtb/pegasos1.dtb
 create mode 100644 pc-bios/dtb/pegasos1.dts
 create mode 100644 pc-bios/dtb/pegasos2.dtb
 create mode 100644 pc-bios/dtb/pegasos2.dts

-- 
2.41.3
Re: [PATCH 00/13] Pegasos2 clean up and pegasos1 emulation
Posted by BALATON Zoltan 3 months, 2 weeks ago
On Fri, 2 May 2025, BALATON Zoltan wrote:
> This series changes how the fdt for VOF is generated in pegasos2 by
> moving the static parts to a dtb and only generate the changing parts
> such as memory size and PCI devices programmatically. This simplifies
> the code and allows simply adding emulation of Pegasos I which has a
> different north bridge and slightly different memory map but otherwise
> very similar and can be emulated by reusing parts from the amigaone
> machine.
>
> The first patch adds an extended DEFINE_MACHINE macro that is later
> used for more easily define the abstract machine type and hide most of
> the QOM boiler plate.
>
> The second patch (submitted separetely before, v3 is included here)
> fixes handling the name property in VOF that cannot be represented in
> a dts as that always takes the path as the name and cannot accept an
> explicit name property but we need that to appear when guest queries
> properties which previously was worked around by adding it to every
> node.

Ping?

> Regards,
> BALATON Zoltan
>
> BALATON Zoltan (13):
>  hw/boards: Extend DEFINE_MACHINE macro to cover more use cases
>  ppc/vof: Make nextprop behave more like Open Firmware
>  hw/ppc/pegasos2: Remove explicit name properties from device tree
>  hw/ppc/pegasos2: Change device tree generation
>  hw/ppc/pegasos2: Remove fdt pointer from machine state
>  hw/ppc/pegasos2: Rename mv field in machine state
>  hw/ppc/pegasos2: Add south bridge pointer in the machine state
>  hw/ppc/pegasos2: Move PCI IRQ routing setup to a function
>  hw/ppc/pegasos2: Move hardware specific parts out of machine reset
>  hw/ppc/pegasos2: Introduce abstract superclass
>  hw/ppc/pegasos2: Add bus frequency to machine state
>  hw/ppc/pegasos2: Add Pegasos I emulation
>  hw/ppc/pegasos2: Add VOF support for pegasos1
>
> MAINTAINERS              |   1 +
> hw/ppc/pegasos2.c        | 770 +++++++++++++++++++--------------------
> hw/ppc/vof.c             |  50 ++-
> include/hw/boards.h      |  16 +-
> pc-bios/dtb/meson.build  |   2 +
> pc-bios/dtb/pegasos1.dtb | Bin 0 -> 857 bytes
> pc-bios/dtb/pegasos1.dts | 125 +++++++
> pc-bios/dtb/pegasos2.dtb | Bin 0 -> 1701 bytes
> pc-bios/dtb/pegasos2.dts | 167 +++++++++
> 9 files changed, 718 insertions(+), 413 deletions(-)
> create mode 100644 pc-bios/dtb/pegasos1.dtb
> create mode 100644 pc-bios/dtb/pegasos1.dts
> create mode 100644 pc-bios/dtb/pegasos2.dtb
> create mode 100644 pc-bios/dtb/pegasos2.dts
>
>
Re: [PATCH 00/13] Pegasos2 clean up and pegasos1 emulation
Posted by BALATON Zoltan 3 months ago
On Fri, 23 May 2025, BALATON Zoltan wrote:
> On Fri, 2 May 2025, BALATON Zoltan wrote:
>> This series changes how the fdt for VOF is generated in pegasos2 by
>> moving the static parts to a dtb and only generate the changing parts
>> such as memory size and PCI devices programmatically. This simplifies
>> the code and allows simply adding emulation of Pegasos I which has a
>> different north bridge and slightly different memory map but otherwise
>> very similar and can be emulated by reusing parts from the amigaone
>> machine.
>> 
>> The first patch adds an extended DEFINE_MACHINE macro that is later
>> used for more easily define the abstract machine type and hide most of
>> the QOM boiler plate.
>> 
>> The second patch (submitted separetely before, v3 is included here)
>> fixes handling the name property in VOF that cannot be represented in
>> a dts as that always takes the path as the name and cannot accept an
>> explicit name property but we need that to appear when guest queries
>> properties which previously was worked around by adding it to every
>> node.
>
> Ping?

Ping^2

>> Regards,
>> BALATON Zoltan
>> 
>> BALATON Zoltan (13):
>>  hw/boards: Extend DEFINE_MACHINE macro to cover more use cases
>>  ppc/vof: Make nextprop behave more like Open Firmware
>>  hw/ppc/pegasos2: Remove explicit name properties from device tree
>>  hw/ppc/pegasos2: Change device tree generation
>>  hw/ppc/pegasos2: Remove fdt pointer from machine state
>>  hw/ppc/pegasos2: Rename mv field in machine state
>>  hw/ppc/pegasos2: Add south bridge pointer in the machine state
>>  hw/ppc/pegasos2: Move PCI IRQ routing setup to a function
>>  hw/ppc/pegasos2: Move hardware specific parts out of machine reset
>>  hw/ppc/pegasos2: Introduce abstract superclass
>>  hw/ppc/pegasos2: Add bus frequency to machine state
>>  hw/ppc/pegasos2: Add Pegasos I emulation
>>  hw/ppc/pegasos2: Add VOF support for pegasos1
>> 
>> MAINTAINERS              |   1 +
>> hw/ppc/pegasos2.c        | 770 +++++++++++++++++++--------------------
>> hw/ppc/vof.c             |  50 ++-
>> include/hw/boards.h      |  16 +-
>> pc-bios/dtb/meson.build  |   2 +
>> pc-bios/dtb/pegasos1.dtb | Bin 0 -> 857 bytes
>> pc-bios/dtb/pegasos1.dts | 125 +++++++
>> pc-bios/dtb/pegasos2.dtb | Bin 0 -> 1701 bytes
>> pc-bios/dtb/pegasos2.dts | 167 +++++++++
>> 9 files changed, 718 insertions(+), 413 deletions(-)
>> create mode 100644 pc-bios/dtb/pegasos1.dtb
>> create mode 100644 pc-bios/dtb/pegasos1.dts
>> create mode 100644 pc-bios/dtb/pegasos2.dtb
>> create mode 100644 pc-bios/dtb/pegasos2.dts
>> 
>> 
>
>