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

BALATON Zoltan posted 13 patches 2 weeks, 6 days ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/cover.1760798392.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 v3 00/13] Pegasos2 clean up and pegasos1 emulation
Posted by BALATON Zoltan 2 weeks, 6 days 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 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/cover.1751494995.git.balaton@eik.bme.hu/

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
Re: [PATCH v3 00/13] Pegasos2 clean up and pegasos1 emulation
Posted by Yogesh Vyas 2 weeks, 6 days ago
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 <balaton@eik.bme.hu> 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/cover.1751494995.git.balaton@eik.bme.hu/
>
> 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
>
>
>
Re: [PATCH v3 00/13] Pegasos2 clean up and pegasos1 emulation
Posted by BALATON Zoltan 2 weeks, 5 days ago
On Sun, 19 Oct 2025, Yogesh Vyas wrote:
> 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

Maybe you did not use the right vmlinuz-chrp.initrd. Pegasos2 is a 32 bit 
machine so you need /install/powerpc/vmlinuz-chrp.initrd for it (see in 
the /install/pegasos script that is used with firmware). Even if you call 
it from qemu-system-ppc64 which includes both 32 bit and 64 bit machines 
but does not make 32 bit machines 64 bit so you still need the 32 bit OS.

Regards,
BALATON Zoltan
Re: [PATCH v3 00/13] Pegasos2 clean up and pegasos1 emulation
Posted by Yogesh Vyas 1 week, 6 days ago
On Sun, Oct 19, 2025 at 5:37 PM BALATON Zoltan <balaton@eik.bme.hu> wrote:

> On Sun, 19 Oct 2025, Yogesh Vyas wrote:
> > 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
>
> Maybe you did not use the right vmlinuz-chrp.initrd. Pegasos2 is a 32 bit
> machine so you need /install/powerpc/vmlinuz-chrp.initrd for it (see in
> the /install/pegasos script that is used with firmware). Even if you call
> it from qemu-system-ppc64 which includes both 32 bit and 64 bit machines
> but does not make 32 bit machines 64 bit so you still need the 32 bit OS.
>
>
Hi Balaton,
I am using 32bit images only and looks like VOF boot works with the distro
provided Qemu (both ppc and pp64), however doesn't work with upstream Qemu
for VOF.

yogi@fedora:~/work/images$ file vmlinuz-chrp.initrd
vmlinuz-chrp.initrd: ELF 32-bit MSB executable, PowerPC or cisco 4500,
version 1 (SYSV), statically linked, not stripped

yogi@fedora:~/work/images$ file debian-8.11.0-powerpc-netinst.iso
debian-8.11.0-powerpc-netinst.iso: ISO 9660 CD-ROM filesystem data (DOS/MBR
boot sector) 'Debian 8.11.0 ppc 1'

Qemu distro version:
yogi@fedora:~/work/images$ qemu-system-ppc --version
QEMU emulator version 9.2.4 (qemu-9.2.4-2.fc42)
Copyright (c) 2003-2024 Fabrice Bellard and the QEMU Project developers
yogi@fedora:~/work/images$ qemu-system-ppc64 --version
QEMU emulator version 9.2.4 (qemu-9.2.4-2.fc42)
Copyright (c) 2003-2024 Fabrice Bellard and the QEMU Project developers

When using upstream Qemu (both ppc and pp64) with VOF it just gets stuck
with no console output. Am I missing something?

I also tried applying the patches from
https://lore.kernel.org/qemu-devel/cover.1761346145.git.balaton@eik.bme.hu/T/#t
but still the same issue.

Regards,
Yogesh



> Regards,
> BALATON Zoltan
>
Re: [PATCH v3 00/13] Pegasos2 clean up and pegasos1 emulation
Posted by BALATON Zoltan 1 week, 6 days ago
On Sun, 26 Oct 2025, Yogesh Vyas wrote:
> On Sun, Oct 19, 2025 at 5:37 PM BALATON Zoltan <balaton@eik.bme.hu> wrote:
>> On Sun, 19 Oct 2025, Yogesh Vyas wrote:
>>> 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
>>
>> Maybe you did not use the right vmlinuz-chrp.initrd. Pegasos2 is a 32 bit
>> machine so you need /install/powerpc/vmlinuz-chrp.initrd for it (see in
>> the /install/pegasos script that is used with firmware). Even if you call
>> it from qemu-system-ppc64 which includes both 32 bit and 64 bit machines
>> but does not make 32 bit machines 64 bit so you still need the 32 bit OS.
>>
>>
> Hi Balaton,
> I am using 32bit images only and looks like VOF boot works with the distro
> provided Qemu (both ppc and pp64), however doesn't work with upstream Qemu
> for VOF.

