[Kos-dev] plus d'info sur le double fault

Thomas Petazzoni kos-dev@enix.org
Sat, 07 Apr 2001 16:01:58 +0200


salut,

apparemmment le thread qui devrait generer le double fault ne le genere
que la premiere fois :

TEST IRQ LAUNCHED !! 1
::exception(14)
PAGE FAULT !!!
::exception(14)
PAGE FAULT !!!
We had two exceptions ... first was 2 and second was 2
setting curr_exception[1] to double fault
Raw TSS selector 48
Type is 9
ESP seems to be 0x5c6e97
Real EFLAGS is 0x4046
*** Dumping CPU Context ***
| ESP    = 0x5c6fdf
| EIP    = 0x0
| CS     = 0x0
| EFLAGS = 0x1000
| EAX    = 0x0
| EBX    = 0x0
| ECX    = 0x0
| EDX    = 0x0
| ESI    = 0x0
| EDI    = 0x0
*** End of CPU Context ***
old esp system tss addr is 0xdeadbeef
irq lost.. or not ?
After 0
TEST IRQ LAUNCHED !! 1
adding the threads ... Adios from primary thread

pour savoir ca j'ai fait la chose suivante : j'ai rajoute un champ name
dans la structure de chaque thread. a la creation du thread via
create_kernel_thread je demande un nom que je copie dans ce champ name.
au niveau du scheduler, je compare le nom du thread qui est elu a celui
du thread de test de l'irq. et quand c'est celui ci qui est elu, il
affiche TEST IRQ LAUNCHED !!. et apparemment la premiere fois, le
lancement du thread genere un double fault mais pas la deuxieme : le
systeme poursuit peinard son execution . . .

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