Man page - spufs(7)
Packages contains this manual
- shm_overview(7)
- nss(5)
- proc_mtrr(5)
- intro(7)
- tcp(7)
- iso_8859-9(7)
- armscii-8(7)
- proc_kpagecount(5)
- initrd(4)
- mouse(4)
- proc_stat(5)
- x25(7)
- proc_interrupts(5)
- fifo(7)
- repertoiremap(5)
- icmp(7)
- futex(7)
- feature_test_macros(7)
- lp(4)
- bpf-helpers(7)
- epoll(7)
- proc_sys_dev(5)
- namespaces(7)
- proc_sysrq-trigger(5)
- proc_bus(5)
- cp1251(7)
- proc_pid_maps(5)
- proc_sys_vm(5)
- proc_pid_projid_map(5)
- st(4)
- proc_pid(5)
- issue(5)
- pid_namespaces(7)
- unicode(7)
- inode(7)
- hosts.equiv(5)
- iso-8859-13(7)
- proc_fb(5)
- proc_modules(5)
- proc_pid_autogroup(5)
- keyrings(7)
- sysvipc(7)
- proc_kmsg(5)
- cgroups(7)
- latin6(7)
- proc_pid_uid_map(5)
- unix(7)
- proc_pid_io(5)
- pts(4)
- packet(7)
- ld-linux.so(8)
- tzselect(8)
- iconv(1)
- proc_pid_syscall(5)
- proc_pid_net(5)
- proc_pid_pagemap(5)
- tty(4)
- proc_profile(5)
- standards(7)
- proc_pid_mounts(5)
- filesystems(5)
- iso-8859-15(7)
- locale(5)
- iso_8859_3(7)
- xattr(7)
- iso-8859-2(7)
- proc_uptime(5)
- persistent-keyring(7)
- credentials(7)
- proc_pid_timers(5)
- utmpx(5)
- vcsa(4)
- proc_pid_exe(5)
- proc_net(5)
- proc_timer_stats(5)
- ip(7)
- proc_pid_fd(5)
- ptmx(4)
- user_namespaces(7)
- resolv.conf(5)
- url(7)
- iso_8859_5(7)
- iso_8859-8(7)
- urn(7)
- process-keyring(7)
- proc_pid_auxv(5)
- proc_ksyms(5)
- proc_ide(5)
- veth(4)
- ldd(1)
- proc_swaps(5)
- landlock(7)
- proc_vmstat(5)
- system_data_types(7)
- cp1252(7)
- lirc(4)
- proc_kpageflags(5)
- random(7)
- precedence(7)
- cpuset(7)
- proc_pid_ns(5)
- acct(5)
- latin4(7)
- proc_pid_cgroup(5)
- proc_cpuinfo(5)
- iso_8859-2(7)
- proc_keys(5)
- charsets(7)
- pldd(1)
- proc_pid_stat(5)
- rtnetlink(7)
- netlink(7)
- ram(4)
- mem(4)
- iso-8859-6(7)
- proc_key-users(5)
- iso_8859_15(7)
- fanotify(7)
- proc_sys_net(5)
- sysfs(5)
- math_error(7)
- latin1(7)
- proc_pid_root(5)
- nptl(7)
- proc_cgroups(5)
- proc_iomem(5)
- proc_pid_statm(5)
- sem_overview(7)
- hier(7)
- full(4)
- proc_pid_status(5)
- proc_pid_cwd(5)
- proc_pid_cpuset(5)
- proc_scsi(5)
- uri(7)
- proc_diskstats(5)
- iso_8859_6(7)
- latin2(7)
- latin5(7)
- man-pages(7)
- ld.so(8)
- uts_namespaces(7)
- proc_pid_mountstats(5)
- intro(3)
- proc_pid_seccomp(5)
- proc_pid_wchan(5)
- attributes(7)
- symlink(7)
- mount_namespaces(7)
- charmap(5)
- tis-620(7)
- iso-8859-10(7)
- getent(1)
- proc_buddyinfo(5)
- ttytype(5)
- rtc(4)
- proc_malloc(5)
- suffixes(7)
- sln(8)
- signal(7)
- proc_sys_abi(5)
- signal-safety(7)
- time_namespaces(7)
- proc_pid_comm(5)
- raw(7)
- gai.conf(5)
- proc_crypto(5)
- locale(1)
- iso-8859-3(7)
- motd(5)
- proc_meminfo(5)
- iso-8859-8(7)
- protocols(5)
- proc_pid_map_files(5)
- pthreads(7)
- null(4)
- proc(5)
- zdump(8)
- socket(7)
- proc_sys_kernel(5)
- ddp(7)
- memusagestat(1)
- hd(4)
- iso-8859-14(7)
- shells(5)
- pipe(7)
- glob(7)
- proc_self(5)
- network_namespaces(7)
- utmp(5)
- proc_kcore(5)
- nsswitch.conf(5)
- sd(4)
- iso-8859-5(7)
- iso_8859_16(7)
- man(7)
- iso_8859-6(7)
- dir_colors(5)
- mq_overview(7)
- vsock(7)
- ascii(7)
- thread-keyring(7)
- fs(5)
- proc_pid_attr(5)
- proc_sys_debug(5)
- proc_sys(5)
- proc_pid_cmdline(5)
- pty(7)
- services(5)
- cgroup_namespaces(7)
- securetty(5)
- netdevice(7)
- iso_8859_13(7)
- host.conf(5)
- proc_pid_setgroups(5)
- proc_slabinfo(5)
- sock_diag(7)
- iso_8859-14(7)
- iso-8859-11(7)
- iso_8859_11(7)
- operator(7)
- regex(7)
- wavelan(4)
- proc_sys_fs(5)
- nologin(5)
- proc_pci(5)
- koi8-r(7)
- erofs(5)
- intro(2)
- utf8(7)
- proc_kallsyms(5)
- proc_sysvipc(5)
- queue(7)
- proc_sys_sunrpc(5)
- intro(5)
- latin8(7)
- mtrace(1)
- ipc_namespaces(7)
- dsp56k(4)
- iso_8859_4(7)
- proc_pid_smaps(5)
- proc_cmdline(5)
- rpc(5)
- proc_tty(5)
- proc_version(5)
- smartpqi(4)
- proc_pid_timerslack_ns(5)
- aio(7)
- session-keyring(7)
- resolver(5)
- slabinfo(5)
- wtmp(5)
- iso_8859_9(7)
- proc_locks(5)
- mailaddr(7)
- proc_pid_oom_score(5)
- kmem(4)
- iconvconfig(8)
- iso_8859-7(7)
- glibc(7)
- hostname(7)
- proc_thread-self(5)
- ipv6(7)
- iso_8859_7(7)
- proc_kpagecgroup(5)
- core(5)
- time(7)
- units(7)
- proc_dma(5)
- loop(4)
- address_families(7)
- zero(4)
- intro(4)
- procfs(5)
- iso_8859-4(7)
- vdso(7)
- tmpfs(5)
- iso-8859-16(7)
- iso_8859_10(7)
- user-session-keyring(7)
- libc(7)
- proc_fs(5)
- koi8-u(7)
- latin3(7)
- proc_tid_children(5)
- proc_pid_limits(5)
- proc_pid_coredump_filter(5)
- iso_8859-15(7)
- arp(7)
- urandom(4)
- iso_8859-10(7)
- hpsa(4)
- proc_pid_environ(5)
- boot(7)
- ftm(7)
- ld-linux(8)
- proc_driver(5)
- loop-control(4)
- iso_8859-16(7)
- proc_filesystems(5)
- tzfile(5)
- sprof(1)
- proc_pid_task(5)
- proc_pid_oom_score_adj(5)
- proc_mounts(5)
- iso-8859-4(7)
- iso_8859-1(7)
- utf-8(7)
- iso_8859-13(7)
- intro(6)
- proc_timer_list(5)
- rtld-audit(7)
- iso_8859-3(7)
- group(5)
- sched(7)
- proc_pid_clear_refs(5)
- hosts(5)
- iso_8859-11(7)
- numa(7)
- iso_8859_2(7)
- locale(7)
- iso-8859-1(7)
- fuse(4)
- proc_tid(5)
- proc_execdomains(5)
- proc_pid_mountinfo(5)
- intro(8)
- iso_8859_8(7)
- proc_loadavg(5)
- proc_pid_oom_adj(5)
- re_format(7)
- iso_8859_14(7)
- zic(8)
- bootparam(7)
- inotify(7)
- posixoptions(7)
- proc_partitions(5)
- iso-8859-9(7)
- proc_pid_mem(5)
- networks(5)
- proc_sys_user(5)
- udp(7)
- proc_zoneinfo(5)
- latin10(7)
- proc_pid_fdinfo(5)
- proc_pid_stack(5)
- memusage(1)
- spufs(7)
- pkeys(7)
- path_resolution(7)
- proc_ioports(5)
- intro(1)
- ldconfig(8)
- msr(4)
- svipc(7)
- port(4)
- proc_pid_personality(5)
- cciss(4)
- latin9(7)
- capabilities(7)
- localedef(1)
- vcs(4)
- iso_8859-5(7)
- elf(5)
- proc_sys_proc(5)
- console_codes(4)
- random(4)
- iso-8859-7(7)
- termcap(5)
- cpuid(4)
- environ(7)
- string_copying(7)
- proc_pid_gid_map(5)
- queue(3)
- termio(7)
- user-keyring(7)
- complex(7)
- latin7(7)
- proc_config.gz(5)
- udplite(7)
- kernel_lockdown(7)
- proc_devices(5)
- proc_apm(5)
- iso_8859_1(7)
- proc_pid_numa_maps(5)
apt-get install manpages
Available languages:
en fr ruManual
spufs
NOMDESCRIPTION
Options de montage
Fichiers
EXEMPLES
VOIR AUSSI
TRADUCTION
NOM
spufs - SystĂšme de fichiers SPU
DESCRIPTION
Le systĂšme de fichiers SPU est utilisĂ© sur les machines PowerPC qui utilisent lâarchitecture Cell Broadband Engine Architecture pour accĂ©der aux SPU (« Synergistic Processor Units »).
Le systĂšme de fichiers fournit un espace de noms similaire Ă la mĂ©moire partagĂ©e ou aux queues de messages POSIX. Les utilisateurs qui ont la permission dâĂ©crire sur le systĂšme de fichiers peuvent utiliser spu_create (2) pour Ă©tablir des contextes SPU dans le rĂ©pertoire racine du spufs .
Chaque contexte SPU est reprĂ©sentĂ© par un rĂ©pertoire contenant un jeu de fichiers prĂ©dĂ©finis. Ces fichiers peuvent ĂȘtre utilisĂ©s pour manipuler lâĂ©tat du SPU logique. Les utilisateurs peuvent changer les permissions des fichiers, mais ne peuvent ni en ajouter ni en supprimer.
Options de montage
uid=<uid>
DĂ©finit lâutilisateur propriĂ©taire du point de montage ; 0 par dĂ©faut (root).
gid=<gid>
Définit le groupe propriétaire du point de montage ; 0 par défaut (root).
mode=<mode>
DĂ©finir le mode du rĂ©pertoire de plus haut niveau du spufs sous la forme dâune chaĂźne de valeur octale. La valeur par dĂ©faut est 0775.
Fichiers
Les fichiers du spufs se comportent majoritairement de façon standard pour les appels systĂšme comme read (2) ou write (2), mais ne gĂšrent souvent quâune fraction des opĂ©rations permises par les systĂšmes de fichiers normaux. Cette liste dĂ©taille les opĂ©rations gĂ©rĂ©es et les dĂ©rogations par rapport aux comportements standards qui sont dĂ©crits dans les diffĂ©rentes pages de manuel.
Tous les fichiers qui gĂšrent lâopĂ©ration read (2) gĂšrent Ă©galement readv (2) et tous les fichiers qui gĂšrent lâopĂ©ration write (2) gĂšrent aussi writev (2). Tous les fichiers gĂšrent les familles dâopĂ©rations access (2) stat (2), mais pour cette derniĂšre famille, les seuls champs de la structure stat renvoyĂ©e qui contiennent des informations fiables sont st_mode , st_nlink , st_uid et st_gid .
All files support the chmod (2)/ fchmod (2) and chown (2)/ fchown (2) operations, but will not be able to grant permissions that contradict the possible operations (e.g., read access on the wbox file).
Le jeux actuel
de fichiers est :
/capabilities
Contient une chaßne représentant les capacités, séparées par des virgules, de ce contexte SPU. Les capacités possibles sont :
|
sched |
Ce contexte peut ĂȘtre ordonnancĂ©. |
||
|
step |
Ce contexte peut ĂȘtre exĂ©cutĂ© en mode pas-Ă -pas, pour dĂ©bogage. |
De nouveaux attributs de capacitĂ©s pourront ĂȘtre ajoutĂ©s dans le futur.
|
/mem |
Le contenu de la mĂ©moire de stockage locale du SPU. On peut y accĂ©der comme Ă un fichier de mĂ©moire partagĂ© standard et il contient Ă la fois le code et les donnĂ©es de lâespace dâadressage du SPU. Les opĂ©rations possibles sur un fichier mem ouvert sont : |
read
(2)
pread
(2)
write
(2)
pwrite
(2)
lseek
(2)
Elles opĂšrent normalement, Ă lâexception de lseek (2), write (2) et pwrite (2) qui ne sont pas gĂ©rĂ©es en dehors des limites du fichier. La taille du fichier est la taille de lâespace de stockage local du SPU, qui est normalement de 256 kilooctets.
mmap (2)
La projection de mem dans lâespace dâadressage du processus donne accĂšs Ă lâespace de stockage local du SPU depuis lâespace dâadressage du processus. Seules les projections MAP_SHARED sont autorisĂ©es.
|
/regs |
Contient la sauvegarde des registres Ă vocation gĂ©nĂ©rale du contexte SPU. Ce fichier contient les valeurs 128 bits de chaque registre, du registre 0 au registre 127, dans lâordre. Cela permet de consulter le contenu de ces registres Ă vocation gĂ©nĂ©rale Ă des fins de dĂ©bogage. |
La lecture ou lâĂ©criture dans ce fichier nĂ©cessite que le contexte ne soit pas ordonnancĂ©, aussi, lâutilisation de ce fichier nâest pas recommandĂ© lors de lâexĂ©cution normale dâun programme.
Le fichier regs nâexiste pas pour les contextes créés avec lâattribut SPU_CREATE_NOSCHED .
|
/mbox |
La premiĂšre boĂźte aux lettres pour la communication entre SPU et CPU. Ce fichier est en lecture seule et peut ĂȘtre lu par unitĂ©s de 4 octets. Le fichier peut uniquement ĂȘtre utilisĂ© en mode non bloquant - mĂȘme poll (2) ne peut pas ĂȘtre utuilisĂ© pour se bloquer sur ce fichier. La seule opĂ©ration possible sur un fichier mbox ouvert est : |
read (2)
Si count est plus petit que quatre, read (2) renvoie -1 et positionne errno Ă EINVAL . Sâil nây a pas de donnĂ©e disponible dans la boĂźte aux lettres (câest-Ă -dire si le SPU nâa pas envoyĂ© de message dans la boĂźte aux lettres), la valeur de retour est -1 et errno est positionnĂ©e Ă EAGAIN . Quand des donnĂ©es ont Ă©tĂ© lues avec succĂšs, quatre octets sont placĂ©s dans le tampon de donnĂ©es et la valeur renvoyĂ©e est quatre.
|
/ibox |
La deuxiĂšme boĂźte aux lettres pour la communication entre SPU et CPU. Ce fichier est similaire au premier fichier de boĂźte aux lettres, mais peut ĂȘtre lu en mode bloquant, ainsi appeler read (2) sur un fichier ibox ouvert bloquera tant que le SPU nâa pas Ă©crit dans son canal boĂźte Ă lettres (Ă moins que le fichier nâait Ă©tĂ© ouvert avec O_NONBLOCK , voir ci-dessous). Ăgalement, poll (2) et des appels systĂšme similaires peuvent ĂȘtre utilisĂ©s pour surveiller la prĂ©sence de donnĂ©es dans la boĂźte Ă lettres. |
Les
opérations possibles sur un fichier
ibox
ouvert sont :
read
(2)
Si count est plus petit que quatre, read (2) renvoie -1 et positionne errno Ă EINVAL . Sâil nây a pas de donnĂ©e disponible dans la boĂźte aux lettres et que le fichier a Ă©tĂ© ouvert avec O_NONBLOCK , la valeur renvoyĂ©e est -1 et errno est positionnĂ©e Ă EAGAIN .
Sâil nây a pas de donnĂ©e disponible dans la boĂźte aux lettres et que le fichier a Ă©tĂ© ouvert sans lâattribut O_NONBLOCK , lâappel bloquera jusquâĂ ce que le SPU Ă©crive dans son canal dâinterruption de la boĂźte aux lettres. Quand des donnĂ©es ont Ă©tĂ© lues avec succĂšs, quatre octets sont placĂ©s dans le tampon de donnĂ©es et la valeur quatre est renvoyĂ©e.
poll (2)
Lâappel de poll (2) sur le fichier ibox renvoie (POLLIN | POLLRDNORM) quand des donnĂ©es sont disponibles en lecture.
|
/wbox |
La boĂźte aux lettres pour la communication entre CPU et SPU. Elle est en Ă©criture seulement et on peut y Ă©crire des donnĂ©es de 32 bits. Si la boĂźte aux lettres est pleine, write (2) bloque et poll (2) peut ĂȘtre utilisĂ© pour bloquer jusquâĂ ce quâil soit possible dâĂ©crire dans la boĂźte aux lettres. Les opĂ©rations possibles sur un fichier wbox ouvert sont : |
write (2)
Si count est plus petit que quatre, write (2) renvoie -1 et positionne errno Ă EINVAL . Sâil nây a pas dâespace disponible dans la boĂźte aux lettres et que le fichier a Ă©tĂ© ouvert avec O_NONBLOCK , la valeur renvoyĂ©e est -1 et errno est positionnĂ©e Ă EAGAIN .
Sâil nây a pas dâespace disponible dans la boĂźte aux lettres et que le fichier a Ă©tĂ© ouvert sans lâattribut O_NONBLOCK , lâappel bloque jusquâĂ ce que le SPU lise dans le canal de sa boĂźte aux lettres PPE (PowerPC Processing Element). Quand des donnĂ©es ont Ă©tĂ© Ă©crites avec succĂšs, lâappel systĂšme renvoie 4 comme rĂ©sultat de la fonction.
poll (2)
Un appel Ă poll (2) sur le fichier wbox renvoie (POLLOUT | POLLWRNORM) quand de lâespace est disponible en Ă©criture.
/mbox_stat
/ibox_stat
/wbox_stat
These are read-only files that
contain the length of the current queue of each
mailboxâthat is, how many words can be read from
mbox
or
ibox
or how many words can be written
to
wbox
without blocking. The files can be read only
in four-byte units and return a big-endian binary integer
number. The only possible operation on an open
*box_stat
file is:
read
(2)
Si count est plus petit que quatre, read (2) renvoie -1 et positionne errno Ă EINVAL . Sinon, une valeur de quatre octets est placĂ©e dans le tampon de donnĂ©es. Cette valeur est le nombre dâĂ©lĂ©ments qui peuvent ĂȘtre lus (pour mbox_stat et ibox_stat ) ou Ă©crits (pour wbox_stat ) dans les boĂźtes aux lettres respectives sans bloquer ou renvoyer une erreur EAGAIN .
|
/npc |
||
|
/decr |
/decr_status
/spu_tag_mask
/event_mask
/event_status
|
/srr0 |
|||
|
/lslr |
Les registres internes du SPU. Ces fichiers contiennent une chaĂźne de caractĂšre ASCII reprĂ©sentant la valeur hexadĂ©cimale du registre indiquĂ©. Lire et Ă©crire dans ces fichiers (hormis npc , voir ci-dessous) nĂ©cessite que le contexte du SPU ne soit pas ordonnancĂ©, aussi, les accĂšs frĂ©quents Ă ces fichiers ne sont pas recommandĂ©s lors de lâexĂ©cution normale dâun programme. |
Le contenu des fichiers est :
|
npc |
Compteur programme suivant - Valide uniquement lorsque le SPU est dans un Ă©tat arrĂȘtĂ©. |
||
|
decr |
Décrémenteur SPU |
||
|
decr_status |
Ătat du dĂ©crĂ©menteur |
||
|
spu_tag_mask |
Masque de attributs MFC pour le DMA SPU |
||
|
event_mask |
Masque dâĂ©vĂ©nements pour les interruptions SPU |
||
|
event_status |
Nombre dâĂ©vĂ©nements SPU en attente (lecture seule) |
||
|
srr0 |
Registre contenant lâadresse de retour dâinterruption |
||
|
lslr |
Registre de limite de stokage local |
Les
opérations possibles sur ces fichiers sont :
read
(2)
Lit la valeur actuelle du registre. Si la valeur du registre est plus grande que le tampon passĂ© Ă read (2), les lectures suivantes continueront Ă lire Ă partir du mĂȘme tampon jusquâĂ ce que la fin du tampon soit atteinte.
Lorsquâune chaĂźne complĂšte a Ă©tĂ© lue, toutes les opĂ©rations de lecture suivantes renverront zĂ©ro octet et il faudra ouvrir un nouveau descripteur de fichier pour lire une nouvelle valeur.
write (2)
Un appel Ă write (2) sur le fichier dĂ©finit le registre Ă la valeur fournie dans la chaĂźne. La chaĂźne est analysĂ©e du dĂ©but jusquâau premier caractĂšre non numĂ©rique ou jusquâĂ la fin du tampon. Les Ă©critures suivantes sur le mĂȘme descripteur de fichier remplaceront les prĂ©cĂ©dentes Ă©critures.
ExceptĂ© pour le fichier npc , ces fichiers nâexistent pas dans les contextes créés avec lâattribut SPU_CREATE_NOSCHED .
|
/fpcr |
Ce fichier donne accĂšs au registre dâĂ©tat et de contrĂŽle pour la virgule flottante (Floating Point Status and Control Register, fcpr) comme un fichier binaire de quatre octets. Les opĂ©rations pour le fichier fpcr sont : |
read (2)
Si count est plus petit que quatre, read (2) renvoie -1 et positionne errno Ă EINVAL . Sinon, une valeur de quatre octets est placĂ©e dans le tampon de donnĂ©es ; câest la valeur actuelle du registre fpcr .
write (2)
Si count est plus petit que quatre, write (2) renvoie -1 et positionne errno à EINVAL . Sinon, une valeur de quatre octets est copiée depuis le tampon de données, mettant à jour la valeur du registre fpcr .
/signal1
/signal2
Le fichier donne accĂšs
aux deux canaux de notification de signal dâun SPU. Ce
sont des fichiers en lecture et écriture qui
utilisent des mots de quatre octets. Ăcrire dans un
de ces fichiers déclenche une interruption sur le
SPU. La valeur écrite dans le fichier de
signalisation peut ĂȘtre lue depuis le SPU au travers
dâun canal de lecture ou par lâespace
utilisateur sur lâhĂŽte grĂące au fichier.
Les opérations possibles sur un fichier
signal1
ou
signal2
ouvert sont :
read
(2)
Si count est plus petit que quatre, read (2) renvoie -1 et positionne errno Ă EINVAL . Sinon, une valeur de quatre octets est placĂ©e dans le tampon de donnĂ©es ; câest la valeur actuelle du registre de notification du signal indiquĂ©.
write (2)
Si count est plus petit que quatre, write (2) renvoie -1 et positionne errno Ă EINVAL . Sinon, une valeur de quatre octets est copiĂ©e depuis le tampon de donnĂ©es et met Ă jour la valeur du registre de notification du signal indiquĂ©. Le registre de notification du signal sera soit remplacĂ© par les donnĂ©es fournies en entrĂ©e ou sera mis Ă jour par un OU bit Ă bit de lâancienne valeur et des donnĂ©es fournies en entrĂ©e, en fonction du contenu des fichiers signal1_type ou signal2_type respectivement.
/signal1_type
/signal2_type
Ces deux fichiers changent le
comportement des fichiers de notification
signal1
et
signal2
. Ils contiennent une chaĂźne ASCII
numérique qui est lue comme "1" ou
"0". Dans le mode 0 (remplacement), le
matériel remplace le contenu du canal du signal avec
la donnĂ©e quâon y Ă©crit. Dans le mode 1
(OU logique), le matériel accumule les bits qui y
sont écrits au fur et à mesure. Les
opérations possibles sur un fichier
signal1_type
ou
signal2_type
sont :
read
(2)
Quand le paramĂštre count fourni Ă lâappel read (2) est plus petit que la longueur nĂ©cessaire pour la valeur du chiffre (plus un caractĂšre de fin de ligne), les lectures suivantes sur le mĂȘme descripteur de fichier complĂ©teront la chaĂźne. Quand une chaĂźne complĂšte a Ă©tĂ© lue, les lectures qui suivent ne renvoient aucun octet et un nouveau descripteur de fichier doit ĂȘtre ouvert pour lire une nouvelle valeur.
write (2)
Un appel Ă write (2) sur le fichier dĂ©finit le registre Ă la valeur fournie dans la chaĂźne. La chaĂźne est analysĂ©e du dĂ©but jusquâau premier caractĂšre non numĂ©rique ou jusquâĂ la fin du tampon. Les Ă©critures suivantes sur le mĂȘme descripteur de fichier remplaceront les prĂ©cĂ©dentes Ă©critures.
/mbox_info
/ibox_info
/wbox_info
/dma_into
/proxydma_info
Read-only files that contain the saved state of the SPU mailboxes and DMA queues. This allows the SPU status to be inspected, mainly for debugging. The mbox_info and ibox_info files each contain the four-byte mailbox message that has been written by the SPU. If no message has been written to these mailboxes, then contents of these files is undefined. The mbox_stat , ibox_stat , and wbox_stat files contain the available message count.
Le fichier wbox_info contient un tableau de messages de 4 octets qui ont Ă©tĂ© envoyĂ©s Ă le SPU. Sur les machines CBEA actuelles, le tableau a une longueur de 4 Ă©lĂ©ments, ainsi, on peut lire jusquâĂ 4 * 4 = 16 octets. Si une entrĂ©e de file de boĂźte Ă lettres est vide, les octets lus dans lâemplacement correspondant sont indĂ©terminĂ©s.
Le fichier dma_info contient le contenu de la file DMA du MFC du SPU, représenté par la structure suivante :
struct
spu_dma_info {
uint64_t dma_info_type;
uint64_t dma_info_mask;
uint64_t dma_info_status;
uint64_t dma_info_stall_and_notify;
uint64_t dma_info_atomic_command_status;
struct mfc_cq_sr dma_info_command_data[16];
};
Le dernier membre de cette structure de données est la file DMA réelle contenant 16 entrées. La structure mfc_cq_sr est définie ainsi :
struct
mfc_cq_sr {
uint64_t mfc_cq_data0_RW;
uint64_t mfc_cq_data1_RW;
uint64_t mfc_cq_data2_RW;
uint64_t mfc_cq_data3_RW;
};
Le fichier proxydma_info contient des informations similaires mais dĂ©crit la file DMA proxy (câest-Ă -dire, les DMA initiĂ©s par des entitĂ©s extĂ©rieures au SPU). Le fichier a le format suivant :
struct
spu_proxydma_info {
uint64_t proxydma_info_type;
uint64_t proxydma_info_mask;
uint64_t proxydma_info_status;
struct mfc_cq_sr proxydma_info_command_data[8];
};
LâaccĂšs Ă ces fichiers nĂ©cessite que le contexte SPU ne soit pas ordonnancé ; une utilisation frĂ©quente serait inefficace. Ces fichiers ne doivent pas ĂȘtre utilisĂ©s dans lâexĂ©cution normale dâun programme.
Ces fichiers nâexistent pas dans les contextes créés avec lâattribut SPU_CREATE_NOSCHED .
|
/cntl |
Ce fichier fournit un accĂšs aux registres de contrĂŽle dâexĂ©cution et dâĂ©tat du SPU sous forme dâune chaĂźne ASCII. Les opĂ©rations suivantes sont prises en charge : |
read (2)
La lecture du fichier cntl renverra une chaĂźne ASCCI contenant la valeur hexadĂ©cimale du registre dâĂ©tat du SPU.
write (2)
LâĂ©criture dans le fichier cntl dĂ©finira le registre de contrĂŽle dâexĂ©cution du contexte du SPU.
|
/mfc |
Fournit un accĂšs au contrĂŽleur de flux mĂ©moire (MFC) du SPU. Une lecture de ce fichier renvoie le contenu du registre dâĂ©tat de balise MFC du SPU et une Ă©criture dans le fichier initie un DMA du MFC. Les opĂ©rations suivantes sont prises en charge : |
write (2)
LâĂ©criture dans ce fichier nĂ©cessite dâĂȘtre dans le format dâune commande DMA du MFC dĂ©fini ainsi :
struct
mfc_dma_command {
int32_t pad; /* réservé */
uint32_t lsa; /* adresse de stockage local */
uint64_t ea; /* adresse effective */
uint16_t size; /* taille de transfert */
uint16_t tag; /* attribut de commande */
uint16_t class; /* identifiant de la classe */
uint16_t cmd; /* opcode de la commande */
};
Les Ă©critures doivent avoir une taille dâexactement sizeof(struct mfc_dma_command) octets. La commande sera envoyĂ©e Ă la file proxy MFC du SPU et lâattribut enregistrĂ© dans le noyau (voir ci-dessous).
read (2)
Lire le contenu du registre dâĂ©tat de lâattribut. Si le fichier est ouvert en mode bloquant (câest-Ă -dire, sans O_NONBLOCK ), la lecture bloquera jusquâĂ ce quâune balise DMA (comme effectuĂ© par une Ă©criture prĂ©cĂ©dente) soit achevĂ©e. En mode non bloquant, le registre dâĂ©tat de lâattribut MFC sera renvoyĂ© sans attente.
poll (2)
Appeler poll (2) sur le fichier mfc bloquera jusquâĂ ce quâun nouveau DMA puisse ĂȘtre dĂ©marrĂ© (en vĂ©rifiant POLLOUT ) ou jusquâĂ ce quâun DMA dĂ©marrĂ© prĂ©cĂ©demment (en vĂ©rifiant POLLIN ) se soit achevĂ©.
/mss Fournit un accÚs à la fonctionnalité de synchronisation multisource (MSS) MFC. En effectuant un mmap (2) sur ce fichier, les processus peuvent accéder à la zone MSS du SPU.
Les opérations suivantes sont gérées :
mmap (2)
La projection de mss dans lâespace dâadressage du processus donne accĂšs Ă la zone MSS du SPU depuis lâespace dâadressage du processus. Seules les projections MAP_SHARED sont autorisĂ©es.
|
/psmap |
Fournit un accĂšs Ă lâensemble de la projection dâĂ©tat de problĂšmes du SPU. Les applications peuvent utiliser cette zone pour interfacer le SPU plutĂŽt que dâĂ©crire dans les fichiers individuels des registres sur le systĂšme de fichiers spufs . |
Les
opérations suivantes sont gérées :
mmap
(2)
La projection de psmap donne un accĂšs direct Ă un processus vers la zone dâĂ©tat des problĂšmes du SPU. Seules les projections MAP_SHARED sont autorisĂ©es.
/phys-id
Fichier en lecture seule contenant le nombre de SPU physiques sur lesquelles sâexĂ©cutent le contexte SPU. Lorsque le contexte nâest pas en cours dâexĂ©cution, ce fichier contient la chaĂźne « -1 ».
Le nombre de SPU physiques est fourni sous forme dâune chaĂźne ASCII hexadĂ©cimale.
/object-id
Permet aux applications de
stocker (ou récupérer) un idendifiant
64Â bits dans le contexte. Cet identifiant est
utilisé plus tard par les outils de profilage pour
identifier de maniĂšre unique le contexte.
write
(2)
En Ă©crivant une valeur hexadĂ©cimale ASCII dans ce fichier, les applications peuvent dĂ©finir lâidentifiant dâobjet du contexte SPU. Toute valeur prĂ©cĂ©dente de lâidentifiant dâobjet est Ă©crasĂ©e.
read (2)
La lecture de ce fichier fournit une chaĂźne hexadĂ©cimale ASCII reprĂ©sentant lâidentifiant dâobjet de ce contexte SPU.
EXEMPLES
To automatically
mount
(8) the SPU filesystem when booting, at the
location
/spu
chosen by the user, put this line into
the
fstab
(5) configuration file:
none /spu spufs gid=spu 0 0
VOIR AUSSI
close (2), spu_create (2), spu_run (2), capabilities (7)
The Cell Broadband Engine Architecture (CBEA) specification
TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org> et David Prévot <david@tilapin.org>
Cette traduction est une documentation libre ; veuillez vous reporter Ă la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il nây a aucune RESPONSABILITĂ LĂGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org .