That's odd, it works for me with QEMU master so I can't reproduce this.

> yogi@fedora:~/work/images$ file vmlinuz-chrp.initrd
> vmlinuz-chrp.initrd: ELF 32-bit MSB executable, PowerPC or cisco 4500,
> version 1 (SYSV), statically linked, not stripped

The file command says 32-bit for both /install/powerpc/vmlinuz-chrp.initrd 
and /install/powerpc64/vmlinuz-chrp.initrd but only the first one should 
work. Can you double check you have the right vmlinuz-chrp.initrd file? 
But if you say the same file works with 9.2.4 I have no idea why. I see 
these files on the CD

   9301172 Jun 19  2018 /install/powerpc/vmlinuz-chrp.initrd
  10534888 Jun 19  2018 /install/powerpc64/vmlinuz-chrp.initrd

File command says:

vmlinuz-chrp.initrd:   ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1 (SYSV), statically linked, not stripped
vmlinuz-chrp.initrd64: ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1 (SYSV), statically linked, not stripped

but only the first from the powerpc directory is supposed to work and it 
does boot for me with QEMU master. You can also check following the other 
way described in qemu/docs/system/ppc/amigang.rst using -bios pegasos2.rom 
which loads the correct image from the CD. Does that work?

Regards,
BALATON Zoltan
Re: [PATCH v3 00/13] Pegasos2 clean up and pegasos1 emulation
Posted by Yogesh Vyas 1 week, 5 days ago
On 10/26/25 4:39 PM, BALATON Zoltan wrote:
> On Sun, 26 Oct 2025, Yogesh Vyas wrote:
>> On Sun, Oct 19, 2025 at 5:37 PM BALATON Zoltan <balaton@eik.bme.hu> 
>> wrote:
>>> On Sun, 19 Oct 2025, Yogesh Vyas wrote:
>>>> 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
>>>
>>> Maybe you did not use the right vmlinuz-chrp.initrd. Pegasos2 is a 
>>> 32 bit
>>> machine so you need /install/powerpc/vmlinuz-chrp.initrd for it (see in
>>> the /install/pegasos script that is used with firmware). Even if you 
>>> call
>>> it from qemu-system-ppc64 which includes both 32 bit and 64 bit 
>>> machines
>>> but does not make 32 bit machines 64 bit so you still need the 32 
>>> bit OS.
>>>
>>>
>> Hi Balaton,
>> I am using 32bit images only and looks like VOF boot works with the 
>> distro
>> provided Qemu (both ppc and pp64), however doesn't work with upstream 
>> Qemu
>> for VOF.
>
> That's odd, it works for me with QEMU master so I can't reproduce this.
>
>> yogi@fedora:~/work/images$ file vmlinuz-chrp.initrd
>> vmlinuz-chrp.initrd: ELF 32-bit MSB executable, PowerPC or cisco 4500,
>> version 1 (SYSV), statically linked, not stripped
>
> The file command says 32-bit for both 
> /install/powerpc/vmlinuz-chrp.initrd and 
> /install/powerpc64/vmlinuz-chrp.initrd but only the first one should 
> work. Can you double check you have the right vmlinuz-chrp.initrd 
> file? But if you say the same file works with 9.2.4 I have no idea 
> why. I see these files on the CD
>
>   9301172 Jun 19  2018 /install/powerpc/vmlinuz-chrp.initrd
>  10534888 Jun 19  2018 /install/powerpc64/vmlinuz-chrp.initrd


I am also using the same file:

yogi@fedora:~/work/images$ ls -lrt vmlinuz-chrp.initrd
-r--r--r--. 1 yogi yogi 9301172 Oct 18 23:50 vmlinuz-chrp.initrd

>
> File command says:
>
> vmlinuz-chrp.initrd:   ELF 32-bit MSB executable, PowerPC or cisco 
> 4500, version 1 (SYSV), statically linked, not stripped
> vmlinuz-chrp.initrd64: ELF 32-bit MSB executable, PowerPC or cisco 
> 4500, version 1 (SYSV), statically linked, not stripped
>
> but only the first from the powerpc directory is supposed to work and 
> it does boot for me with QEMU master. You can also check following the 
> other way described in qemu/docs/system/ppc/amigang.rst using -bios 
> pegasos2.rom which loads the correct image from the CD. Does that work?

Yes, I had mentioned it in my first mail that ROM option works as 
expected. It is only an issue when using VOF with upstream Qemu.

Could you please share your Qemu command line if it's different from the 
one mentioned in the documentation.

Regards,

Yogesh Vyas

>
> Regards,
> BALATON Zoltan

Re: [PATCH v3 00/13] Pegasos2 clean up and pegasos1 emulation
Posted by BALATON Zoltan 1 week, 5 days ago
On Sun, 26 Oct 2025, Yogesh Vyas wrote:

