[OpenBIOS] Faulty Qemu SPARC64 IDE emulation?

Igor Kovalenko igor.v.kovalenko at gmail.com
Wed Dec 9 23:02:46 CET 2009


On Thu, Dec 10, 2009 at 12:47 AM, Mark Cave-Ayland
<mark.cave-ayland at siriusit.co.uk> wrote:
> Igor Kovalenko wrote:
>
>> Well qemu's crash is a bug in qemu for sure. The garbage being written
>> is probably due to device i/o mapping issues (could clash with
>> physical ram mapped low) so is separate issue. Of course we will need
>> to solve both :)
>> Do you see screen garbage before crash?
>
> Yeah; a keyboard command error and a single letter "s" with -nographic:
>
> qemu: unsupported keyboard cmd=0x57
> sSegmentation fault

Do you run in graphics mode at all? The garbage I see is in qemu screen,
due to framebuffer being mapped where data is loaded by milax code.

> The segmentation fault is actually the Qemu host process dying. The VNC
> display looks more interesting; it seems that something is writing all over
> the screen memory just before the crash happens.
>
> I believe from Nick's email that he can also recreate this using latest
> OpenBIOS SVN, a recent pull of Qemu and a Milax 0.3.2 ISO image.
>

To heat things up: found another issue in conditional evaluation
handling by qemu-system-sparc64, will try to prepare a patch for qemu
but this could take some time.
Current experimental record:

On serial:
Loading FCode image...
Loaded 7084 bytes
entry point is 0x4000
Evaluating FCode...
OFMEM: ofmem_claim phys=ffffffffffffffff size=0000000000002000
align=0000000000000001
OFMEM: ofmem_map_page_range 0000000000000000 -> 0000000000000000
0000000000002000 mode 0000000000000032
OFMEM: ofmem_claim_virt virt=ffffffffffffffff size=0000000000002000
align=0000000000000001
OFMEM: ofmem_map_page_range 0000000008000000 -> 0000000000000000
0000000000002000 mode 0000000000000032
OFMEM: ofmem_claim phys=ffffffffffffffff size=0000000000002000
align=0000000000000001
OFMEM: ofmem_map_page_range 0000000000002000 -> 0000000000002000
0000000000002000 mode 0000000000000032
OFMEM: ofmem_claim_virt virt=ffffffffffffffff size=0000000000002000
align=0000000000000001
OFMEM: ofmem_map_page_range 0000000008002000 -> 0000000000002000
0000000000002000 mode 0000000000000032
OFMEM: ofmem_claim phys=ffffffffffffffff size=0000000000002000
align=0000000000000001
OFMEM: ofmem_map_page_range 0000000000004000 -> 0000000000004000
0000000000002000 mode 0000000000000032
OFMEM: ofmem_claim_virt virt=ffffffffffffffff size=0000000000002000
align=0000000000000001
OFMEM: ofmem_map_page_range 0000000008004000 -> 0000000000004000
0000000000002000 mode 0000000000000032
OFMEM: ofmem_claim phys=ffffffffffffffff size=0000000000002000
align=0000000000000001
OFMEM: ofmem_map_page_range 0000000000006000 -> 0000000000006000
0000000000002000 mode 0000000000000032
OFMEM: ofmem_claim_virt virt=ffffffffffffffff size=0000000000002000
align=0000000000000001
OFMEM: ofmem_map_page_range 0000000008006000 -> 0000000000006000
0000000000002000 mode 0000000000000032
OFMEM: ofmem_claim phys=ffffffffffffffff size=000000000554e000
align=0000000000000001
OFMEM: ofmem_map_page_range 0000000000008000 -> 0000000000008000
000000000554e000 mode 0000000000000032
OFMEM: ofmem_claim_virt virt=0000000051000000 size=000000000554e000
align=0000000000000000
OFMEM: ofmem_map_page_range 0000000051000000 -> 0000000000008000
000000000554e000 mode 0000000000000032
OFMEM: ofmem_claim phys=ffffffffffffffff size=0000000000002000
align=0000000000000001
OFMEM: ofmem_map_page_range 0000000005556000 -> 0000000005556000
0000000000002000 mode 0000000000000032
OFMEM: ofmem_claim_virt virt=ffffffffffffffff size=0000000000002000
align=0000000000000001
OFMEM: ofmem_map_page_range 0000000008008000 -> 0000000005556000
0000000000002000 mode 0000000000000032
OFMEM: ofmem_release_virt addr=0000000008008000 size=0000000000002000
OFMEM: ofmem_release_virt not implemented

On screen:
Welcome to OpenBIOS v1.0 built on Dec 9 2009 19:06
 Type 'help' for detailed information

$call-method: instance method not found

Can't open /ramdisk-root

byte-load: exception caught!

-- 
Kind regards,
Igor V. Kovalenko



More information about the OpenBIOS mailing list