Port-sparc64 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

re: port/sparc64 known working on Netra X1?



On Sun, 9 May 2010, matthew green wrote:

>    On May 8, 2010, at 15:29, Chris Ross wrote:
>    >  Okay.  So, in looking at the diffs from netbsd-4 to netbsd-5  
>    > sparc64/dev/psycho.c, I see that the API to intr_establish changed.   
>    > But, I was surprised to find that intr_establish() (within  
>    > psycho_set_intr()) returns successfully on this last call that never  
>    > returns.
>    >
>    >  The *last* line of psycho_set_intr() does not complete.  What could/ 
>    > would make this hang?
>    >
>    >        *(ih->ih_map) |= INTMAP_V|(CPU_UPAID << INTMAP_TID_SHIFT);
>    
>       Updated the printf in psycho_set_intr() a bit, and I can't see why  
>    the last one would fail, and the earlier ones work.  Just in case this  
>    info helps anyone else, though it looks pretty normal and non- 
>    problematic...
> 
> so what this instruction is doing is setting the "valid" bit in
> the interrupt mapping register.
> 
> i'm guessing that some extant interrupt is then delivered and the
> system isn't prepared and we go boom (aka hang.)

This is the powerfail interrupt which at one point halted the kernel.  
In current it appears to think someone pressed the power button.
So going boom is actually the correct behavior after getting this 
interrupt.

Eduardo


Home | Main Index | Thread Index | Old Index