Difference between revisions of "IOS/fr"

From WiiBrew
< IOS
Jump to navigation Jump to search
m (New page: IOS is the operating system that runs on the Starlet coprocessor inside the Hollywood package. It provides the services that are used by Wii code to access most of the system devices....)
 
 
(11 intermediate revisions by 8 users not shown)
Line 1: Line 1:
IOS is the operating system that runs on the [[Starlet]] coprocessor inside the Hollywood package. It provides the services that are used by Wii code to access most of the system devices.
+
'''IOS''' est le système d'exploitation qui tourne sur le coprocesseur [[Starlet]] à l'intérieur du processeur principal Hollywood. Il fournit les services employés par le système de la Wii pour accéder à la plupart des dispositifs du système.  
  
See also: [[Talk:IOS/QA|IOS/QA]]
+
Voir également : [[Talk:IOS/QA|IOS/QA]] (en anglais).
  
== IPC ==
+
== IPC ==
  
Communication with IOS from PPC code is done using an IPC mechanism.   There are 7 calls that can be made using this system:
+
La communication avec l'IOS depuis du code PPC est possible avec un mécanisme IPC (Instruction Per Cycle) qui est la fréquence des actions exécutées par cycle . Il existe 7 actions :
  
 
# open
 
# open
Line 15: Line 15:
 
# ioctlv
 
# ioctlv
  
Here is a sample implementation, not guaranteed to work: [[ipc.c]]
+
Voici un exemple d'implémentation, sans garantie de fonctionnement : [[ipc.c]]
  
 
  ipc struct size = 40, aligned to 20
 
  ipc struct size = 40, aligned to 20
Line 53: Line 53:
 
         arg3: pointer to # in plus # out pairs of (addr, len)
 
         arg3: pointer to # in plus # out pairs of (addr, len)
  
fd is a handle you get back from ios on "open", and that you should pass back to all other calls  --segher
+
fd est un handle que vous récupérez d'ios avec "open" et que vous devriez passer en retour à tous les autres appels --segher
  
Most non-trivial operations are performed by opening one of the below resources, then calling ioctl or ioctlv on it.
+
La plupart des opérations non triviales sont effectuées par l'ouverture d'une des ressources ci-dessous, puis par un appel à ioctl ou ioctlv sur celles-ci.
  
The Starlet kernel hands these calls over to the individual drivers / processes within the Starlet. The processes register themselves to handle requests by creating one or more queues and assigning them to handle requests from a particular /dev device.
+
Le noyau du Starlet distribue ces appels aux drivers et processus individuels au sein du Starlet. Les processus s'enregistrent eux-même pour prendre en compte des requêtes en créant une ou plusieurs files et en leur assignant la prise en compte de requêtes provenant d'un périphérique /dev particulier.
  
