[OpenBIOS] SOLVED: the mystery of Solaris on SPARC32 and the missing Forth arguments

Blue Swirl blauwirbel at gmail.com
Wed Oct 20 21:12:13 CEST 2010


On Wed, Oct 20, 2010 at 6:40 PM, Mark Cave-Ayland
<mark.cave-ayland at siriusit.co.uk> wrote:
> Blue Swirl wrote:
>
>>> I suspect that you'll need to come up with something along similar lines
>>> for
>>> SPARC32. Blue, any thoughts?
>>
>> On Sparc32 the client interface is not used and there is no 'flushw'
>> instruction, but otherwise saving and restoring %g registers and
>> flushing windows may be helpful.
>
> Hmmm okay. Please find attached the following very very alpha quality patch
> (read: it doesn't work) that attempts to flush the windows using the
> FLUSH_ALL_KERNEL_WINDOWS macro and save the globals in an ASM wrapper before
> calling the actual obp_fortheval_v2() C function, then attempting to restore
> the globals and return.
>
> Sadly I think that I've misunderstood something in my copy-and-paste quality
> patch as SPARC32 Solaris boot seems to get *less* far than it did without
> this patch, so my effort must have a fundamental bug somewhere...

At least %fp is not loaded and return with 'retl' is not OK if the
function is not a leaf.



More information about the OpenBIOS mailing list