[OpenBIOS] Latest SPARC64 & Milax update

Igor Kovalenko igor.v.kovalenko at gmail.com
Sun Jan 3 13:06:35 CET 2010


On Sun, Jan 3, 2010 at 3:00 PM, Blue Swirl <blauwirbel at gmail.com> wrote:
> On Sun, Jan 3, 2010 at 10:12 AM, Mark Cave-Ayland
> <mark.cave-ayland at siriusit.co.uk> wrote:
>> Blue Swirl wrote:
>>
>>>>> Have we verified that OpenBios can jump to a SPARC ELF file?
>>>>
>>>> Hmmm no - looking at the PPC code for the go word it seems that we need
>>>> someone who owns a copy of the IEEE-1275 bindings for SPARC and who is
>>>> proficient in SPARC assembler to implement this :(
>>>
>>> Which bindings? http://playground.sun.com/1275/home.html gives a SPARC
>>> binding but that is for V8.
>>
>> I think that will do; at least it should contain enough information to work
>> on the saved-program-state and the interaction between the client image and
>> OF.  Alas it's quite far out of my sphere of knowledge though.
>
> Looking at SILO and Linux usage, It looks like OF entry point needs to
> be in %o4 and %o0 must be zero.
>
> http://fxr.watson.org/fxr/source/arch/sparc64/kernel/head.S?v=linux-2.4.22
> http://git.kernel.org/?p=linux/kernel/git/bcollins/silo.git;a=blob;f=first/ultra.S;h=b285e1d66009e3490c47e4369d541a65529e27b5;hb=a55764ceef83086d00b5f7b8b3027b517fc4ca23
> http://fxr.watson.org/fxr/source/arch/sparc/kernel/head.S?v=linux-2.4.22
>
> But start_client_image() already handles this, except for zero %o0.

We may want to rework implementation so go() uses start_client_image()
with saved context, and boot word uses client state reset, load, init-program
and go words. load would fetch image, init-program would prepare saved
context. This would match a hint in of1275 document about difference
between boot and load words.

>> Igor has suggested a C version in his previous email, although again I don't
>> really know enough about SPARC to know if this is valid or not.
>
> Looks OK, though I don't again see any difference.
You need to skip return for failed ofmem_claim() in elf-loader to see
any difference.

-- 
Kind regards,
Igor V. Kovalenko



More information about the OpenBIOS mailing list