[Kos-cvs] [kos] Modification CVS par thomas

KOS CVS Gestion CVS KOS <d2@kos.enix.org>
Tue, 26 Feb 2002 20:00:07 +0100 (CET)


Module :	kos
Modifié par :	thomas	26/02/02 20:00:07

Fichiers modifiés :
	modules        : config.h 
	modules/kmem   : _kslab_cache_free.c 
	modules/pmm    : pmm.h 
	modules/x86/mm : _team_mm_context.c _vmap.c 

Détails :
Contrairement a ce que laisse voir le commit j'ai pas change grand
chose (j'ai juste fait un mechant find . | xargs touch parce que
j'avais encore des problemes de date qui ont l'air d'etre regles).

Au niveau des modifs :
- arch/mm/_team_mm_context.c : dans la fonction
team_mm_context_construct faut mieux initialiser le spinlock avec
spinlock_init sinon en mode DEADLOCK_DEBUG l'ami gueule (state est pas
a LCK_READY).
- arch/mm/_vmap.c : ajout d'un msg de debug (car y'a un bug, cf plus
loin). ajout du test !IS_KERNEL_PAGE pour savoir si on doit ou non
faire un map foreign. en effet c'est pas parce que setup_mm_ctxt nous
dit qu'il faut faire un map foreign qu'il faut le faire... si la page
est dans l'espace noyau, pas la peine de s'embeter.

A faire :
- dans setup_mm_ctxt c'est pas parce que team_mm_context != NULL que
l'on doit forcement faire un map foreign !!! (pas oblige de changer ca
vuq ue j'ai change map_virtual_page, mais bon faut voir).
- gros bug : le machin charge bien le fichier en 0x8000000 (2G, espace
user). il fait un page fault, alloue la page comme il faut. ensuite on
cree le thread, il mappe la pile, mais apres il fait des pages fault
sur la page 0x8000000 ! alors qu'on l'a deja mappe ! bref il reste un
bug. je m'y mets demain.

Thomas