>
> On 10/26/25 4:39 PM, BALATON Zoltan wrote:
>> On Sun, 26 Oct 2025, Yogesh Vyas wrote:
>>> On Sun, Oct 19, 2025 at 5:37 PM BALATON Zoltan <balaton@eik.bme.hu> wrote:
>>>> On Sun, 19 Oct 2025, Yogesh Vyas wrote:
>>>>> 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
>>>> 
>>>> Maybe you did not use the right vmlinuz-chrp.initrd. Pegasos2 is a 32 bit
>>>> machine so you need /install/powerpc/vmlinuz-chrp.initrd for it (see in
>>>> the /install/pegasos script that is used with firmware). Even if you call
>>>> it from qemu-system-ppc64 which includes both 32 bit and 64 bit machines
>>>> but does not make 32 bit machines 64 bit so you still need the 32 bit OS.
>>>> 
>>>> 
>>> Hi Balaton,
>>> I am using 32bit images only and looks like VOF boot works with the distro
>>> provided Qemu (both ppc and pp64), however doesn't work with upstream Qemu
>>> for VOF.
>> 
>> That's odd, it works for me with QEMU master so I can't reproduce this.
>> 
>>> yogi@fedora:~/work/images$ file vmlinuz-chrp.initrd
>>> vmlinuz-chrp.initrd: ELF 32-bit MSB executable, PowerPC or cisco 4500,
>>> version 1 (SYSV), statically linked, not stripped
>> 
>> The file command says 32-bit for both /install/powerpc/vmlinuz-chrp.initrd 
>> and /install/powerpc64/vmlinuz-chrp.initrd but only the first one should 
>> work. Can you double check you have the right vmlinuz-chrp.initrd file? But 
>> if you say the same file works with 9.2.4 I have no idea why. I see these 
>> files on the CD
>> 
>>   9301172 Jun 19  2018 /install/powerpc/vmlinuz-chrp.initrd
>>  10534888 Jun 19  2018 /install/powerpc64/vmlinuz-chrp.initrd
>
>
> I am also using the same file:
>
> yogi@fedora:~/work/images$ ls -lrt vmlinuz-chrp.initrd
> -r--r--r--. 1 yogi yogi 9301172 Oct 18 23:50 vmlinuz-chrp.initrd
>
>> 
>> File command says:
>> 
>> vmlinuz-chrp.initrd:   ELF 32-bit MSB executable, PowerPC or cisco 4500, 
>> version 1 (SYSV), statically linked, not stripped
>> vmlinuz-chrp.initrd64: ELF 32-bit MSB executable, PowerPC or cisco 4500, 
>> version 1 (SYSV), statically linked, not stripped
>> 
>> but only the first from the powerpc directory is supposed to work and it 
>> does boot for me with QEMU master. You can also check following the other 
>> way described in qemu/docs/system/ppc/amigang.rst using -bios pegasos2.rom 
>> which loads the correct image from the CD. Does that work?
>
> Yes, I had mentioned it in my first mail that ROM option works as expected. 
> It is only an issue when using VOF with upstream Qemu.

Or if you suspect it's a VOF issue you can try -trace enable="vof*"

