[OpenBIOS] Latest SPARC64 & Milax update

Igor Kovalenko igor.v.kovalenko at gmail.com
Tue Jan 5 21:53:39 CET 2010


On Tue, Jan 5, 2010 at 10:44 PM, Blue Swirl <blauwirbel at gmail.com> wrote:
> On Sun, Jan 3, 2010 at 2:57 PM, Mark Cave-Ayland
> <mark.cave-ayland at siriusit.co.uk> wrote:
>> Igor Kovalenko wrote:
>>
>>>> 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.
>>
>> Yeah I think you're right here - by using an intermediate client state then
>> it would be possible to share the majority of code between the two
>> implementations.
>>
>> Another interesting thing I noticed from this document was that the alarm
>> word is implemented using a timer interrupt. Hence this would be a good test
>> of general timer functionality (as well as given a twirly baton during the
>> first loading stage!). Does anyone know if the qemu SPARC64 model currently
>> supports a timer interrupt?
>
> I thought it does (%tick register works), but it looks like the CPU
> timer interrupts (%tick_cmpr register) don't work at all.

I have somewhat working %tick_cmpr on qemu part,
which at least allows linux kernel to measure bogomips :)
It is a few patches long, fortunately mostly on sparc64 side.

On the firmware side, interesting thing is you cannot
disarm alarm. What if instance is then closed?

-- 
Kind regards,
Igor V. Kovalenko



More information about the OpenBIOS mailing list