[OpenBIOS] input length

Artyom Tarasenko atar4qemu at googlemail.com
Thu Apr 1 22:12:07 CEST 2010


2010/3/28 Artyom Tarasenko <atar4qemu at googlemail.com>:
> Hi Mark,
>
>>> Meanwhile qemu-system-sparc is good enough to boot most Solaris
>>> versions with OBP.
>>> ( http://tyom.blogspot.com/2009/12/solaris-under-qemu-how-to.html )
>>
>> Great to have you working on OpenBIOS - the story on your blog of getting
>> Solaris to boot with OBP has been really fascinating.
>
> Thanks. But I think my success was partly a pure luck, and partly a lack
> of interest in launching Solaris from more experienced people and then again
> a luck of getting these experienced people on board. Anyone
> who had debugged Solaris kernel on a real  hardware would have probably
> achieved in hours the things for which I needed months. Basically Mitch
> Bradley proved this by going all the chain from what looked like
> a scsi-disk bug to finding a cpu math bug within just one day.
>
> But overall the idea of using OBP to find bugs in qemu was good. After
> we fixed qemu-sparc,
> you guys have more solid base to improve OpenBIOS. Having two suspects
> for bugs is
> always worse than one.
>
>>> I'm trying to find out what is missing in OpenBIOS to do the same.
>>> Currently the boot just hangs.
>>> I did a wild guess:
>>> $ strings sun4m/ufsboot
>>> ...
>>>  ['] find-device catch if 2drop true else current-device device-end then
>>> swap l!
>>> ...
>>>
>>> It looks like all the keywords are known to the OpenBIOS, but I can't
>>> input the test string:
>>> " /options" ['] find-device catch if 2drop true else current-device
>>> device-end then swap l!
>>>
>>> it is longer than 80 characters, and OpenBIOS lets me enter only the
>>> part of the string up to "device-end t".
>>
>> You should be able to split the above test string at any whitespace
>> character, since the Forth engine handles the switch between word
>> interpreting/compiling automatically. All whitespace, including CRs/LFs is
>> generally ignored.
>>
>>> The questions are:
>>>  - is it just an interactive command line limitation, or an api
>>> limitation?
>>
>> I suspect just an interactive command limitation.
>
> Doesn't look like this: I patched ufsboot by replacing space character with
>  0x0a and now it gets a bit further!

>>> is there a forth debugger in OpenBIOS?
>>Yes indeed. See Documentation/README.debugger for a quick overview.

Ok, now that I've got through the first Forth problem, the next question is
if there is an assembler/machine code debugger too?


-- 
Regards,
Artyom Tarasenko

solaris/sparc under qemu blog: http://tyom.blogspot.com/



More information about the OpenBIOS mailing list