[OpenBIOS] r641 - in trunk/openbios-devel/forth: bootstrap device

Nick Couchman Nick.Couchman at seakr.com
Wed Dec 9 16:22:23 CET 2009


>>> On 2009/12/09 at 08:14, Tarl Neustaedter <Tarl.Neustaedter at Sun.COM> wrote: 
> Tarl Neustaedter wrote:
>> Nick Couchman wrote:
>>> [...]
>>> 00000000ffe35e20: r@  ( 0 0 51000000 d746c00 51000000 d746c00 400000 
>>> 51000000 400000 0 ) 00000000ffe35e28:  Unhandled Exception 
>>> 0x0000000000000032
>>
>>
>> You've gotten yourself a zero address for your buffer somehow. That r@ 
>> is trying to fetch through zero, and faults.
> 
> And I'm not fully awake yet, that isn't correct. I was confusing rl@ 
> with r at . The problem is the instruction after the r@, whatever it is.

Looks to be in one of the call-package calls:

0 > do-boot 
: do-boot  ( Empty ) 
00000000ffe386b0: parse-bootargs  ( Empty ) 
00000000ffe386b8: halt?  ( 0 ) 
00000000ffe386c0: do?branch  ( Empty ) 
00000000ffe38710: get-bootdev  ( Empty ) 
00000000ffe38718: load-pkg  ( Empty ) 
00000000ffe38720: mount-root  ( Empty ) 
00000000ffe38728: zflag?  ( 0 ) 
00000000ffe38730: nested?  ( 0 0 ) 
00000000ffe38738: invert  ( 0 ffffffffffffffff ) 
00000000ffe38740: and  ( 0 ) 
00000000ffe38748: do?branch  ( Empty ) 
00000000ffe38768: load-file 
: read-file  ( 0 0 51000000 d746c00 51000000 d746c00 0 ) 
00000000ffe35da8: >r  ( 0 0 51000000 d746c00 51000000 d746c00 ) 
00000000ffe35db0: dup  ( 0 0 51000000 d746c00 51000000 d746c00 d746c00 ) 
00000000ffe35db8: do?branch  ( 0 0 51000000 d746c00 51000000 d746c00 ) 
 ( 0 0 51000000 d746c00 51000000 d746c00 ) 
