[POWERPC] cell: handle SPE kernel mappings that cross segment boundaries
authorJeremy Kerr <jk@ozlabs.org>
Wed, 5 Dec 2007 02:49:31 +0000 (13:49 +1100)
committerArnd Bergmann <arnd@arndb.de>
Wed, 19 Dec 2007 00:00:05 +0000 (01:00 +0100)
commit684bd614015188561197342fd336292e9e2ce196
tree89307cd386307b6bdfa9c65165a8d0fc95eb77d5
parentf6eb7d7ffef3e2fa40b0161c30486cb87203758d
[POWERPC] cell: handle SPE kernel mappings that cross segment boundaries

Currently, we have a possibilty that the SLBs setup during context
switch don't cover the entirety of the necessary lscsa and code
regions, if these regions cross a segment boundary.

This change checks the start and end of each region, and inserts a SLB
entry for each, if unique. We also remove the assumption that the
spu_save_code and spu_restore_code reside in the same segment, by using
the specific code array for save and restore.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
arch/powerpc/platforms/cell/spu_base.c
arch/powerpc/platforms/cell/spufs/switch.c
include/asm-powerpc/spu.h