[Cbe-oss-dev] [PATCH] libspe2 Fix signal type initialization

Markus Deuling deuling at linux.vnet.ibm.com
Thu Sep 27 18:47:06 EST 2007


Hello,

Kazunori Asayama schrieb:
> "D. Herrendoerfer" <d.herrendoerfer at herrendoerfer.name> wrote:
>> It was reported in the cell Forum, that the Implementation does
>> the opposite of what the Documentation says, so we need to
>> fix the kernel documentation and the libspe implementation.
>>
> 
> I don't think so. The current spufs implementation is consistent with
> the current spufs spec document, and there is no need to fix any of
> the kernel, libspe2 or documents:
> 

> ---
> 
> And the CBEA spec says in the "SPU Configuration Register" section:
> 
> ---
>   0 Signal notification 1 mode is overwrite (POR default).
>   1 Signal notification 1 mode is logical OR.
> ---
> 
> 
> I.e., when the value "1" is written to the signal1_type node, the SNR
> 1 will enter "Or" mode.
> 
> 
> I suppose that you are saying about the following article. Right ?
> 
>   http://www.ibm.com/developerworks/forums/dw_thread.jsp?forum=739&thread=175794&cat=46
> 
> I think that it is a bug of the ppu-gdb:
> 
> --- SDK 2.1 gdb/spu-tdep.c ---
>       if (signal1_pending)
> 	printf_filtered (_("Signal 1 control word 0x%08llx (Type %s)\n"),
> 			 (unsigned long long) signal1,
> 			 signal1_type? "Overwrite" : "Or");
>       else
> 	printf_filtered (_("Signal 1 not pending (Type %s)\n"),
> 			 signal1_type? "Overwrite" : "Or");
> 
>       if (signal2_pending)
> 	printf_filtered (_("Signal 2 control word 0x%08llx (Type %s)\n"),
> 			 (unsigned long long) signal2,
> 			 signal2_type? "Overwrite" : "Or");
>       else
> 	printf_filtered (_("Signal 2 not pending (Type %s)\n"),
> 			 signal2_type? "Overwrite" : "Or");
> ---
> 
> The same problem still exists in the SDK 3.0 ER.
> 
> Ulrich, could you check that ?
> 
>

this is from SDK3 gdb/spu-tdep.c:

      if (signal1_type)
­·······printf_filtered (_("(Type Overwrite)\n"));
      else
­·······printf_filtered (_("(Type Or)\n"));


So GDB behaves inverted to the CBEA spec, I guess. This is easy to fix.
I'll come up with a fix for SDK4 and current GDB mainline.

Thanks for tracking this down! 


-- 
Markus Deuling
GNU Toolchain for Linux on Cell BE
deuling at de.ibm.com




More information about the cbe-oss-dev mailing list