[OpenBIOS] Progress on Sparc64?

Programmingkid programmingkidx at gmail.com
Sun Jan 17 00:03:18 CET 2016


On Jan 16, 2016, at 3:31 PM, Nick Couchman wrote:

> ----- Original Message -----
>> From: "Programmingkid" <teammember0x01 at gmail.com>
>> To: "Nick E Couchman" <nick.couchman at seakr.com>
>> Cc: openbios at openbios.org
>> Sent: Friday, January 15, 2016 10:46:57 PM
>> Subject: Re: [OpenBIOS] Progress on Sparc64?
> 
>> On Jan 16, 2016, at 12:32 AM, Nick Couchman wrote:
>> 
>>> Wondering if there have been any recent developments getting OpenBIOS + Qemu
>>> working for the Sparc64 platform?  I have a couple of legacy applications that
>>> require 64-bit Sparc support that would nice to have running on here.  Anything
>>> I can do to help debug issues?  I have ISOs for 64-bit Solaris 8, 9, 10, and
>>> 11, and am happy to test stuff out.
>>> 
>>> -Nick
>> 
>> http://wiki.qemu.org/SPARC
>> This page has a table that would benefit from your testing data. I only saw
>> Solaris 1 and 8 on it. We would welcome Solaris 9, 10, and 11 to the table.
> 
> Okay.  Any chance you have a Wiki account and can you create an account for me so that I can edit the page?
> 
> Below are some of the results that I'm seeing trying to boot various versions of Solaris on the qemu-system-sparc64 platform.  Let me know if there is other debugging info that would be useful - different qemu switches, gdb output, and/or Solaris boot parameters.
> 
> ==Solaris 8 64-bit on Sparc64==
> [root at qemu ~]# !68
> /opt/qemu/bin/qemu-system-sparc64  -nographic -cdrom /root/sol-8-hw4-install-sparc.iso -boot d -m 2048M
> OpenBIOS for Sparc64
> Configuration device id QEMU version 1 machine id 0
> kernel cmdline 
> CPUs: 1 x SUNW,UltraSPARC-IIi
> UUID: 00000000-0000-0000-0000-000000000000
> Welcome to OpenBIOS v1.1 built on Oct 27 2015 23:43
>  Type 'help' for detailed information
> Trying cdrom:f...
> Not a bootable ELF image
> Not a bootable a.out image
> 
> Loading FCode image...
> Loaded 5936 bytes
> entry point is 0x4000
> open isn't unique.
> 
> Jumping to entry point 0000000000100000 for type 0000000000000001...
> switching to new context: entry point 0x100000 stack 0x00000000ffe8aa09
> warning:interpret: exception -13 caught
> interpret warning @ warning off : sync %tl-c %tstate h# 104185c0 x! %g1 h# 104185c8 x! %g2 h# 104185d0 x! %g3 h# 104185d8 x! %g4 h# 104185e0 x! %g5 h# 104185e8 x! %g6 h# 104185f0 x! %g7 h# 104185f8 x! %o0 h# 10418600 x! %o1 h# 10418608 x! %o2 h# 10418610 x! %o3 h# 10418618 x! %o4 h# 10418620 x! %o5 h# 10418628 x! %o6 h# 10418630 x! %o7 h# 10418638 x! %tl-c %tpc h# 10418640 x! %tl-c %tnpc h# 10418648 x! %y h# 10418650 l! %tl-c %tt h# 104185b8 x! sync ; warning ! failed with error ffffffffffffffed
> SunOS Release 5.8 Version Generic_108528-29 64-bit
> Copyright 1983-2003 Sun Microsystems, Inc.  All rights reserved.
> spacex@:interpret: exception -13 caught
> interpret h# d constant MMU_PAGESHIFT h# 0 constant TTE8K h# 20 constant SFHME_SIZE h# 0 constant SFHME_TTE h# 8 constant HMEBLK_TAG h# 0 constant HMEBLK_NEXT h# 2c constant HMEBLK_MISC h# 38 constant HMEBLK_HME1 h# 8 constant NHMENTS h# 3 constant HBLK_SZMASK h# 10 constant HBLK_RANGE_SHIFT h# 8 constant HMEBP_HBLK h# 20 constant HMEBUCKET_SIZE h# 0 constant HTAG_SFMMUPSZ h# d constant HTAG_REHASHSZ h# 3 constant MAX_HASHCNT h# 7c900000 constant uhme_hash h# 7c800000 constant khme_hash h# 1ffff constant U\
> panic[cpu0]/thread=10408000: boot_alloc: pp is NULL or free
> 
> 00000000104071d0 unix:boot_mapin+7c (2000, 1041b2d0, 300001fa000, 0, 3000020e000, 0)
>  %l0-3: 000003000020c000 ffffffffffffe000 000000001044aef8 0000000000014000
>  %l4-7: 0000030fffff7f10 0000000000000000 000000001040d970 0000000000007fa3
> 0000000010407280 unix:boot_alloc+50 (14000, 14000, 1000, 300001fa000, 1000c368, 0)
>  %l0-3: 0000000010026090 0000000010407428 000000001040e000 0000000000000000
>  %l4-7: 0000000000000016 0000000000000000 0000000000000016 0000000000000000
> 0000000010407330 unix:segkmem_alloc+30 (300001fa000, 14000, 0, 0, 10451c98, 1044b300)
>  %l0-3: 0000030fffff4268 00000300001ae390 0000000000000000 000000001044bdc0
>  %l4-7: 000000001044af18 000000001044aef8 0000000010452498 0000000000000000
> 00000000104073f0 genunix:vmem_xalloc+3e4 (10451670, 10451a78, ffffffffffffffff, ffffffffffffffff, 0, 0)
>  %l0-3: 000000001004a3b4 ffffffffffffe000 0000000010451670 0000000000014000
>  %l4-7: 0000000000000000 0000000000000000 0000000000014000 0000000010451690
> 0000000010407520 genunix:vmem_alloc+34 (10451670, 14000, 0, 10438978, 1041c6a8, 4e0)
>  %l0-3: 0000000010438970 00000300000f7778 0000000000000000 0000000000000001
>  %l4-7: 0000000000000001 0000000010438978 000000000000001a 0000000000000001
> 00000000104075e0 genunix:kmem_alloc+b4 (14000, 0, 14000, 1, f0, 0)
>  %l0-3: 00000300000f7a00 ffffffffffffffc0 000000001044f8e0 00000000000003c0
>  %l4-7: 0000030fffff7378 0000000000000000 0000000000000016 00000000104075f3
> 0000000010407690 genunix:kmem_zalloc+a0 (14000, 0, 104542c8, 0, 0, 300000f7680)
>  %l0-3: 000000001043a0b0 0000000000000028 00000300000f7a00 0000000000000008
>  %l4-7: ffffffffffffffff 0000000000000001 0000000000000000 0000000000000000
> 0000000010407740 genunix:impl_ddi_callback_init+98 (0, 1003f354, 0, 0, 0, 10407897)
>  %l0-3: 0000000010444c00 0000000010419400 0000000000000000 0000000000000001
>  %l4-7: 0000000000000001 0000000010439720 0000000000000002 0000000000000001
> 0000000010407810 unix:setup_ddi+24 (0, 10424c50, 1041b2c8, 0, 0, 10407897)
>  %l0-3: 0000000010114380 000000001013c798 000000007c900000 0000000000012000
>  %l4-7: 00000000000000b0 0000000010413c48 000000001040d970 0000000000007fa3
> 00000000104078c0 unix:startup_modules+1e8 (1040e000, 10414ab8, 30000000000, 10418668, 2000, 30000016000)
>  %l0-3: 0000000000000103 0000000010423c00 0000000000000020 0000031002c00000
>  %l4-7: 0000000010418400 000000001041d000 000000001041c000 000000001041b000
> 0000000010407970 unix:startup+14 (10428c00, 0, 0, 1, 0, ffffffffffffffff)
>  %l0-3: 0000000010026090 000000000000d925 0000000000000afd 0000000000000000
>  %l4-7: 0000000010472880 00000000002f0c43 00000000000beafd 0000000000000afd
> 0000000010407a20 genunix:main+4 (1040d400, 2000, 10407ec0, 10408030, fff2, 10052a0c)
>  %l0-3: 0000000010408000 0000000000000001 0000000000000015 0000000000000f36
>  %l4-7: 0000000010429618 0000000010472880 00000000000d7438 0000000000000540
> 
> skipping system dump - no dump device configured
> rebooting...
> BOOTpanic - kernel: prom_reboot: reboot call returned!
> EXIT
> 0 > 
> == End Solaris 8 64-bit ==
> 
> == Solaris 9 on Sparc64 ==
> [root at qemu ~]# /opt/qemu/bin/qemu-system-sparc64  -nographic -cdrom /root/sol-9-905hw-ga-sparc-dvd.iso -boot d -m 2048M
> OpenBIOS for Sparc64
> Configuration device id QEMU version 1 machine id 0
> kernel cmdline 
> CPUs: 1 x SUNW,UltraSPARC-IIi
> UUID: 00000000-0000-0000-0000-000000000000
> Welcome to OpenBIOS v1.1 built on Oct 27 2015 23:43
>  Type 'help' for detailed information
> Trying cdrom:f...
> Not a bootable ELF image
> Not a bootable a.out image
> 
> Loading FCode image...
> Loaded 5936 bytes
> entry point is 0x4000
> open isn't unique.
> 
> Jumping to entry point 0000000000100000 for type 0000000000000001...
> switching to new context: entry point 0x100000 stack 0x00000000ffe8aa09
> warning:interpret: exception -13 caught
> interpret warning @ warning off : sync %tl-c %tstate h# 1418608 x! %g1 h# 1418610 x! %g2 h# 1418618 x! %g3 h# 1418620 x! %g4 h# 1418628 x! %g5 h# 1418630 x! %g6 h# 1418638 x! %g7 h# 1418640 x! %o0 h# 1418648 x! %o1 h# 1418650 x! %o2 h# 1418658 x! %o3 h# 1418660 x! %o4 h# 1418668 x! %o5 h# 1418670 x! %o6 h# 1418678 x! %o7 h# 1418680 x! %tl-c %tpc h# 1418688 x! %tl-c %tnpc h# 1418690 x! %y h# 1418698 l! %tl-c %tt h# 1418600 x! sync ; warning ! failed with error ffffffffffffffed
> SunOS Release 5.9 Version Generic_118558-34 64-bit
> Copyright 1983-2003 Sun Microsystems, Inc.  All rights reserved.
> Use is subject to license terms.
> -
> panic[cpu0]/thread=140a000: boot_alloc: pp is NULL or free
> 
> 0000000001409120 unix:boot_mapin+80 (30000146000, 82000, 82000, 1000, 0, 30000004020)
>  %l0-3: 00000300001c6000 00000300001c8000 0000000000000000 000000000142b4f8
>  %l4-7: 0000000000002000 0000000000000000 ffffffffffffffff ffffffffffffffff
> 00000000014091d0 unix:boot_alloc+4c (30000146000, 82000, 1000, 1422aa8, 0, 0)
>  %l0-3: 0000000000000002 0000000000082000 000000000146bc00 0000000000081fff
>  %l4-7: 0000030000004020 0000000000000000 ffffffffffffffff ffffffffffffffff
> 0000000001409280 unix:segkmem_alloc+8c (30000004000, 82000, 0, 0, 0, 0)
>  %l0-3: 0000030000146000 0000000000082000 000000000146bc00 0000000001479360
>  %l4-7: 000003000003d7d8 0000000000000000 000000000116d398 00000000014229a8
> 0000000001409340 genunix:vmem_xalloc+4cc (ffffffffffffe000, 300000062d0, 0, 0, 0, 30000006020)
>  %l0-3: 0000000000000004 000000000104fa18 0000030000006000 0000000000000000
>  %l4-7: 0000000000080008 0000000000000000 ffffffffffffffff ffffffffffffffff
> 0000000001409470 genunix:vmem_alloc+1f4 (30000006000, 80008, 0, 1422a1e, 144dcfb, 1422a00)
>  %l0-3: 0000000000000000 0000000001422778 0000000000000008 0000000000080007
>  %l4-7: 0000030000006020 0000000000002000 000000000116d398 0000000000000000
> 0000000001409530 genunix:kmem_alloc+f0 (80008, 0, 20, 1a, 4e0, 1)
>  %l0-3: 0000030000087640 000000000144f800 0000000000000000 0000030000087640
>  %l4-7: 000000000140d800 0000000001429ae0 0000000001429ab8 000000000144dcf0
> 00000000014095e0 genunix:kmem_zalloc+e4 (80008, 0, 4, a, 0, 0)
>  %l0-3: 000000000144f8e0 0000030000087448 000000000140d800 ffffffffffffffff
>  %l4-7: 0000000000000001 0000030000087640 0000000000000000 000000000144dcb8
> 0000000001409690 genunix:init_actions+38 (0, ffffffffffffffff, 5c, 0, 100c7e4, 0)
>  %l0-3: 000000000144f400 0000000001444000 000000000144f6c8 0000000000000000
>  %l4-7: 0000000000000000 ffffffffffffffff 0000000000000001 0000030000066198
> 0000000001409760 genunix:ipp_init+c (100, 149d9e8, 1000, 12020, 78004000, 30000084db0)
>  %l0-3: 000000000116cad4 000000000144d810 000000000149d048 00000000014439e8
>  %l4-7: 0000000000000001 0000000000000018 00000000014439f8 000000000149d000
> 0000000001409810 genunix:mod_setup+f4 (0, 1413240, 0, 78004000, 100, 78004000)
>  %l0-3: 0000000000000000 0000000001497c00 0000000001495800 000000000000fc00
>  %l4-7: 0000000001077800 0000000078004000 000000007801601f ffffffffffffffff
> 00000000014098c0 unix:startup_modules+78 (12000, 142b000, 30000018000, 103, 78004000, 1432000)
>  %l0-3: 0000000000000103 0000000000000000 000000000140c000 00000000014186b0
>  %l4-7: 00000000014186c0 0000000078004000 0000000000002000 0000000000012020
> 0000000001409970 unix:startup+1c (1, 0, 0, 142e6b8, 1400000, 0)
>  %l0-3: 0000000000000001 0000000000000000 00000000babecafe 0000000000000000
>  %l4-7: 000000000142c000 000000000140e000 0000000001416208 0000000001439ca8
> 0000000001409a20 genunix:main+4 (1409ba0, ffd0cbb0, 1409ec0, 383cbf, 2000, 500)
>  %l0-3: 000000000140b400 000000000140a000 0000000001413020 0000000000000000
>  %l4-7: 0000000078002000 000000000038c000 00000000014a0198 0000000001067d98
> 
> skipping system dump - no dump device configured
> rebooting...
> BOOTpanic - kernel: prom_reboot: reboot call returned!
> EXIT
> 0 > 
> == End Solaris 9 on Sparc64 ==
> 
> == Solaris 10 on Sparc64 ==
> [root at qemu ~]# /opt/qemu/bin/qemu-system-sparc64  -nographic -cdrom /root/sol-10-u11-ga-sparc-dvd.iso -boot d -m 2048M -cpu "Sun UltraSparc IIIi"
> OpenBIOS for Sparc64
> Configuration device id QEMU version 1 machine id 0
> kernel cmdline 
> CPUs: 1 x SUNW,UltraSPARC-IIIi
> UUID: 00000000-0000-0000-0000-000000000000
> Welcome to OpenBIOS v1.1 built on Oct 27 2015 23:43
>  Type 'help' for detailed information
> Trying cdrom:f...
> Not a bootable ELF image
> Not a bootable a.out image
> 
> Loading FCode image...
> Loaded 7420 bytes
> entry point is 0x4000
> 
> == End Solaris 10 on Sparc64 ==
> 
> ==

Excellent work. Too bad they didn't work. Mark Cave-Ayland is the person who made the wiki article. He is also the resident Solaris expert. I suggest you send your information to him at mark.cave-ayland at ilande.co.uk.




More information about the OpenBIOS mailing list