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

KOS CVS Gestion CVS KOS <d2@kos.enix.org>
Sun, 10 Mar 2002 17:17:23 +0100 (CET)


Module :	kos
Modifié par :	thomas	10/03/02 17:17:23

Fichiers modifiés :
	.              : MkVars README 
	modules        : Makefile 
	modules/babel  : interface.h resource.h translator.h 
	modules/babel/tower: Makefile _tower.c _tower.h tower.c tower.h 
	modules/fat    : _fat.c fat.c fat.h 
	modules/ide    : Makefile _ide.c _ide.h _ide_babel.c ide.c ide.h 
	modules/kos    : Makefile asm.h assert.h macros.h system.h 
	                 wolfgang.c 
	modules/task   : task.h 
	modules/vmm    : Makefile _vmm.h _vmm_kmem.c _vmm_sr.c _vmm_vr.c 
	                 vmm.c vmm.h 
	modules/x86/task: _thread_cpu_context.c task.h 
Fichiers ajoutés :
	modules/babel  : babel.h shadow_resource.h 
	modules/babel/tower: _tower_devfs.c _tower_interface.c 
	                     _tower_name_space.c _tower_resource.c 
	                     _tower_shadow_resource.c 
	                     _tower_translator.c 
	modules/part   : Makefile _part.c _part.h part.c part.h 
	modules/vmm    : _vmm_babel.c 
Fichiers enlevés :
	modules/babel/tower: _tower_create_resource.c 
	                     _tower_create_translator.c 
	                     _tower_delete_resource.c 
	                     _tower_delete_translator.c 
	                     _tower_dump_interface_list.c 
	                     _tower_dump_resource_list.c 
	                     _tower_dump_translator_list.c 
	                     _tower_register_interface.c _tower_tools.c 
	                     _tower_unregister_interface.c 

Détails :
Un samedi de coding, de 10h a 3h du matin par Julien et moi meme a
porte ses fruits :
* integration de la nouvelle version de Babel en tant que module
Babel
* mise en conformite de la VMM avec Babel => wrapper dans
_vmm_babel.c : une interface 'mem', instanciee une seule fois en
'kmem'. On peut ensuite faire un bbl_open_sr("/dev/mem/kmem"), et zou
on a une shadow resource qui va bien !
* mise en conformite du module IDE => interface "ide" (family "disk),
qui enregistre au fur et a mesure les disques durs presents.
* creation d'un module PART separe de IDE, et mise en conformite avec
Babel => interface "part". Lors de l'initialisation du driver IDE,
pour chaque disque, il signale a part quel disque il y a. part
construit donc une liste chainee des disques, qu'il va ensuite
parcourir lors de son initialisation pour lire la table des
partitions de chacun de ces disques, et instancier correctement
l'interface part.

On a donc pour le moment (au maximum, tout est cree dynamiquement bien
sur !) :
- /dev/mem/kmem
- /dev/disk/hd{a,b,c,d}
- /dev/part/hd{a,b,c,d}[0;n]

A venir :
* mise en conformite du module Fat

Puis plus tard :
* Syscall, et autres trucs sympa pour faire fonctionner vraiment
quelques threads en mode utilisateur.