For testing out IOS devices, you can use the [http://wiibrew.org/index.php?title=Image:EasyIOS.tgz EasyIOS] application for the wii.
+
Pour tester ces périphériques IOS, vous pouvez utiliser l'application [http://wiibrew.org/index.php?title=Image:EasyIOS.tgz EasyIOS] pour Wii.
  
 
== /dev tree ==
 
== /dev tree ==
  
Known resources in the /dev tree:
+
Ressources connues de l'arborescence [[:/dev/fr|/dev]] :
  
 
* /dev/aes
 
* /dev/aes
 
* /dev/boot2
 
* /dev/boot2
 
* /dev/di
 
* /dev/di
* [[/dev/es]]
+
* [[:/dev/es/fr|/dev/es]]
 
* /dev/hmac
 
* /dev/hmac
* [[/dev/flash]]
+
* [[:/dev/flash/fr|/dev/flash]]
* [[/dev/fs]]
+
* [[:/dev/fs/fr|/dev/fs]]
 
* /dev/listen
 
* /dev/listen
 
* /dev/net/ip/bottom
 
* /dev/net/ip/bottom
* /dev/net/ip/top - TCP/IP [[Socket]] operations
+
* /dev/net/ip/top - opérations sur [[Socket/fr|Socket]] TCP/IP
 
* /dev/net/kd/request
 
* /dev/net/kd/request
 
* /dev/net/kd/time
 
* /dev/net/kd/time
Line 84: Line 84:
 
* /dev/printserver
 
* /dev/printserver
 
* /dev/sdio
 
* /dev/sdio
* [[/dev/sdio/slot0]]
+
* [[:/dev/sdio/slot0/fr|/dev/sdio/slot0]]
 
* /dev/sdio/slot1
 
* /dev/sdio/slot1
 
* /dev/sdio/slotw
 
* /dev/sdio/slotw
 
* /dev/sha
 
* /dev/sha
 
* /dev/stm/eventhook
 
* /dev/stm/eventhook
* [[/dev/stm/immediate]]
+
* [[:/dev/stm/immediate/fr|/dev/stm/immediate]]
 
* /dev/usb
 
* /dev/usb
* [[/dev/usb/ehc]]
+
* [[:/dev/usb/ehc/fr|/dev/usb/ehc]]
 
* /dev/usb/kbd
 
* /dev/usb/kbd
* [[/dev/usb/oh0]]
+
* [[:/dev/usb/oh0/fr|/dev/usb/oh0]]
* [[/dev/usb/oh1]]
+
* [[:/dev/usb/oh1/fr|/dev/usb/oh1]]
* [[/dev/wl0]]
+
* [[:/dev/wl0/fr|/dev/wl0]]
 +
 
 +
[[Category:French pages]]

Latest revision as of 20:24, 30 August 2011

IOS est le système d'exploitation qui tourne sur le coprocesseur Starlet à l'intérieur du processeur principal Hollywood. Il fournit les services employés par le système de la Wii pour accéder à la plupart des dispositifs du système.

Voir également : IOS/QA (en anglais).

IPC

La communication avec l'IOS depuis du code PPC est possible avec un mécanisme IPC (Instruction Per Cycle) qui est la fréquence des actions exécutées par cycle . Il existe 7 actions :

  1. open
  2. close
  3. read
  4. write
  5. seek
  6. ioctl
  7. ioctlv

Voici un exemple d'implémentation, sans garantie de fonctionnement : ipc.c

ipc struct size = 40, aligned to 20

00:     cmd     // 1=open 2=close 3=read 4=write 5=seek 6=ioctl 7=ioctlv
04:     ret
08:     fd
0c:     arg[5]
20:     async1
24:     async2
28:     0
40:     relaunch, used for ioctlvreboot

open:   fd = 0
        arg0, arg1: name, mode (1=read 2=write)

close:  fd

read:   fd
        arg0, arg1: addr, len

write:  fd
        arg0, arg1: addr, len

seek:   fd
        arg0, arg1: where, whence

ioctl:  fd
        arg0: ioctl #
        arg1, arg2: addr, len
        arg3, arg4: addr, len

ioctlv: fd
        arg0: ioctl #
        arg1: # in
        arg2: # out (or in-out)
        arg3: pointer to # in plus # out pairs of (addr, len)

fd est un handle que vous récupérez d'ios avec "open" et que vous devriez passer en retour à tous les autres appels --segher

La plupart des opérations non triviales sont effectuées par l'ouverture d'une des ressources ci-dessous, puis par un appel à ioctl ou ioctlv sur celles-ci.

Le noyau du Starlet distribue ces appels aux drivers et processus individuels au sein du Starlet. Les processus s'enregistrent eux-même pour prendre en compte des requêtes en créant une ou plusieurs files et en leur assignant la prise en compte de requêtes provenant d'un périphérique /dev particulier.

Pour tester ces périphériques IOS, vous pouvez utiliser l'application EasyIOS pour Wii.

/dev tree

Ressources connues de l'arborescence /dev :