Hi BALATON,
I tested this series with the provided patches and observed the following:
When I run QEMU with the ROM option, the machine boots successfully with
the below command:
qemu-system-ppc64 -machine pegasos2 -bios pegasos2.rom \
-cdrom debian-8.11.0-powerpc-netinst.iso \
-device VGA,romfile="" -serial stdio
However, when I try to boot the machine without the ROM using VOF, the
machine does not come up and no logs appear on stdout:
qemu-system-ppc64 -machine pegasos2 -serial stdio \
-kernel vmlinuz-chrp.initrd -append "---" \
-cdrom debian-8.11.0-powerpc-netinst.iso
Please let me know if I am missing any parameters or setup required for
booting via VOF on Pegasos2.
Documentation referred: qemu/docs/system/ppc/amigang.rst
Regards,
Yogesh Vyas
On Sat, Oct 18, 2025 at 8:44 PM BALATON Zoltan <[email protected]> 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 machine was tested with a Pegasos I ROM image and MorphOS.
>
> The first VOF patch (submitted separetely before, the reviewed 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 the name property
> to appear when guest queries properties which previously was worked
> around by adding it to every node.
>
> The series also 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.
>
> Regards,
> BALATON Zoltan
>
> Link to previous version:
> https://patchew.org/QEMU/[email protected]/
>
> v3:
> - rebase on master
>
> v2:
> - rebase on master
> - added some R-b tags from Philippe
> - move first patch later (was first to allow merging separately)
> - clarify blurb above
>
> BALATON Zoltan (13):
> 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/boards: Extend DEFINE_MACHINE macro to cover more use cases
> 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
>
>
>