Regards,
BALATON Zoltan
Re: [PATCH v3 00/13] Pegasos2 clean up and pegasos1 emulation
Posted by Yogesh Vyas 1 week, 4 days ago
On 10/26/25 10:15 PM, BALATON Zoltan wrote:
> On Sun, 26 Oct 2025, Yogesh Vyas wrote:
>
>>
>> On 10/26/25 4:39 PM, BALATON Zoltan wrote:
>>> On Sun, 26 Oct 2025, Yogesh Vyas wrote:
>>>> On Sun, Oct 19, 2025 at 5:37 PM BALATON Zoltan <balaton@eik.bme.hu> 
>>>> wrote:
>>>>> On Sun, 19 Oct 2025, Yogesh Vyas wrote:
>>>>>> 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
>>>>>
>>>>> Maybe you did not use the right vmlinuz-chrp.initrd. Pegasos2 is a 
>>>>> 32 bit
>>>>> machine so you need /install/powerpc/vmlinuz-chrp.initrd for it 
>>>>> (see in
>>>>> the /install/pegasos script that is used with firmware). Even if 
>>>>> you call
>>>>> it from qemu-system-ppc64 which includes both 32 bit and 64 bit 
>>>>> machines
>>>>> but does not make 32 bit machines 64 bit so you still need the 32 
>>>>> bit OS.
>>>>>
>>>>>
>>>> Hi Balaton,
>>>> I am using 32bit images only and looks like VOF boot works with the 
>>>> distro
>>>> provided Qemu (both ppc and pp64), however doesn't work with 
>>>> upstream Qemu
>>>> for VOF.
>>>
>>> That's odd, it works for me with QEMU master so I can't reproduce this.
>>>
>>>> yogi@fedora:~/work/images$ file vmlinuz-chrp.initrd
>>>> vmlinuz-chrp.initrd: ELF 32-bit MSB executable, PowerPC or cisco 4500,
>>>> version 1 (SYSV), statically linked, not stripped
>>>
>>> The file command says 32-bit for both 
>>> /install/powerpc/vmlinuz-chrp.initrd and 
>>> /install/powerpc64/vmlinuz-chrp.initrd but only the first one should 
>>> work. Can you double check you have the right vmlinuz-chrp.initrd 
>>> file? But if you say the same file works with 9.2.4 I have no idea 
>>> why. I see these files on the CD
>>>
>>>   9301172 Jun 19  2018 /install/powerpc/vmlinuz-chrp.initrd
>>>  10534888 Jun 19  2018 /install/powerpc64/vmlinuz-chrp.initrd
>>
>>
>> I am also using the same file:
>>
>> yogi@fedora:~/work/images$ ls -lrt vmlinuz-chrp.initrd
>> -r--r--r--. 1 yogi yogi 9301172 Oct 18 23:50 vmlinuz-chrp.initrd
>>
>>>
>>> File command says:
>>>
>>> vmlinuz-chrp.initrd:   ELF 32-bit MSB executable, PowerPC or cisco 
>>> 4500, version 1 (SYSV), statically linked, not stripped
>>> vmlinuz-chrp.initrd64: ELF 32-bit MSB executable, PowerPC or cisco 
>>> 4500, version 1 (SYSV), statically linked, not stripped
>>>
>>> but only the first from the powerpc directory is supposed to work 
>>> and it does boot for me with QEMU master. You can also check 
>>> following the other way described in 
>>> qemu/docs/system/ppc/amigang.rst using -bios pegasos2.rom which 
>>> loads the correct image from the CD. Does that work?
>>
>> Yes, I had mentioned it in my first mail that ROM option works as 
>> expected. It is only an issue when using VOF with upstream Qemu.
>
> Or if you suspect it's a VOF issue you can try -trace enable="vof*"
>
Hi Balaton,

As suggested, I tried both options in upstream:
yogi@fedora:~/work/git/fork/qemu/build$ ./qemu-system-ppc -machine 
pegasos2 -serial stdio -kernel ~/work/images/vmlinuz-chrp.initrd -append 
"---" -cdrom ~/work/images/debian-8.11.0-powerpc-netinst.iso -d 
guest_errors -trace enable="vof*"

I could see the below trace and the error message:
  vof_getproplen ph=0x13 "subsystem-vendor-id" => len=4
vof_getprop ph=0x13 "subsystem-vendor-id" => len=4 [00001100]
vof_getproplen ph=0x13 "reg" => len=20
vof_getprop ph=0x13 "reg" => len=20 [00000000 00000000 00000000 00000000 
00000000]
vof_write ih=0x2 [22] "Device tree strings 0x"
vof_write ih=0x2 [8] "01b0d000"
vof_write ih=0x2 [6] " -> 0x"
vof_write ih=0x2 [8] "01b0d405"
vof_write ih=0x2 [2] "
"
vof_write ih=0x2 [22] "Device tree struct  0x"
vof_write ih=0x2 [8] "01b0e000"
vof_write ih=0x2 [6] " -> 0x"
vof_write ih=0x2 [8] "01b0f000"
vof_write ih=0x2 [2] "
"
vof_getprop ph=0x3 "stdin" => len=4 [00000001]
vof_write ih=0x2 [18] "Calling quiesce..."
vof_write ih=0x2 [2] "
"
vof_claimed 0x0..0xd80 size=0xd80
vof_claimed 0x8000..0x10000 size=0x8000
vof_claimed 0x400000..0xcd8dfc size=0x8d8dfc
vof_claimed 0xd00000..0x15a1ec0 size=0x8a1ec0
vof_claimed 0x15a2000..0x1b0b90d size=0x56990d
vof_claimed 0x1b0c000..0x1c0c000 size=0x100000
vof_claimed 0x1ffff000..0x1ffff014 size=0x14
vof_write ih=0x2 [24] "returning from prom_init"
vof_write ih=0x2 [2] "
"
Trying to read invalid spr 1012 (0x3f4) at c0013f48

Regards,

Yogesh Vyas

