diff options
author | Mark Nutter <mnutter@us.ibm.com> | 2006-10-24 12:31:16 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-10-25 00:20:21 -0400 |
commit | 5737edd1ddbde5ab7f63bb3cb36015edbdb7c295 (patch) | |
tree | 10162eb7c27fa0a3d1614c2d46fdcf2c87410d3a /include/asm-powerpc/spu.h | |
parent | cc21a66d7f727ab97b27af9cf763bc0b51510ffa (diff) |
[POWERPC] spufs: add support for nonschedulable contexts
This adds two new flags to spu_create:
SPU_CREATE_NONSCHED: create a context that is never moved
away from an SPE once it has started running. This flag
can only be used by tasks with the CAP_SYS_NICE capability.
SPU_CREATE_ISOLATED: create a nonschedulable context that
enters isolation mode upon first run. This requires the
SPU_CREATE_NONSCHED flag.
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>
Diffstat (limited to 'include/asm-powerpc/spu.h')
-rw-r--r-- | include/asm-powerpc/spu.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/include/asm-powerpc/spu.h b/include/asm-powerpc/spu.h index cac4ad90a1d4..a1cf476c66f5 100644 --- a/include/asm-powerpc/spu.h +++ b/include/asm-powerpc/spu.h | |||
@@ -181,8 +181,10 @@ extern struct spufs_calls { | |||
181 | */ | 181 | */ |
182 | #define SPU_CREATE_EVENTS_ENABLED 0x0001 | 182 | #define SPU_CREATE_EVENTS_ENABLED 0x0001 |
183 | #define SPU_CREATE_GANG 0x0002 | 183 | #define SPU_CREATE_GANG 0x0002 |
184 | #define SPU_CREATE_NOSCHED 0x0004 | ||
185 | #define SPU_CREATE_ISOLATE 0x0008 | ||
184 | 186 | ||
185 | #define SPU_CREATE_FLAG_ALL 0x0003 /* mask of all valid flags */ | 187 | #define SPU_CREATE_FLAG_ALL 0x000f /* mask of all valid flags */ |
186 | 188 | ||
187 | 189 | ||
188 | #ifdef CONFIG_SPU_FS_MODULE | 190 | #ifdef CONFIG_SPU_FS_MODULE |
@@ -276,6 +278,7 @@ struct spu_problem { | |||
276 | u32 spu_runcntl_RW; /* 0x401c */ | 278 | u32 spu_runcntl_RW; /* 0x401c */ |
277 | #define SPU_RUNCNTL_STOP 0L | 279 | #define SPU_RUNCNTL_STOP 0L |
278 | #define SPU_RUNCNTL_RUNNABLE 1L | 280 | #define SPU_RUNCNTL_RUNNABLE 1L |
281 | #define SPU_RUNCNTL_ISOLATE 2L | ||
279 | u8 pad_0x4020_0x4024[0x4]; /* 0x4020 */ | 282 | u8 pad_0x4020_0x4024[0x4]; /* 0x4020 */ |
280 | u32 spu_status_R; /* 0x4024 */ | 283 | u32 spu_status_R; /* 0x4024 */ |
281 | #define SPU_STOP_STATUS_SHIFT 16 | 284 | #define SPU_STOP_STATUS_SHIFT 16 |