[Kos-dev] Abandon de l'expansion dynamique de pile CPL0

Thomas Petazzoni kos-dev@enix.org
Tue, 10 Jul 2001 21:10:08 +0200


bonjour,

Nous avons une assez mauvaise nouvelle : suite aux 6 mois passes a
essayer de realiser tant bien que mal un handler de double fault
permettant d'etendre dynamiquement la taille des piles CPL0, nous sommes
arrives a la conclusion : C'est impossible.

En effet, durant les push implicites precedant l'execution d'un handler
d'IRQ, l'etat du PIC n'est pas deterministe. Il se peut que le IRR
(registre donnant les IRQ en attente) indique l'IRQ ayant lieu, et il se
peut tres bien qu'il ne le donne pas. Le comportement est different
selon si l'IRQ arrive apres 0 push, 1 push ou 2 push. Et parfois pire,
quand il arrive toujours pour le meme nombre de push le comportement
n'est pas toujours identique. Nous ne pouvons apparemment pas faire
grand chose.

Devant la quantite de boulot deja acheve, D2 va tout de meme tenter
quelques experimentations, mais sachez que le commit de ce soir inclus
de repassage en pile statique. Un tag a ete pose, afin de pouvoir
revenir sans probleme a la version piles dynamiques si le besoin s'en
faisait sentir.

Amicalement,

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