This patch adds general support for isolated mode SPE apps. Isolated apps are started indirectly, by a dedicated loader "kernel". This patch starts the loader when spe_create is invoked with the ISOLATE flag. We do this at spe_create time to allow libspe to pass the isolated app in before calling spe_run. The loader is read from the device tree, at the location "/spu-isolation/loader". If the loader is not present, an attempt to start an isolated SPE binary will fail with -ENODEV. Update: loader needs to be correctly aligned - copy to a kmalloced buf. Update: remove workaround for systemsim/spurom 'L-bit' bug, which has been fixed. Update: don't write to runcntl on spu_run_init: SPU is already running. Update: do spu_setup_isolated earlier Tested on systemsim. Signed-off-by: Jeremy Kerr <jk@ozlabs.org> Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org> |
||
---|---|---|
.. | ||
backing_ops.c | ||
context.c | ||
file.c | ||
gang.c | ||
hw_ops.c | ||
inode.c | ||
Makefile | ||
run.c | ||
sched.c | ||
spu_restore_crt0.S | ||
spu_restore_dump.h_shipped | ||
spu_restore.c | ||
spu_save_crt0.S | ||
spu_save_dump.h_shipped | ||
spu_save.c | ||
spu_utils.h | ||
spufs.h | ||
switch.c | ||
syscalls.c |