> Regards,
> BALATON Zoltan
Re: [PATCH v3 00/13] Pegasos2 clean up and pegasos1 emulation
Posted by BALATON Zoltan 1 week, 4 days ago
On Mon, 27 Oct 2025, Yogesh Vyas wrote:
> On 10/26/25 10:15 PM, BALATON Zoltan wrote:
>> On Sun, 26 Oct 2025, Yogesh Vyas wrote:
>>> On 10/26/25 4:39 PM, BALATON Zoltan wrote:
>>>> On Sun, 26 Oct 2025, Yogesh Vyas wrote:
>>>>> On Sun, Oct 19, 2025 at 5:37 PM BALATON Zoltan <balaton@eik.bme.hu> 
>>>>> wrote:
>>>>>> On Sun, 19 Oct 2025, Yogesh Vyas wrote:
>>>>>>> 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
>>>>>> 
>>>>>> Maybe you did not use the right vmlinuz-chrp.initrd. Pegasos2 is a 32 
>>>>>> bit
>>>>>> machine so you need /install/powerpc/vmlinuz-chrp.initrd for it (see in
>>>>>> the /install/pegasos script that is used with firmware). Even if you 
>>>>>> call
>>>>>> it from qemu-system-ppc64 which includes both 32 bit and 64 bit 
>>>>>> machines
>>>>>> but does not make 32 bit machines 64 bit so you still need the 32 bit 
>>>>>> OS.
>>>>>> 
>>>>>> 
>>>>> Hi Balaton,
>>>>> I am using 32bit images only and looks like VOF boot works with the 
>>>>> distro
>>>>> provided Qemu (both ppc and pp64), however doesn't work with upstream 
>>>>> Qemu
>>>>> for VOF.
>>>> 
>>>> That's odd, it works for me with QEMU master so I can't reproduce this.
>>>> 
>>>>> yogi@fedora:~/work/images$ file vmlinuz-chrp.initrd
>>>>> vmlinuz-chrp.initrd: ELF 32-bit MSB executable, PowerPC or cisco 4500,
>>>>> version 1 (SYSV), statically linked, not stripped
>>>> 
>>>> The file command says 32-bit for both 
>>>> /install/powerpc/vmlinuz-chrp.initrd and 
>>>> /install/powerpc64/vmlinuz-chrp.initrd but only the first one should 
>>>> work. Can you double check you have the right vmlinuz-chrp.initrd file? 
>>>> But if you say the same file works with 9.2.4 I have no idea why. I see 
>>>> these files on the CD
>>>> 
>>>>   9301172 Jun 19  2018 /install/powerpc/vmlinuz-chrp.initrd
>>>>  10534888 Jun 19  2018 /install/powerpc64/vmlinuz-chrp.initrd
>>> 
>>> 
>>> I am also using the same file:
>>> 
>>> yogi@fedora:~/work/images$ ls -lrt vmlinuz-chrp.initrd
>>> -r--r--r--. 1 yogi yogi 9301172 Oct 18 23:50 vmlinuz-chrp.initrd
>>> 
>>>> 
>>>> File command says:
>>>> 
>>>> vmlinuz-chrp.initrd:   ELF 32-bit MSB executable, PowerPC or cisco 4500, 
>>>> version 1 (SYSV), statically linked, not stripped
>>>> vmlinuz-chrp.initrd64: ELF 32-bit MSB executable, PowerPC or cisco 4500, 
>>>> version 1 (SYSV), statically linked, not stripped
>>>> 
>>>> but only the first from the powerpc directory is supposed to work and it 
>>>> does boot for me with QEMU master. You can also check following the other 
>>>> way described in qemu/docs/system/ppc/amigang.rst using -bios 
>>>> pegasos2.rom which loads the correct image from the CD. Does that work?
>>> 
>>> Yes, I had mentioned it in my first mail that ROM option works as 
>>> expected. It is only an issue when using VOF with upstream Qemu.
>> 
>> Or if you suspect it's a VOF issue you can try -trace enable="vof*"
>> 
> Hi Balaton,
>
> As suggested, I tried both options in upstream:
> yogi@fedora:~/work/git/fork/qemu/build$ ./qemu-system-ppc -machine pegasos2 
> -serial stdio -kernel ~/work/images/vmlinuz-chrp.initrd -append "---" -cdrom 
> ~/work/images/debian-8.11.0-powerpc-netinst.iso -d guest_errors -trace 
> enable="vof*"
>
> I could see the below trace and the error message:
>  vof_getproplen ph=0x13 "subsystem-vendor-id" => len=4
> vof_getprop ph=0x13 "subsystem-vendor-id" => len=4 [00001100]
> vof_getproplen ph=0x13 "reg" => len=20
> vof_getprop ph=0x13 "reg" => len=20 [00000000 00000000 00000000 00000000 
> 00000000]
> vof_write ih=0x2 [22] "Device tree strings 0x"
> vof_write ih=0x2 [8] "01b0d000"
> vof_write ih=0x2 [6] " -> 0x"
> vof_write ih=0x2 [8] "01b0d405"
> vof_write ih=0x2 [2] "
> "
> vof_write ih=0x2 [22] "Device tree struct  0x"
> vof_write ih=0x2 [8] "01b0e000"
> vof_write ih=0x2 [6] " -> 0x"
> vof_write ih=0x2 [8] "01b0f000"
> vof_write ih=0x2 [2] "
> "
> vof_getprop ph=0x3 "stdin" => len=4 [00000001]
> vof_write ih=0x2 [18] "Calling quiesce..."
> vof_write ih=0x2 [2] "
> "
> vof_claimed 0x0..0xd80 size=0xd80
> vof_claimed 0x8000..0x10000 size=0x8000
> vof_claimed 0x400000..0xcd8dfc size=0x8d8dfc
> vof_claimed 0xd00000..0x15a1ec0 size=0x8a1ec0
> vof_claimed 0x15a2000..0x1b0b90d size=0x56990d
> vof_claimed 0x1b0c000..0x1c0c000 size=0x100000
> vof_claimed 0x1ffff000..0x1ffff014 size=0x14
> vof_write ih=0x2 [24] "returning from prom_init"
> vof_write ih=0x2 [2] "
> "
> Trying to read invalid spr 1012 (0x3f4) at c0013f48