00000000ffe35dd0: dup  ( 0 0 51000000 d746c00 51000000 d746c00 d746c00 ) 
00000000ffe35dd8:   ( 0 0 51000000 d746c00 51000000 d746c00 d746c00 400000 ) 
00000000ffe35de0: min  ( 0 0 51000000 d746c00 51000000 d746c00 400000 ) 
00000000ffe35de8: 2  ( 0 0 51000000 d746c00 51000000 d746c00 400000 2 ) 
00000000ffe35df0: pick  ( 0 0 51000000 d746c00 51000000 d746c00 400000 51000000 ) 
00000000ffe35df8: 2  ( 0 0 51000000 d746c00 51000000 d746c00 400000 51000000 2 ) 
00000000ffe35e00: pick  ( 0 0 51000000 d746c00 51000000 d746c00 400000 51000000 d746c00 ) 
00000000ffe35e08: 2  ( 0 0 51000000 d746c00 51000000 d746c00 400000 51000000 d746c00 2 ) 
00000000ffe35e10: pick  ( 0 0 51000000 d746c00 51000000 d746c00 400000 51000000 d746c00 400000 ) 
00000000ffe35e18: nip  ( 0 0 51000000 d746c00 51000000 d746c00 400000 51000000 400000 ) 
00000000ffe35e20: r@  ( 0 0 51000000 d746c00 51000000 d746c00 400000 51000000 400000 0 ) 
00000000ffe35e28:  
:   ( 0 0 51000000 d746c00 51000000 d746c00 400000 51000000 400000 0 ) 
00000000ffe35820: (")  ( 0 0 51000000 d746c00 51000000 d746c00 400000 51000000 400000 0 ffe35830 9 ) 
00000000ffe35840: fs-ih  ( 0 0 51000000 d746c00 51000000 d746c00 400000 51000000 400000 0 ffe35830 9 ffe49330 ) 
00000000ffe35848: $call-method 
: $call-method  ( 0 0 51000000 d746c00 51000000 d746c00 400000 51000000 400000 0 ffe35830 9 ffe49330 ) 
00000000ffe13a90: dup  ( 0 0 51000000 d746c00 51000000 d746c00 400000 51000000 400000 0 ffe35830 9 ffe49330 ffe49330 ) 
00000000ffe13a98: >r  ( 0 0 51000000 d746c00 51000000 d746c00 400000 51000000 400000 0 ffe35830 9 ffe49330 ) 
00000000ffe13aa0: >in.device-node  ( 0 0 51000000 d746c00 51000000 d746c00 400000 51000000 400000 0 ffe35830 9 ffe49340 ) 
00000000ffe13aa8: @  ( 0 0 51000000 d746c00 51000000 d746c00 400000 51000000 400000 0 ffe35830 9 ffe32320 ) 
00000000ffe13ab0: find-method  ( 0 0 51000000 d746c00 51000000 d746c00 400000 51000000 400000 0 ffe34d70 ffffffffffffffff ) 
00000000ffe13ab8: do?branch  ( 0 0 51000000 d746c00 51000000 d746c00 400000 51000000 400000 0 ffe34d70 ) 
00000000ffe13ac8: r>  ( 0 0 51000000 d746c00 51000000 d746c00 400000 51000000 400000 0 ffe34d70 ffe49330 ) 
00000000ffe13ad0: call-package 
: call-package  ( 0 0 51000000 d746c00 51000000 d746c00 400000 51000000 400000 0 ffe34d70 ffe49330 ) 
00000000ffe13a18: my-self  ( 0 0 51000000 d746c00 51000000 d746c00 400000 51000000 400000 0 ffe34d70 ffe49330 0 ) 
00000000ffe13a20: >r  ( 0 0 51000000 d746c00 51000000 d746c00 400000 51000000 400000 0 ffe34d70 ffe49330 ) 
00000000ffe13a28: (lit)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 51000000 400000 0 ffe34d70 ffe49330 ffe040f8 ) 
00000000ffe13a38: (to)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 51000000 400000 0 ffe34d70 ) 
00000000ffe13a40: execute 
: call-package  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 c582e000 0 ffe2b8d0 ffe4ad48 ) 
00000000ffe13a18: my-self  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 c582e000 0 ffe2b8d0 ffe4ad48 ffe49330 ) 
00000000ffe13a20: >r  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 c582e000 0 ffe2b8d0 ffe4ad48 ) 
00000000ffe13a28: (lit)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 c582e000 0 ffe2b8d0 ffe4ad48 ffe040f8 ) 
00000000ffe13a38: (to)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 c582e000 0 ffe2b8d0 ) 
00000000ffe13a40: execute  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 c582e000 0 ffe2b568 ffe4ac28 ) 
00000000ffe13a18: my-self  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 c582e000 0 ffe2b568 ffe4ac28 ffe4ad48 ) 
00000000ffe13a20: >r  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 c582e000 0 ffe2b568 ffe4ac28 ) 
00000000ffe13a28: (lit)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 c582e000 0 ffe2b568 ffe4ac28 ffe040f8 ) 
00000000ffe13a38: (to)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 c582e000 0 ffe2b568 ) 
00000000ffe13a40: execute  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 c582e000 0 ffe30830 ffe4ab28 ) 
00000000ffe13a18: my-self  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 c582e000 0 ffe30830 ffe4ab28 ffe4ac28 ) 
00000000ffe13a20: >r  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 c582e000 0 ffe30830 ffe4ab28 ) 
00000000ffe13a28: (lit)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 c582e000 0 ffe30830 ffe4ab28 ffe040f8 ) 
00000000ffe13a38: (to)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 c582e000 0 ffe30830 ) 
00000000ffe13a40: execute 
: call-package  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 c582e000 0 ffe2b230 ffe4ab98 ) 
00000000ffe13a18: my-self  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 c582e000 0 ffe2b230 ffe4ab98 ffe4ab28 ) 
00000000ffe13a20: >r  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 c582e000 0 ffe2b230 ffe4ab98 ) 
00000000ffe13a28: (lit)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 c582e000 0 ffe2b230 ffe4ab98 ffe040f8 ) 
00000000ffe13a38: (to)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 c582e000 0 ffe2b230 ) 
00000000ffe13a40: execute  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 0 ) 
00000000ffe13a48: r>  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 0 ffe4ab28 ) 
00000000ffe13a50: (lit)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 0 ffe4ab28 ffe040f8 ) 
00000000ffe13a60: (to)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 0 ) 
00000000ffe13a68: (semis) 
[ Finished call-package ]  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 0 ) 
00000000ffe13a48: r>  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 0 ffe4ac28 ) 
00000000ffe13a50: (lit)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 0 ffe4ac28 ffe040f8 ) 
00000000ffe13a60: (to)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 0 ) 
00000000ffe13a68: (semis) 
[ Finished call-package ]  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 0 ) 
00000000ffe13a48: r>  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 0 ffe4ad48 ) 
00000000ffe13a50: (lit)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 0 ffe4ad48 ffe040f8 ) 
00000000ffe13a60: (to)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 0 ) 
00000000ffe13a68: (semis) 
[ Finished call-package ]  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 0 ) 
00000000ffe13a48: r>  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 0 ffe49330 ) 
00000000ffe13a50: (lit)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 0 ffe49330 ffe040f8 ) 
00000000ffe13a60: (to)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 51000000 400000 0 ) 
00000000ffe13a68: (semis) 
[ Finished call-package ] 
: call-package  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 51000000 400000 ffe2b830 ffe4ad48 ) 
00000000ffe13a18: my-self  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 51000000 400000 ffe2b830 ffe4ad48 ffe49330 ) 
00000000ffe13a20: >r  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 51000000 400000 ffe2b830 ffe4ad48 ) 
00000000ffe13a28: (lit)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 51000000 400000 ffe2b830 ffe4ad48 ffe040f8 ) 
00000000ffe13a38: (to)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 51000000 400000 ffe2b830 ) 
00000000ffe13a40: execute  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 51000000 400000 ffe2b4c8 ffe4ac28 ) 
00000000ffe13a18: my-self  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 51000000 400000 ffe2b4c8 ffe4ac28 ffe4ad48 ) 
00000000ffe13a20: >r  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 51000000 400000 ffe2b4c8 ffe4ac28 ) 
00000000ffe13a28: (lit)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 51000000 400000 ffe2b4c8 ffe4ac28 ffe040f8 ) 
00000000ffe13a38: (to)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 51000000 400000 ffe2b4c8 ) 
00000000ffe13a40: execute  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 ffe308c0 ffe4ab28 ) 
00000000ffe13a18: my-self  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 ffe308c0 ffe4ab28 ffe4ac28 ) 
00000000ffe13a20: >r  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 ffe308c0 ffe4ab28 ) 
00000000ffe13a28: (lit)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 ffe308c0 ffe4ab28 ffe040f8 ) 
00000000ffe13a38: (to)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 ffe308c0 ) 
00000000ffe13a40: execute 
: call-package  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 ffe2b280 ffe4ab98 ) 
00000000ffe13a18: my-self  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 ffe2b280 ffe4ab98 ffe4ab28 ) 
00000000ffe13a20: >r  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 ffe2b280 ffe4ab98 ) 
00000000ffe13a28: (lit)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 ffe2b280 ffe4ab98 ffe040f8 ) 
00000000ffe13a38: (to)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 ffe2b280 ) 
00000000ffe13a40: execute  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 c582e000 0 ) 
00000000ffe13a48: r>  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 c582e000 0 ffe4ab28 ) 
00000000ffe13a50: (lit)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 c582e000 0 ffe4ab28 ffe040f8 ) 
00000000ffe13a60: (to)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 c582e000 0 ) 
00000000ffe13a68: (semis) 
[ Finished call-package ]  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 c582e000 0 ) 
00000000ffe13a48: r>  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 c582e000 0 ffe4ac28 ) 
00000000ffe13a50: (lit)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 c582e000 0 ffe4ac28 ffe040f8 ) 
00000000ffe13a60: (to)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 c582e000 0 ) 
00000000ffe13a68: (semis) 
[ Finished call-package ]  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 51000000 400000 ffe307e8 ffe4ab28 ) 
00000000ffe13a18: my-self  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 51000000 400000 ffe307e8 ffe4ab28 ffe4ac28 ) 
00000000ffe13a20: >r  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 51000000 400000 ffe307e8 ffe4ab28 ) 
00000000ffe13a28: (lit)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 51000000 400000 ffe307e8 ffe4ab28 ffe040f8 ) 
00000000ffe13a38: (to)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 51000000 400000 ffe307e8 ) 
00000000ffe13a40: execute 
primitive words cannot be debugged

