[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