Then VOF works too and the Linux kernel loader starts but it stops 
somewhere when the actual kernel starts. I get:

vof_write ih=0x1 [18] "Calling quiesce..."
vof_write ih=0x1 [2] "
"
vof_claimed 0x0..0xd80 size=0xd80
vof_claimed 0x8000..0x10000 size=0x8000
vof_claimed 0x400000..0xcd8dfc size=0x8d8dfc
vof_claimed 0xd00000..0x15a1ec0 size=0x8a1ec0
vof_claimed 0x15a2000..0x1b0b90d size=0x56990d
vof_claimed 0x1b0c000..0x1c0c000 size=0x100000
vof_claimed 0x1ffff000..0x1ffff014 size=0x14
vof_write ih=0x1 [24] "returning from prom_init"
vof_write ih=0x1 [2] "
"
Trying to read invalid spr 1012 (0x3f4) at 00000000c0013f48
[    0.000000] Using CHRP machine description
[    0.000000] Total memory = 512MB; using 1024kB for hash table (at cff00000)
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.16.0-6-powerpc (debian-kernel@lists.debian.org) (gcc version 4.8.4 (Debian 4.8.4-1) ) #1 Debian 3.16.56-1+deb8u1 (2018-05-08)
[    0.000000] Found initrd at 0xc15a2000:0xc1b0b90d
[    0.000000] chrp type = 6 [Genesi Pegasos]

Are you using this same vmlinuz-chrp.initrd?

$ md5sum vmlinuz-chrp.initrd
a440d76c1d2ccfa86bdff6dba017cf39  vmlinuz-chrp.initrd

If so then probably there's something with your QEMU installation.

Regards,
BALATON Zoltan
Re: [PATCH v3 00/13] Pegasos2 clean up and pegasos1 emulation
Posted by Yogesh Vyas 5 days, 19 hours ago

On 10/28/25 1:48 AM, BALATON Zoltan wrote:
> Trying to read invalid spr 1012 (0x3f4) at 00000000c0013f48
> [    0.000000] Using CHRP machine description
> [    0.000000] Total memory = 512MB; using 1024kB for hash table (at 
> cff00000)
> [    0.000000] Initializing cgroup subsys cpuset
> [    0.000000] Initializing cgroup subsys cpu
> [    0.000000] Initializing cgroup subsys cpuacct
> [    0.000000] Linux version 3.16.0-6-powerpc (debian- 
> kernel@lists.debian.org) (gcc version 4.8.4 (Debian 4.8.4-1) ) #1 Debian 
> 3.16.56-1+deb8u1 (2018-05-08)
> [    0.000000] Found initrd at 0xc15a2000:0xc1b0b90d
> [    0.000000] chrp type = 6 [Genesi Pegasos]
> 
> Are you using this same vmlinuz-chrp.initrd?
> 
> $ md5sum vmlinuz-chrp.initrd
> a440d76c1d2ccfa86bdff6dba017cf39  vmlinuz-chrp.initrd

Yes, md5sum is same as you mentioned:
yogi@fedora:~/work/images$ md5sum vmlinuz-chrp.initrd
a440d76c1d2ccfa86bdff6dba017cf39  vmlinuz-chrp.initrd

Could you please share your Qemu configure command line?
I can try one more time if that's different than mine.
I used below configure command line:
'../configure' '--target-list=ppc64-softmmu,ppc-softmmu' '--enable-virtfs'

