Exécution d'un programme en mode user
Gestion du périphérique block-device
- Ajout du driver block-device (arch/soclib/driver_bd.c)
- Très semblable à celui du DMA, vous devez (mais ce n'est pas obligatoire) gérer la file d'attente des requêtes pendantes.
- Ajout d'une API minimale (kernel/libk/disk.c)
- open / read / write / close
- ssize_t write(int fd, const void *buf, size_t count);
- ssize_t read(int fd, const void *buf, size_t count);
- intopen(const char *pathname, intflags);
- intclose(int fd);
- Pour les deux dernières, on ne peut pas les concevoir sans système de fichiers (on ne va pas créer un système de fichiers)
- pour les deux premières
- fd sera le numéro de bloc sur le disque
- buf une adresse dans la mémoire physique
- count nombre de bloc à transferer
- Test de lecture d'image au format pgm
(obtenu à partir d'une image quelconque par convert)
- Création d'un heap USER dans la ram
- Lecture depuis le disque dans un zone de mémoire créer
dans le heap USER
- lecture du premier bloc
- décodage du header
- lecture des autres bloc
- déplacement de l'image dans le FB
... la suite la prochaine fois
Last modified 13 years ago
Last modified on May 3, 2012, 1:37:12 PM