[Kos-dev] commit...

Christophe Avoinne (Club-Internet) kos-dev@yoda.isnpro.com
Thu, 1 Mar 2001 23:06:21 +0100


On a donc bien ce qu'il faut pour repartir directement sur l'instruction
fautive une fois la pile traitée, donc ? n'oublie pas de tester avec un
"hlt" après la modification de %esp. Je te conseille de rajouter dans le
handler du timer 0, un test de comparaison pour savoir si l'eip du code
interrompu pointe sur cet "hlt" et un affichage spécial pour ce cas. Mieux
fait une boucle de ce genre :

.global our_hlt
0:
    mov $0,%esp // suppose que 0 est une adresse invalide
our_hlt:
    hlt
    jmp   0f

comme ça, on saura si l'irq 0 est quand même exécuté après modification de
l'esp.

Dans le double fault, tu corrige l'esp pour qu'il pointe sur une pile static
et non sur une pile dynamique si tu ne veux pas exploser la mémoire à cause
de la boucle infinie crée par le label 0.

Dans l'irq du timer 0, si eip == &our_hlt, t'affiche d'une autre couleur !!!
(ça signifiera qu'après le double fault, l'irq est quand même appelé, et
c'est ce qu'il y a de mieux pour nous.

Sinon, ben rien ne s'affichera et les IRQ seront perdu après les double
faults, et alors on ne pourra tout avoir :(.

A la bonne codure !!!


----- Original Message -----
From: "Thomas Petazzoni" <thomas.petazzoni@ifrance.com>
To: <kos-dev@enix.org>
Sent: Thursday, March 01, 2001 12:20 PM
Subject: [Kos-dev] commit...


> salut,
>
> j'ai reposte qques modifs (messages de debug). attention ceci ne marche
> pas avec bochs, si vous n'avez pas patche bochs avec un patch que je
> n'ai pas encore poste !
>
> mais une fois que c'est fait, on se rend compte que le back link du TSS
> du double fault pointe bien sur le System TSS, et que les valeurs de
> celui-ci ont bien ete mises a jour.
>
> je poste le patch bientot :o)
>
> amicalement,
>
> thomas
>
> PS pour d2 : a la fin du commit, NNTP Server initialisation Error : Bad
> file descriptor
>
>
> --
> PETAZZONI Thomas
> thomas.petazzoni@meridon.com     UIN : 34937744
> Projet KOS : http://kos.enix.org
>
> _______________________________________________
> Kos-dev mailing list
> Kos-dev@yoda.isnpro.com
> http://the-doors.enix.org/cgi-bin/mailman/listinfo/kos-dev
>