[OpenBIOS] Haiku/ppc regression?
Mark Cave-Ayland
mark.cave-ayland at siriusit.co.uk
Tue Dec 22 14:36:25 CET 2009
Andreas Färber wrote:
>> [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
Is this really a regression? Without the complete output from both cases
above it's difficult to tell, however it looks like the old version gets
to an OpenBIOS prompt whereas the new version gets further since it is
actually executing a bootloader payload.
If it's not a regression, it could be entirely possible that some of the
recent changes I made to the CIF code could have a few bugs. In which
case, an SVN bisect to identify the offending commit would be really handy.
ATB,
Mark.
--
Mark Cave-Ayland - Senior Technical Architect
PostgreSQL - PostGIS
Sirius Corporation plc - control through freedom
http://www.siriusit.co.uk
t: +44 870 608 0063
Sirius Labs: http://www.siriusit.co.uk/labs
More information about the OpenBIOS
mailing list