Documentation/filesystems/spufs/spufs.rst

Source file repositories/reference/linux-study-clean/Documentation/filesystems/spufs/spufs.rst

File Facts

System
Linux kernel
Corpus path
Documentation/filesystems/spufs/spufs.rst
Extension
.rst
Size
12371 bytes
Lines
274
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: documentation
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

.. SPDX-License-Identifier: GPL-2.0

=====
spufs
=====

Name
====

       spufs - the SPU file system


Description
===========

       The SPU file system is used on PowerPC machines that implement the Cell
       Broadband Engine Architecture in order to access Synergistic  Processor
       Units (SPUs).

       The file system provides a name space similar to posix shared memory or
       message queues. Users that have write permissions on  the  file  system
       can use spu_create(2) to establish SPU contexts in the spufs root.

       Every SPU context is represented by a directory containing a predefined
       set of files. These files can be used for manipulating the state of the
       logical SPU. Users can change permissions on those files, but not actu-
       ally add or remove files.


Mount Options
=============

       uid=<uid>
              set the user owning the mount point, the default is 0 (root).

       gid=<gid>
              set the group owning the mount point, the default is 0 (root).


Files
=====

       The files in spufs mostly follow the standard behavior for regular sys-
       tem  calls like read(2) or write(2), but often support only a subset of
       the operations supported on regular file systems. This list details the
       supported  operations  and  the  deviations  from  the behaviour in the
       respective man pages.

       All files that support the read(2) operation also support readv(2)  and
       all  files  that support the write(2) operation also support writev(2).
       All files support the access(2) and stat(2) family of  operations,  but
       only  the  st_mode,  st_nlink,  st_uid and st_gid fields of struct stat
       contain reliable information.

       All files support the chmod(2)/fchmod(2) and chown(2)/fchown(2)  opera-
       tions,  but  will  not be able to grant permissions that contradict the
       possible operations, e.g. read access on the wbox file.

       The current set of files is:


   /mem
       the contents of the local storage memory  of  the  SPU.   This  can  be
       accessed  like  a regular shared memory file and contains both code and
       data in the address space of the SPU.  The possible  operations  on  an
       open mem file are:

       read(2), pread(2), write(2), pwrite(2), lseek(2)
              These  operate  as  documented, with the exception that seek(2),
              write(2) and pwrite(2) are not supported beyond the end  of  the

Annotation

Implementation Notes