[OpenBIOS] Haiku/ppc regression? (was: QEMU OpenBIOS booting?)

Andreas Färber andreas.faerber at web.de
Tue Dec 22 00:29:29 CET 2009


Am 20.04.2009 um 23:01 schrieb François Revol:

> Haiku still stops somewhere at
> http://dev.haiku-os.org/browser/haiku/trunk/src/system/boot/platform/openfirmware/arch/ppc/mmu.cpp#L968
> ...
>
> [revol at debian ~/devel/haiku/trunk]$ qemu-system-ppc -nographic -serial
> stdio -cdrom generated.ppc/haiku-boot-cd-ppc.iso -boot d
>>> =============================================================
>>> OpenBIOS 1.0 [Mar 31 2009 15:35]
>>> Configuration device id QEMU version 1 machine id 2
>>> CPUs: 1
>>> Memory: 128M
>>> UUID: 00000000-0000-0000-0000-000000000000
>>> CPU type PowerPC,750
> Welcome to OpenBIOS v1.0 built on Mar 31 2009 15:35

At OpenBIOS r647 with Haiku r34736, this has become:

> checking for memory...
> 0: base = 0x00000000, size = 134217728
> 1: empty region
> total physical memory = 128 MB
> suggested page table size = 1048576
> need new page table, size = 1048576!
new table at: 0x07f00000

The bootloader then tries to memset(0x07f00000, 0, 1048576), leading to:

invalid/unsupported opcode: 00 - 00 - 00 (00000000) fff0245c 1
invalid/unsupported opcode: 00 - 00 - 00 (00000000) 00008754 0

Since it apparently tries to execute (just?) zero'ed memory, could  
this be the same OpenBIOS memory mapping issue recently seen with  
cmd646 on sparc64?

Boot CDs for the curious are available at: http://www.haiku-files.org/ppc/

If I comment out the memset, I get:

> MSR: 0x00003030
> found 4 translations
found exception handlers!
invalid/unsupported opcode: 00 - 00 - 00 (000c2000) fff02484 1
invalid/unsupported opcode: 00 - 00 - 00 (000c2000) fff02484 1
invalid/unsupported opcode: 00 - 00 - 00 (000c2000) fff02484 1
invalid/unsupported opcode: 00 - 00 - 00 (00000000) 00008754 0

So apparently it does find exception handlers now but no page tables  
and again goes on to execute garbage.

This is not influenced by choosing between -M g3beige or -M mac99.
The amount of memory makes a difference in not showing the invalid  
opcode errors for, e.g., -m 384, but it does hang at the same place.

Andreas

> found page table!
> no mapping for the exception handlers!
>
> François.




More information about the OpenBIOS mailing list