]> err.no Git - linux-2.6/blobdiff - arch/powerpc/platforms/cell/spufs/spufs.h
Merge branch 'locks' of git://linux-nfs.org/~bfields/linux
[linux-2.6] / arch / powerpc / platforms / cell / spufs / spufs.h
index 692dbd0edc37ee41e00ffcdef989cad2248e39c5..ca47b991bda5e3dd639d8b40b5dccf47d4a1557e 100644 (file)
@@ -40,13 +40,10 @@ enum {
 struct spu_context_ops;
 struct spu_gang;
 
-enum {
-       SPU_SCHED_WAS_ACTIVE,   /* was active upon spu_acquire_saved()  */
-};
-
 /* ctx->sched_flags */
 enum {
        SPU_SCHED_NOTIFY_ACTIVE,
+       SPU_SCHED_WAS_ACTIVE,   /* was active upon spu_acquire_saved()  */
 };
 
 struct spu_context {
@@ -85,6 +82,8 @@ struct spu_context {
 
        struct list_head gang_list;
        struct spu_gang *gang;
+       struct kref *prof_priv_kref;
+       void ( * prof_priv_release) (struct kref *kref);
 
        /* owner thread */
        pid_t tid;
@@ -201,9 +200,14 @@ extern struct tree_descr spufs_dir_contents[];
 extern struct tree_descr spufs_dir_nosched_contents[];
 
 /* system call implementation */
+extern struct spufs_calls spufs_calls;
 long spufs_run_spu(struct spu_context *ctx, u32 *npc, u32 *status);
 long spufs_create(struct nameidata *nd, unsigned int flags,
                        mode_t mode, struct file *filp);
+/* ELF coredump callbacks for writing SPU ELF notes */
+extern int spufs_coredump_extra_notes_size(void);
+extern int spufs_coredump_extra_notes_write(struct file *file, loff_t *foffset);
+
 extern const struct file_operations spufs_context_fops;
 
 /* gang management */
@@ -296,7 +300,7 @@ struct spufs_coredump_reader {
        char *name;
        ssize_t (*read)(struct spu_context *ctx,
                        char __user *buffer, size_t size, loff_t *pos);
-       u64 (*get)(void *data);
+       u64 (*get)(struct spu_context *ctx);
        size_t size;
 };
 extern struct spufs_coredump_reader spufs_coredump_read[];