Regards,
Yogesh Vyas

> 
> If so then probably there's something with your QEMU installation.


Re: [PATCH v3 00/13] Pegasos2 clean up and pegasos1 emulation
Posted by BALATON Zoltan 4 days, 15 hours ago
On Sun, 2 Nov 2025, Yogesh Vyas wrote:
> On 10/28/25 1:48 AM, BALATON Zoltan wrote:
>> Trying to read invalid spr 1012 (0x3f4) at 00000000c0013f48
>> [    0.000000] Using CHRP machine description
>> [    0.000000] Total memory = 512MB; using 1024kB for hash table (at 
>> cff00000)
>> [    0.000000] Initializing cgroup subsys cpuset
>> [    0.000000] Initializing cgroup subsys cpu
>> [    0.000000] Initializing cgroup subsys cpuacct
>> [    0.000000] Linux version 3.16.0-6-powerpc (debian- 
>> kernel@lists.debian.org) (gcc version 4.8.4 (Debian 4.8.4-1) ) #1 Debian 
>> 3.16.56-1+deb8u1 (2018-05-08)
>> [    0.000000] Found initrd at 0xc15a2000:0xc1b0b90d
>> [    0.000000] chrp type = 6 [Genesi Pegasos]
>> 
>> Are you using this same vmlinuz-chrp.initrd?
>> 
>> $ md5sum vmlinuz-chrp.initrd
>> a440d76c1d2ccfa86bdff6dba017cf39  vmlinuz-chrp.initrd
>
> Yes, md5sum is same as you mentioned:
> yogi@fedora:~/work/images$ md5sum vmlinuz-chrp.initrd
> a440d76c1d2ccfa86bdff6dba017cf39  vmlinuz-chrp.initrd
>
> Could you please share your Qemu configure command line?
> I can try one more time if that's different than mine.
> I used below configure command line:
> '../configure' '--target-list=ppc64-softmmu,ppc-softmmu' '--enable-virtfs'

I don't see how configure options could have anyhing to do with that but 
I've tested that this works on my machine:

configure --disable-download --disable-tools --target-list=ppc64-softmmu
qemu-system-ppc64 -M pegasos2 -serial stdio -kernel vmlinuz-chrp.initrd -append "---" -cdrom debian-8.11.0-powerpc-netinst.iso

The configure options are just to only compile what's needed but it should 
work anyway with your or any options too as long as qemu-system-ppc or 
qemu-system-ppc64 is compiled. Can you test on a different machine?

Regards,
BALATON Zoltan
Re: [PATCH v3 00/13] Pegasos2 clean up and pegasos1 emulation
Posted by BALATON Zoltan 1 day, 13 hours ago
On Mon, 3 Nov 2025, BALATON Zoltan wrote:
> On Sun, 2 Nov 2025, Yogesh Vyas wrote:
>> On 10/28/25 1:48 AM, BALATON Zoltan wrote:
>>> Trying to read invalid spr 1012 (0x3f4) at 00000000c0013f48
>>> [    0.000000] Using CHRP machine description
>>> [    0.000000] Total memory = 512MB; using 1024kB for hash table (at 
>>> cff00000)
>>> [    0.000000] Initializing cgroup subsys cpuset
>>> [    0.000000] Initializing cgroup subsys cpu
>>> [    0.000000] Initializing cgroup subsys cpuacct
>>> [    0.000000] Linux version 3.16.0-6-powerpc (debian- 
>>> kernel@lists.debian.org) (gcc version 4.8.4 (Debian 4.8.4-1) ) #1 Debian 
>>> 3.16.56-1+deb8u1 (2018-05-08)
>>> [    0.000000] Found initrd at 0xc15a2000:0xc1b0b90d
>>> [    0.000000] chrp type = 6 [Genesi Pegasos]
>>> 
>>> Are you using this same vmlinuz-chrp.initrd?
>>> 
>>> $ md5sum vmlinuz-chrp.initrd
>>> a440d76c1d2ccfa86bdff6dba017cf39  vmlinuz-chrp.initrd
>> 
>> Yes, md5sum is same as you mentioned:
>> yogi@fedora:~/work/images$ md5sum vmlinuz-chrp.initrd
>> a440d76c1d2ccfa86bdff6dba017cf39  vmlinuz-chrp.initrd
>> 
>> Could you please share your Qemu configure command line?
>> I can try one more time if that's different than mine.
>> I used below configure command line:
>> '../configure' '--target-list=ppc64-softmmu,ppc-softmmu' '--enable-virtfs'
>
> I don't see how configure options could have anyhing to do with that but I've 
> tested that this works on my machine:
>
> configure --disable-download --disable-tools --target-list=ppc64-softmmu
> qemu-system-ppc64 -M pegasos2 -serial stdio -kernel vmlinuz-chrp.initrd 
> -append "---" -cdrom debian-8.11.0-powerpc-netinst.iso
>
> The configure options are just to only compile what's needed but it should 
> work anyway with your or any options too as long as qemu-system-ppc or 
> qemu-system-ppc64 is compiled. Can you test on a different machine?

