[OpenBIOS] [PATCH 0/3] sparc64 cleanups v1

Igor Kovalenko igor.v.kovalenko at gmail.com
Fri May 28 11:03:28 CEST 2010


On Fri, May 28, 2010 at 12:43 PM, Mark Cave-Ayland
<mark.cave-ayland at siriusit.co.uk> wrote:
> Igor Kovalenko wrote:
>
>> With many debian iso images I consistently get scrolling blanks after
>> the following line on qemu video console:
>>
>> io sched cfq registered (default)
>>
>> Please share your qemu command line, and installer prompt input if any.
>
> Yeah, I do too. I originally thought that the Debian kernel was broken, but
> if you leave it long enough then it does proceed to the end. My guess is
> that there is a bug in the OpenBIOS console which is obscuring the output.

I allowed it to scroll and now I can confirm it would crash with tl=5.
Last insn is ldda with ASI=0x24 (Nucleus quad LDD 128 bit atomic)

IN:
0x0000000000424d18:  ldda  [ %g1 ] (36), %g4
0x0000000000424d1c:  cmp  %g4, %g6
0x0000000000424d20:  bne,pn   %xcc, 0x4076c0
0x0000000000424d24:  mov  2, %g3

qemu: fatal: Trap 0x0068 while trap level (5) >= MAXTL (5), Error state
pc: 0000000000424d18  npc: 0000000000424d1c
General Registers:
%g0-3: 0000000000000000 0000000008000000 0000000000004000 0000000000000002
%g4-7: 00000000000003ff 0000000000000001 0000000000000020 0000000000004000

Well, not sure how it worked before. Related code in helper_ld_asi() states:

    case 0x24: // Nucleus quad LDD 128 bit atomic
    case 0x2c: // Nucleus quad LDD 128 bit atomic LE
        //  Only ldda allowed
        raise_exception(TT_ILL_INSN);
        return 0;

HelenOS also uses quad ldd when configured with TSB for memory management.
I guess that atomic quad ldd deserves to be implemented. I'll see if
it is not hard.

-- 
Kind regards,
Igor V. Kovalenko



More information about the OpenBIOS mailing list