qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: OpenMPIC controller emulation in qemu ?


From: BALATON Zoltan
Subject: Re: OpenMPIC controller emulation in qemu ?
Date: Fri, 17 May 2024 15:57:58 +0200 (CEST)

On Fri, 17 May 2024, Andrew Randrianasulu wrote:
On Fri, May 17, 2024 at 11:41 AM BALATON Zoltan <balaton@eik.bme.hu> wrote:

On Fri, 17 May 2024, Andrew Randrianasulu wrote:
On Fri, May 17, 2024 at 12:02 AM Mark Cave-Ayland <
mark.cave-ayland@ilande.co.uk> wrote:

On 16/05/2024 14:51, Andrew Randrianasulu wrote:

   > and openfirmware starts ....
   >
   > bash-5.1$ build/qemu-system-ppc -M mac99 -smp 2 -nographic
   >
   >>> =============================================================
   >>> OpenBIOS 1.1 [Mar 7 2023 22:21]
   >>> Configuration device id QEMU version 1 machine id 1
   >>> CPUs: 2
   >>> Memory: 128M
   >>> UUID: 00000000-0000-0000-0000-000000000000
   >>> CPU type PowerPC,G4
   > milliseconds isn't unique.
   > Welcome to OpenBIOS v1.1 built on Mar 7 2023 22:21
   > Trying hd:,\\:tbxi...
   > Trying hd:,\ppc\bootinfo.txt...
   > Trying hd:,%BOOT...
   > No valid state has been set by load or init-program
   >
   > 0 >

You can check the device tree in OpenBIOS by using show-devs to see how
many CPUs are
present, and confirm that the properties are set correctly.

The reason that SMP hasn't been enabled for the Mac machines is mainly
because no-one
has been inclined to work on it yet ;)

   >
   >
   >
   > but boooting finnix fails:
   >
   > bash-5.1$ build/qemu-system-ppc -M mac99 -smp 2 -nographic -cdrom
   > ~/finnix-ppc-110.iso -boot d
   >
   >>> =============================================================
   >>> OpenBIOS 1.1 [Mar 7 2023 22:21]
   >>> Configuration device id QEMU version 1 machine id 1
   >>> CPUs: 2
   >>> Memory: 128M
   >>> UUID: 00000000-0000-0000-0000-000000000000
   >>> CPU type PowerPC,G4
   > milliseconds isn't unique.
   > Welcome to OpenBIOS v1.1 built on Mar 7 2023 22:21
   > Trying cd:,\\:tbxi...
   >>> switching to new context:
   >
   > я:interpret: exception -13 caught

    There's a comment in openbios/forth/system/ciface.fs that says it
might
    not be an error and also a line:

    \ ." INTERPRETE: --- " 2dup type

    where you could remove the \ to get it print the Forth code that
causes
    the error. (By the way is INTERPRETE a typo with extra E at the
end?)



I tried this and get:

bash-5.1$ build/qemu-system-ppc -M mac99 -smp 4 -nographic -cdrom
~/finnix-ppc-110.iso -boot d -bios /dev/shm/openbios-qemu.elf

=============================================================
OpenBIOS 1.1 [May 16 2024 12:44]
Configuration device id QEMU version 1 machine id 1
CPUs: 4
Memory: 128M
UUID: 00000000-0000-0000-0000-000000000000
CPU type PowerPC,G4
milliseconds isn't unique.
Welcome to OpenBIOS v1.1 built on May 16 2024 12:44
Trying cd:,\\:tbxi...
switching to new context:

я:interpret: exception -13 caughte-int nip nip ;

=====

Try rebuilding OpenBIOS with DEBUG_CIF enabled in libopenbios/client.c
which will
show the calls being used by the bootloader.



===============

bash-5.1$ build/qemu-system-ppc -M mac99 -smp 2 -nographic -cdrom
~/finnix-ppc-110.iso -boot d -bios /dev/shm/openbios-qemu.elf

Add -d unimp,guest_errors here. If it crashes you won't see an error
without that so having these debug options enabled helps finding where it
stopped.


it prints a lot of those:

Invalid write at addr 0xB259C, size 4, region 'ppc_core99.bios', reason:
rejected
Invalid write at addr 0xB25A0, size 4, region 'ppc_core99.bios', reason:
rejected
Invalid write at addr 0xB25A4, size 4, region 'ppc_core99.bios', reason:
rejected
Invalid write at addr 0xB25A8, size 4, region 'ppc_core99.bios', reason:
rejected
Invalid write at addr 0xB25AC, size 4, region 'ppc_core99.bios', reason:
rejected
Invalid write at addr 0xB25B0, size 4, region 'ppc_core99.bios', reason:
rejected
Invalid write at addr 0xB25B4, size 4, region 'ppc_core99.bios', reason:
rejected
Invalid write at addr 0xB25B8, size 4, region 'ppc_core99.bios', reason:
rejected
Invalid write at addr 0xB25BC, size 4, region 'ppc_core99.bios', reason:
rejected
Invalid write at addr 0xB25C0, size 4, region 'ppc_core99.bios', reason:
rejectedInvalid write at addr 0xB26F4, size 4, region 'ppc_core99.bios',
reason: rejected
Invalid write at addr 0xB26F8, size 4, region 'ppc_core99.bios', reason:
rejected
Invalid write at addr 0xB26FC, size 4, region 'ppc_core99.bios', reason:
rejected
Invalid write at addr 0xB2700, size 4, region 'ppc_core99.bios', reason:
rejected
Invalid write at addr 0xB2704, size 4, region 'ppc_core99.bios', reason:
rejected
Invalid write at addr 0xB2708, size 4, region 'ppc_core99.bios', reason:
rejected
Invalid write at addr 0xB270C, size 4, region 'ppc_core99.bios', reason:
rejected
Invalid write at addr 0xB2710, size 4, region 'ppc_core99.bios', reason:
rejected
Invalid write at addr 0xB2714, size 4, region 'ppc_core99.bios', reason:
rejected
Invalid write at addr 0xB2718, size 4, region 'ppc_core99.bios', reason:
rejected
Invalid write at addr 0xB271C, size 4, region 'ppc_core99.bios', reason:
rejected
Invalid write at addr 0xB2720, size 4, region 'ppc_core99.bios', reason:
rejected
=============================================================
OpenBIOS 1.1 [May 17 2024 00:06]
Configuration device id QEMU version 1 machine id 1
CPUs: 2
Memory: 128M
UUID: 00000000-0000-0000-0000-000000000000
CPU type PowerPC,G4
milliseconds isn't unique.
Welcome to OpenBIOS v1.1 built on May 17 2024 00:06
Trying cd:,\\:tbxi...
switching to new context:
finddevice("/chosen") = 0xfff57108
invalid/unsupported opcode: 00 - 00 - 00 - 10 (00300000) 00000004
exit()
EXIT
0 > QEMU: Terminated

if I do not stop qemu here it will flood stdout harder

Do you want full log somewhere?

No, it already crashed at "invalid/unsupported opcode: 00 - 00 - 00 - 10 (00300000) 00000004" so output after that is not useful. Question to answer is why it reached that invalid opcode. (And from your other message looks like it sometimes continues? That's strange.)

Regards,
BALATON Zoltan

reply via email to

[Prev in Thread] Current Thread [Next in Thread]