[Cbe-oss-dev] [PATCH 5/6] spufs: fix dma restart

Christoph Hellwig hch at lst.de
Thu Feb 7 15:38:41 EST 2008


On Wed, Feb 06, 2008 at 03:43:40PM -0200, Luke Browning wrote:
> Subject: spufs: DMA Restart after SIGSEGV
> 
> Based on an original patch from Andre Detsch <adetsch at br.ibm.com>
> 
> This patch fixes the behavior of spufs when a spu tries
> a DMA operation based on a wrong / unavailable address.
> 
> Instead of just generating a SIGBUS signal, spufs now
> generates a SIGSEGV signal and restart the problematic DMA operation
> after the execution of the application's signal handler. This allows
> applications to employ user-level paging systems.
> 
> Although the restart_dma function is called before the application's
> signal handler, the operation is not actually performed at this time,
> since the spu context is deactivated.  It is regenerated on the
> next system call.  
> 
> Deactivation removes platform and hardware specific dependencies on 
> the use of master runcntl bits.  Only the context save area is updated.

Andre's patch already is in mainline.  I haven't checked if there's
any changes vs his original patch, but if there are please send them
as an incremental patch.




More information about the cbe-oss-dev mailing list