TacOS-team / tacos

Système d'exploitation / Operating System
GNU General Public License v3.0
9 stars 4 forks source link

Dépendances à vmm.h #25

Closed NicolasFloquet closed 13 years ago

NicolasFloquet commented 13 years ago

La libc présente des dépendances à vmm.h, qui n'a rien à faire en userspace. Faudrait se débarasser de ça

MaximeCheramy commented 13 years ago

Le problème est plus profond : Si je fais un kmalloc (donc en kernel space), je me retrouve à faire 2 ou 3 syscalls... Est-ce que tu peux nous rappeler Simon ce qui t'a amené à faire comment ça ?

NoWiS- commented 13 years ago

Alors, le truc c'est qu'il faudrait compiler une version kernel et une version userspace de la libc.

kmalloc fait appel à malloc de la libc avec les structures du kernel qu'il faut (page virtuelles etc...). Et malloc doit faire un appel système. Faudrait rajouter genre un petit ifdef dans la libc dans le cas kernel, pour éviter le syscall.

Sinon, je vois pas les dépendances de la libc à vmm.h (mais dans le sens kmalloc -> libc oui).

J'ai supposé ici que le kernel pouvait utiliser la libc. Peut-être ai-je tord.

MaximeCheramy commented 13 years ago

malloc.c utilise des types définies dans vmm.h. Je regarde le code ce soir et je reviens vers toi Simon si j'ai des questions.

NoWiS- commented 13 years ago

Ok je vois bien ce qu'il se passe. Je modifie ça ce week end !

MaximeCheramy commented 13 years ago

related : https://www.etud.insa-toulouse.fr/redmine/issues/34 (je ferme celui de redmine)

NoWiS- commented 13 years ago

Done.