[Kos-dev] Stack Fault : expand down segment

Thomas Petazzoni kos-dev@yoda.isnpro.com
Thu, 22 Feb 2001 14:03:56 +0100


salut,

la stack fault resout notre probleme apparemment. il restait encore un
probleme : ESP est relatif a SS, c'est a dire que c'est un offset par
rapport au debut du segment pointe par SS. or ESP descend au fur et a
mesure des pushs, et se retrouve a 0 lorsqu'on a un stack fault. il
faudrait alors allouer une page, puis ajouter PAGE_SIZE a ESP. je trouve
ca pas tres joli. mais heureusement pour une fois, le proc Intel nous
aide (ca arrive ca ?) :

If the size of a stack segment needs to be changed dynamically, the
stack segment can be
an expand-down data segment (expansion-direction flag set). Here,
dynamically changing the
segment limit causes stack space to be added to the bottom of the stack.
If the size of a stack
segment is intended to remain static, the stack segment may be either an
expand-up or expand-
down type.

voila, apparemment, un segment expand-down est a l'envers (la base est
en haut, et la limite est a base-limit), donc ca semble convenir pour
notre probleme.

qu'en pensez-vous ?

thomas
-- 
PETAZZONI Thomas
thomas.petazzoni@meridon.com     UIN : 34937744
Projet KOS : http://kos.enix.org