• Andre Detsch's avatar
    [POWERPC] spufs: DMA Restart after SIGSEGV · 18789fb1
    Andre Detsch authored
    This 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 restarts 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 already stopped.  The operation only takes
    place when spu_run is restarted (which happens automatically).
    Signed-off-by: default avatarAndre Detsch <adetsch@br.ibm.com>
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarJeremy Kerr <jk@ozlabs.org>
    Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    18789fb1
backing_ops.c 10.7 KB