[Kos-dev] Syscall (pour julien)

Thomas Petazzoni kos-dev@yoda.isnpro.com
Thu, 22 Feb 2001 23:48:39 +0100


> euh, desole thomas, j'avais mal du me faire comprendre, mais j'ai
> jamais dit que babel renverrai un pointeur vers la fonction
> personnellement j'avais cru justement comprendre que tu m'expliquais
> que ca marchait comme ca et en effet j'aimerais passer comme argument
> dans a mon syscall

bon ok, alors on est bien d'accord. c'est moi qui ait du rever, mais je
preferais etre sur qu'on s'entendait bien sur ce point la. y'a pas de
probleme.
 
>  %eax : le numero du syscall
>  %ebx : un pointeur vers une structure
>       struct {
>              struct instance_s *babel;
>              struct instance_s *instance;
>              unsigned long method_number;
>              }
>  %ecx : un pointer vers une structure de
>         donnee contenant la structure de donnee
>         reclamee par la methode appellee.

tu peux utiliser les parametres comme tu veux, il faut juste savoir que
tu es limite a trois parametres, plus un numero de syscall.

> par contre, une question interessante conserne les ipcs, on peut
> imaginer qu'il y ait plusieurs syscall disponible, dont un specifique
> pour les requetes de services a babel et d'autres pour d'autres choses
> ...  je sais pas comment fonctionneront les ipcs mais on peut imaginer
> que ce soit un autre syscall qui s'en charge ? maintenant je n'ai
> aucune idee si les ipcs peuvent etre consideree comme une interface

moi plus generalement je me demande si tout passera par Babel, auquel
cas il n'y aura pas besoin de numero de syscall dans %eax, tout passera
directement par Babel, qui sera la passerelle entre le noyau et les
applis utilisateurs.

on peut trouver la liste des syscall linux dans
/usr/src/linux/include/asm/unistd.h, ca permet de donner une idee de ce
qu'on aura. alors tout dans Babel, ou pas tout dans Babel ?
a voir !

amicalement,

thomas

PS : autre sujet : j'ai lu dans une doc sur le noyau linux que les piles
kernel faisait 6K normalement, et que donc il fallait eviter d'avoir un
max de variables locales (privilegier l'allocation dynamique) et eviter
la recursion. les piles sont donc bien statiques, avec toutes les
limitations que ca induit.
-- 
PETAZZONI Thomas
thomas.petazzoni@meridon.com     UIN : 34937744
Projet KOS : http://kos.enix.org