Someone else reported a possible regression maybe related to this patch 
too but I could not reproduce that either. Can you check what configure 
says about FDT and if you're using some external FDT library? I've tested 
with the internal fdt included with QEMU which works and also with libfdt 
1.6.1 from my distro that also had no problems. I have no better idea what 
else could cause it than maybe some issue with some external libfdt 
version.

Regards,
BALATON Zoltan
Re: [PATCH v3 00/13] Pegasos2 clean up and pegasos1 emulation
Posted by BALATON Zoltan 1 week, 5 days ago
On Sun, 26 Oct 2025, Yogesh Vyas wrote:
> On 10/26/25 4:39 PM, BALATON Zoltan wrote:
>> On Sun, 26 Oct 2025, Yogesh Vyas wrote:
>>> On Sun, Oct 19, 2025 at 5:37 PM BALATON Zoltan <balaton@eik.bme.hu> wrote:
>>>> On Sun, 19 Oct 2025, Yogesh Vyas wrote:
>>>>> 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
>>>> 
>>>> Maybe you did not use the right vmlinuz-chrp.initrd. Pegasos2 is a 32 bit
>>>> machine so you need /install/powerpc/vmlinuz-chrp.initrd for it (see in
>>>> the /install/pegasos script that is used with firmware). Even if you call
>>>> it from qemu-system-ppc64 which includes both 32 bit and 64 bit machines
>>>> but does not make 32 bit machines 64 bit so you still need the 32 bit OS.
>>>> 
>>>> 
>>> Hi Balaton,
>>> I am using 32bit images only and looks like VOF boot works with the distro
>>> provided Qemu (both ppc and pp64), however doesn't work with upstream Qemu
>>> for VOF.
>> 
>> That's odd, it works for me with QEMU master so I can't reproduce this.
>> 
>>> yogi@fedora:~/work/images$ file vmlinuz-chrp.initrd
>>> vmlinuz-chrp.initrd: ELF 32-bit MSB executable, PowerPC or cisco 4500,
>>> version 1 (SYSV), statically linked, not stripped
>> 
>> The file command says 32-bit for both /install/powerpc/vmlinuz-chrp.initrd 
>> and /install/powerpc64/vmlinuz-chrp.initrd but only the first one should 
>> work. Can you double check you have the right vmlinuz-chrp.initrd file? But 
>> if you say the same file works with 9.2.4 I have no idea why. I see these 
>> files on the CD
>> 
>>   9301172 Jun 19  2018 /install/powerpc/vmlinuz-chrp.initrd
>>  10534888 Jun 19  2018 /install/powerpc64/vmlinuz-chrp.initrd
>
>
> I am also using the same file:
>
> yogi@fedora:~/work/images$ ls -lrt vmlinuz-chrp.initrd
> -r--r--r--. 1 yogi yogi 9301172 Oct 18 23:50 vmlinuz-chrp.initrd
>
>> 
>> File command says:
>> 
>> vmlinuz-chrp.initrd:   ELF 32-bit MSB executable, PowerPC or cisco 4500, 
>> version 1 (SYSV), statically linked, not stripped
>> vmlinuz-chrp.initrd64: ELF 32-bit MSB executable, PowerPC or cisco 4500, 
>> version 1 (SYSV), statically linked, not stripped
>> 
>> but only the first from the powerpc directory is supposed to work and it 
>> does boot for me with QEMU master. You can also check following the other 
>> way described in qemu/docs/system/ppc/amigang.rst using -bios pegasos2.rom 
>> which loads the correct image from the CD. Does that work?
>
> Yes, I had mentioned it in my first mail that ROM option works as expected. 
> It is only an issue when using VOF with upstream Qemu.
>
> Could you please share your Qemu command line if it's different from the one 
> mentioned in the documentation.

I've tested with the same command as in the docs:

qemu-system-ppc64 -M pegasos2 -serial stdio -kernel vmlinuz-chrp.initrd -append "---" -cdrom debian-8.11.0-powerpc-netinst.iso

and it boots for me like before. I don't know what could you check to find 
out why it does not work for you. Maybe you can try adding -d guest_errors 
and see if that prints any errors or try on different machine or distro to 
make sure it's not something local to your machine. Or check if you have 
local patches compared to master and that the vmlinuz-chrp.initrd is the 
same as on CD and not somehow corrupted. I really have no idea what could 
it be.

Regards,
BALATON Zoltan