: call-package  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 51000000 400000 ffe2b190 ffe4ab98 ) 
00000000ffe13a18: my-self  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 51000000 400000 ffe2b190 ffe4ab98 ffe4ab28 ) 
00000000ffe13a20: >r  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 51000000 400000 ffe2b190 ffe4ab98 ) 
00000000ffe13a28: (lit)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 51000000 400000 ffe2b190 ffe4ab98 ffe040f8 ) 
00000000ffe13a38: (to)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 51000000 400000 ffe2b190 ) 
00000000ffe13a40: execute 
: call-package  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 51000000 18b05c 800 ffe309b0 ffe4ab28 ) 
00000000ffe13a18: my-self  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 51000000 18b05c 800 ffe309b0 ffe4ab28 ffe4ab98 ) 
00000000ffe13a20: >r  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 51000000 18b05c 800 ffe309b0 ffe4ab28 ) 
00000000ffe13a28: (lit)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 51000000 18b05c 800 ffe309b0 ffe4ab28 ffe040f8 ) 
00000000ffe13a38: (to)  ( 0 0 51000000 d746c00 51000000 d746c00 400000 400000 400000 51000000 18b05c 800 ffe309b0 ) 
00000000ffe13a40: execute Unhandled Exception 0x0000000000000032
PC = 0x00000000ffd1bad0 NPC = 0x00000000ffd1baa4
Stopping execution

-Nick


--------
This e-mail may contain confidential and privileged material for the sole use of the intended recipient.  If this email is not intended for you, or you are not responsible for the delivery of this message to the intended recipient, please note that this message may contain SEAKR Engineering (SEAKR) Privileged/Proprietary Information.  In such a case, you are strictly prohibited from downloading, photocopying, distributing or otherwise using this message, its contents or attachments in any way.  If you have received this message in error, please notify us immediately by replying to this e-mail and delete the message from your mailbox.  Information contained in this message that does not relate to the business of SEAKR is neither endorsed by nor attributable to SEAKR.



More information about the OpenBIOS mailing list