|
My Project
|
Implantation de la console de type virtio. Plus de détails...
#include <manux/virtio-console.h>#include <manux/intel-8259a.h>#include <manux/pci.h>#include <manux/memoire.h>#include <manux/io.h>#include <manux/debug.h>#include <manux/errno.h>#include <manux/string.h>
Aller au code source de ce fichier.
Classes | |
| struct | VirtioConsole_t |
Macros | |
| #define | NB_BUFF_TRAITES 16 |
| Gestion des buffers utilisés par le périphérique. | |
Définitions de type | |
| typedef struct VirtioConsole_t | VirtioConsole |
Fonctions | |
| int | virtioConsoleInitialisation (INoeud *iNoeudVirtioConsole) |
| Initialisation des périphériques. | |
Variables | |
| VirtioConsole | virtioConsole |
| Variable globale stockant la seule console virtio ! WARNING : pour le moment on crée un unique périphérique. | |
Implantation de la console de type virtio.
A faire : la gestion de la mémoire n'est pas terrible ! J'alloue une page pour chaque nouveau message et je la supprime lorsque je récupère les buffers (voir les "WARNING Pas top" dans le code). Idéalement, il vaudrait mieux que ce soit virtio qui gère ça. Par exemple à l'initialisation, je lui dit que je veux qu'il copie les données. Du coup il alloue une première fois les buffers assiociés aux descripteurs, puis il les récupère avec les buffers, sans les libérer/réallouer. Au pire il peut les faire croitre si nécessaire !
Définition dans le fichier virtio-console.c.
| #define NB_BUFF_TRAITES 16 |
Gestion des buffers utilisés par le périphérique.
Cette fonction va voir si quelquechose est dispo Elle doit sûrement disparaître, mais je vais tenter de faire un peu de polling
Définition à la ligne 52 du fichier virtio-console.c.
| typedef struct VirtioConsole_t VirtioConsole |
@brif Description d'un périphérique virtio console
| int virtioConsoleInitialisation | ( | INoeud * | iNoeudVirtioConsole | ) |
Initialisation des périphériques.
Définition à la ligne 255 du fichier virtio-console.c.
| VirtioConsole virtioConsole |
Variable globale stockant la seule console virtio ! WARNING : pour le moment on crée un unique périphérique.
Définition à la ligne 41 du fichier virtio-console.c.